ID:               19983
 Comment by:       goose23 at spu dot edu
 Reported By:      dahnke at adobe dot com
 Status:           Bogus
 Bug Type:         Compile Failure
 Operating System: Mac OS X 10.2
 PHP Version:      4.3.0-pre1
 New Comment:

I have had this problem on a number of different Mac OS 
X configurations, most recently on 10.3 w/ gcc3.3 (the 
one with the dev tools from my panther disk), Sablot
-1.0.1, expat 1.95.5-4 from fink 0.6.2-cvs, and php4-
STABLE-200312092030.

this is my configure script:
./configure --with-expat-dir=/sw --enable-xslt --with-
xslt-sablot=/usr/local

I've added -lstdc++ to my environment (setenv LD_FLAGS 
-lstdc++), to EXTRA_LDFLAGS, EXTRA_LDFLAGS_PROGRAM, 
EXTRA_LIBS, and ZEND_EXTRA_LIB, in all reasonable 
combinations.

I still get errors during sudo make install:

Installing PHP SAPI module:       cgi
Installing PHP CGI into: /usr/local/bin/
Installing PEAR environment:      /usr/local/lib/php/
dyld: /usr/local/src/php4-STABLE-200312092030/sapi/cli/
php Undefined symbols:
__ZSt9terminatev
__ZTVN10__cxxabiv117__class_type_infoE
__ZTVN10__cxxabiv120__si_class_type_infoE
__ZTVN10__cxxabiv121__vmi_class_type_infoE
__ZdaPv
__ZdlPv
__Znam
__Znwm
___cxa_pure_virtual
___gxx_personality_v0
make[1]: *** [install-pear-installer] Trace/BPT trap
make: *** [install-pear] Error 2


I am 99% sure that this is not a gcc2 vs gcc3 issue.  Is 
there anything I can do to test this possibility?  FYI, 
i'm using the same configure script and most software 
versions on OS X as on OpenBSD-3.3: OpenBSD has zero 
problems.


Previous Comments:
------------------------------------------------------------------------

[2003-03-24 21:04:59] sqlboy at playway dot net

This compile bug is in PHP 4.3.1 as well for the x86 platform. 

I was able to get PHP to build and to run under apache by installing
Sablotron 0.98RC2, then condfiguring PHP with --enable-xslt
--with-xslt-sablot, then before typing make, I added the -lstdc++ line
to ZEND_EXTRA_LIBS in the make file.  After building, apache starts
ok.

I'm using gcc 3.2.2, libtool 1.4.1 (1.922.2.34 2001/09/03 01:22:13) and
glibc 3.2.1.

------------------------------------------------------------------------

[2003-01-24 15:50:47] llaguno at rogers dot com

Notes: fix for the libsablot.so compile errors during php-4.3.0 make:

[sablotron-0.97 with php-4.3.0 on redhat linux 8.0]

1. rpm -U expat-1.95.5-1.i386.rpm
2. rpm -i sablotron-0.97-1.i386.rpm
3. rpm -i sablotron-devel-0.97-1.i386.rpm
4. rpm -e php   //current version 4.2.2
5. remove the packages dependent on php-4.2.2 if preceding command
fails because of dependencies

6. install httpd-2.0.44
// this fixes the error related to missing file 'instdso'. note that
apache2 

7. add following line to /root/.bashrc
export LDFLAGS='-lstdc++'

// as explained earlier in this bug report, the undefined references
are in the stdc++ libraries. Pavel Hlavnicka from Ginger Alliance
suggested exporting the c++ compiler flag.

7. cd /usr/local/php/php-4.3.0
8. .configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
--with-zlib --with-dom --with-gd --enable-xslt --with-xslt-sablot
--with-sablot-js
9. make
10. make install

------------------------------------------------------------------------

[2003-01-22 23:25:58] llaguno at rogers dot com

Compile errors with Sablotron during php make on Redhat linux 8.0

I was just wondering if you can help me figure out the following errors

during php make.  


Note that environment is as follows:

expat-1.95.5-1

sablotron-0.97-1

php-4.2.2-8.0.5 (current, want to upgrade to 4.3.0)

httpd-2.0.40-8 (redhat linux 8.0)

The  problem occurs even after I erased the php-4.2 rpm.
---------------------





 >  cd /usr/local/php/php-4.3.0

 > ./configure --enable-xslt --with-xslt-sablot --with-zlib

 ....

 > make

ext/mysql/libmysql/my_tempnam.o: In function `my_tempnam':

/usr/local/php/php-4.3.0/ext/mysql/libmysql/my_tempnam.c:103: the use
of 

`tempnam' is dangerous, better use `mkstemp'

/usr/local/lib/libsablot.so: undefined reference to `operator 

new[](unsigned)'

/usr/local/lib/libsablot.so: undefined reference to `vtable for 

__cxxabiv1::__si_class_type_info'

/usr/local/lib/libsablot.so: undefined reference to `operator
delete(void*)'

/usr/local/lib/libsablot.so: undefined reference to
`__gxx_personality_v0'

/usr/local/lib/libsablot.so: undefined reference to
`__cxa_pure_virtual'

/usr/local/lib/libsablot.so: undefined reference to `vtable for 

__cxxabiv1::__class_type_info'

/usr/local/lib/libsablot.so: undefined reference to `operator 

delete[](void*)'

/usr/local/lib/libsablot.so: undefined reference to `vtable for 

__cxxabiv1::__vmi_class_type_info'

/usr/local/lib/libsablot.so: undefined reference to `operator
new(unsigned)'

collect2: ld returned 1 exit status

make: *** [sapi/cgi/php] Error 1




> make install  --> same results as above

I would really appreciate your help.  



Thanks in advance, Manny

------------------------------------------------------------------------

[2002-12-27 15:07:38] rwelti at yahoo dot com

Just got the first 4.3.0 release and cannot build
under Solaris due to "line too long" when attempting 
make.  That is followed, of course, with millions of
undefined symbols.

my configure:

./configure \
  --with-apache=/apa/ \
  --with-jpeg-dir=/usr/local \
  --with-zlib-dir=/usr/local \
  --with-jpeg-dir=/usr/local \
  --with-png-dir=/usr/local \
  --with-gd \
  --with-oci8=/export/home/orahome \
  --enable-ftp \
  --enable-sockets \
  --with-pdflib \
  --with-ming >configure.log 2>&1 &
all goes fine until attempt "make"
(both solaris and gnu makes same)

NO DICE.

------------------------------------------------------------------------

[2002-12-18 11:55:34] [EMAIL PROTECTED]

The problem __really__ is, combining gcc3 and gcc2 suite, as outlined
in this document:
http://fink.sourceforge.net/doc/porting/preparing.php

Secondly - if any warnings/errors occur as mentioned in the document
above (libtool stuff), the links to patches for those are provided. PHP
already has this covered.

The following works:
1) configure expat, using gcc2 explicetely:
CC=gcc2 \
./configure \
        --prefix=/your/prefix

2) configure libiconv, the same way:
CC=gcc2 \
./configure \
        --prefix=/your/prefix

3) configure Sablotron (tested with 0.97RC2) using:
CC=gcc2 \
CXX=g++2 \
./configure \
        --prefix=/your/prefix \
        --with-expat-prefix=/your/prefix \
        --with-iconv-prefix=/your/prefix

PHP can then be configured, using:
CC=gcc2 \
CXX=g++2 \
./configure \
        --prefix=/your/prefix \
        --disable-cgi \
        --enable-xslt \
        --with-xslt-sablot=/your/prefix \
        --with-expat-dir=/your/prefix \
        --with-iconv-dir=/your/prefix 

I guess the same applies to gcc3, but you have to make sure, that all
libs you include, are compiled with gcc3/g++3 then.

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/19983

-- 
Edit this bug report at http://bugs.php.net/?id=19983&edit=1

Reply via email to