|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2002-10-18 13:33 UTC] dahnke at adobe dot com
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.
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Nov 02 15:00:01 2025 UTC |
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.