ID: 19983 Comment by: dimo at angelhill dot net 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:
Adding the PHP_ADD_LIBRARY(stdc++) to ext/xslt/config.m4 does allow you to compile, however once a php script runs, apache dies with the same error that you get when compiling.... dyld: /usr/sbin/httpd 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 Previous Comments: ------------------------------------------------------------------------ [2004-03-04 14:13:44] php at munkyboy dot com I ran into this issue as well. I'm running PHP 4.3.4 and Sablotron 1.0.1. There is a fairly easy fix for this. in "ext/xslt/config.m4" add the line: PHP_ADD_LIBRARY(stdc++) somewhere before the line: PHP_CHECK_LIBRARY(sablot, SablotSetEncoding... don't forget to run buildconf. ------------------------------------------------------------------------ [2004-01-12 07:59:55] dave at xcalibre dot co dot uk I don't think this defect should be in a "Bogus" state - this is a confirmed defect with either the manner in which PHP or Sablotron is looking for libraries. PHP can be linked/installed fine using the LD_FLAGS=-lstdc++ environment variable during build time - however as soon as the PHP library is loaded by Apache it dies. This should either be updated in the documentation for one of these two items. ------------------------------------------------------------------------ [2003-12-09 17:59:05] goose23 at spu dot edu 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. ------------------------------------------------------------------------ [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 ------------------------------------------------------------------------ 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