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