ID:               19983
 Comment by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Bogus
 Bug Type:         Compile Failure
 Operating System: Mac OS X 10.2
 PHP Version:      4.3.0-pre1
 New Comment:

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


Previous Comments:
------------------------------------------------------------------------

[2003-01-22 23:25:58] [EMAIL PROTECTED]

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] [EMAIL PROTECTED]

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] [EMAIL PROTECTED]

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.

------------------------------------------------------------------------

[2002-12-17 13:57:23] [EMAIL PROTECTED]

I don't think his workaround works... Putting the -lstdc++ 
on the end of the ZEND_EXTRA_LIBS variable enables 
everything to make, but I cannot make install and I 
certainly can't run with Apache... I get similar errors 
that [EMAIL PROTECTED] (above) gets.  I know this is kind 
of a 'me too' response, but I want to emphasize that there 
is NO workaround.  Thanks!

During make install:

Installing PHP CLI binary:        /usr/local/bin/
Installing PEAR environment:      /usr/local/lib/php/
dyld: /usr/local/src/build-php-4.3.0RC3/php-4.3.0RC3/sapi/
cli/php Undefined symbols:
__ZTVN10__cxxabiv117__class_type_infoE
__ZTVN10__cxxabiv120__si_class_type_infoE
__ZdaPv
__ZdlPv
__Znwm
___gxx_personality_v0
__ZSt9terminatev
__Znam
__ZTVN10__cxxabiv121__vmi_class_type_infoE
___cxa_pure_virtual
make[1]: *** [install-pear-installer] Trace/BPT trap
make: *** [install-pear] Error 2

------------------------------------------------------------------------

[2002-12-17 04:29:14] [EMAIL PROTECTED]

As the original reporter provides a work-around, I'm re-opening this
bug-report, and see if we're able to make some configure hack, that
strips all instances of -lstdc++ and adds one to the end of the linking
process.

------------------------------------------------------------------------

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

Reply via email to