#19983 [Com]: Compile/Link failure w/Sablotron
| From: | goose23 at spu dot edu | Date: | Tue, 09 Dec 2003 22:59:07 +0000 |
| Subject: | #19983 [Com]: Compile/Link failure w/Sablotron | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-51869@lists.php.net to get a copy of this message | ||
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] msopacua@php.net
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