ID: 19983 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Feedback Bug Type: Compile Failure Operating System: Mac OS X 10.2 PHP Version: 4.3.0-pre1 New Comment:
Additionally: which libtool are you using? In the current CVS version of libtool ('libtool 1.4e'), there are a number of fixes regarding to C++ support. Additionally - set CFLAGS=-O0 to ensure that gcc 3.x is not breaking code, during it's optimisation. However - if the work-around you are describing is the only thing that does work, we will look into it. Previous Comments: ------------------------------------------------------------------------ [2002-10-18 17:27:15] [EMAIL PROTECTED] Let's first make the configure line correcT: please remove: --enable-sablot --enable-sablot-errors-descriptive These belong to the extinct version of the extension. If you are using the latest snapshot, this options should not list in the: ./configure --help output. ------------------------------------------------------------------------ [2002-10-18 17:10:25] [EMAIL PROTECTED] Which sablotron version? ------------------------------------------------------------------------ [2002-10-18 16:51:03] [EMAIL PROTECTED] I tried the latest version. The same problem occurs. ------------------------------------------------------------------------ [2002-10-18 15:50:55] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-latest.zip ------------------------------------------------------------------------ [2002-10-18 13:33:06] [EMAIL PROTECTED] When I try to include Sablotron support, I am unable to link without modifying the Makefile. I am trying to build on Mac OS X v10.2 (Jaguar) with gcc v3.1. My configure line looks like this: ./configure \ --prefix=/DCServers/php_server/php \ --enable-sablot-errors-descriptive \ --with-sablot \ --with-xslt-sablot \ --enable-xslt \ --enable-debug When I run make I get the following error: ld: warning -L: directory name (/lib) does not exist ld: Undefined symbols: vtable for __cxxabiv1::__class_type_info vtable for __cxxabiv1::__si_class_type_info operator delete[](void*) operator delete(void*) operator new(unsigned long) ___gxx_personality_v0 operator new[](unsigned long) std::terminate() vtable for __cxxabiv1::__vmi_class_type_info ___cxa_pure_virtual make: *** [libs/libphp4.bundle] Error 1 However, if I edit the Makefile between the configure and make steps, such that I add the lstdc++ library to the end of the variable ZEND_EXTRA_LIBS everything works. There seems to be an ordering problem with the lstdc++ library which makes it necessary to have it be the last library included before the -o part of the link commands. I tried to set various flags on the configure line, like ZEND_EXTRA_LIBS or LDFLAGS, to "-lstdc++", but could not get the lstdc++ library to be the absolutely last thing linked. Please let me know if I can be of assistance with debugging this. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=19983&edit=1