php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #29396 php/sablotron - undefined symbol first reference in file
Submitted: 2004-07-26 22:43 UTC Modified: 2004-08-11 08:18 UTC
From: jmkeith at uark dot edu Assigned: ilia (profile)
Status: Not a bug Package: Compile Failure
PHP Version: 4.3.8 OS: SunOS 5.9
Private report: No CVE-ID: None
 [2004-07-26 22:43 UTC] jmkeith at uark dot edu
Description:
------------
Using Sablotron 1.0.1 configured as: 
./configure --prefix=/usr/local/Sablotron-1.0.1 
--with-expat-prefix=/usr/local/expat 
--with-iconv-prefix=/usr/local/libiconv  
--with-js-dir=/usr/local/libjs 
and 
      ln 
-s /usr/local/Sablotron-1.0.1/lib/libsablot.so /usr/lib/libsablot.so 
      ln 
-s /usr/local/Sablotron-1.0.1/lib/libsablot.a /usr/lib/libsablot.a 
      ln 
-s /usr/local/Sablotron-1.0.1/lib/libsablot.la /usr/lib/libsablot.la 
 
 
PHP Configure Line: 
./configure --prefix=/usr/local/php-4.3.8 
--with-mysql=/usr/local/mysql --with-ldap=/usr/local/ldap 
--with-config-file-path=/etc --enable-fastcgi 
--enable-libgcc --enable-calendar --enable-discard-path 
--disable-force-cgi-redirect --with-xml --enable-xslt 
--with-xslt-sablot=/usr/local/sablotron 
--with-sablot-js=/usr/local/libjs --enable-versioning 
--enable-memory-limit --enable-bcmath 
--with-curl=/usr/local/curl --with-gd 
--with-jpeg-dir=/usr/local/libjpegv6 
--with-png-dir=/usr/local/libpng --with-zlib-dir=/usr 
--with-t1lib=/usr/local/t1lib 
--with-openssl-dir=/usr/local/ssl 
--with-openssl=/usr/local/ssl --enable-session 
--with-pcre-regex=yes --with-iconv-dir=/usr/local/libiconv 
--with-zlib=yes --with-pear --with-imap --with-imap-ssl 
--with-ftp --with-expat-dir=/usr/local/expat 
 
configure works fine. 
 
make builds well until it begins linking. 

Expected result:
----------------
completed compile is expected. 

Actual result:
--------------
/bin/sh /export/home/jmkeith/work/php-4.3.8/libtool 
--silent --preserve-dup-deps --mode=link gcc 
-export-dynamic -g -O2  -L/usr/ucblib 
-L/opt/devtools-solaris/gcc-3.2.2/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2 
-L/usr/local/ssl/lib -L/usr/local/curl-7.12.0/lib 
-L/usr/local/curl/lib -L/usr/local/libjpegv6/lib 
-L/usr/local/libpng/lib -L/usr/local/t1lib/lib 
-L/usr/local/c-client -L/usr/local/ldap/lib 
-L/usr/local/mysql/lib/mysql -L/usr/local/expat/lib 
-L/usr/local/libiconv/lib -L/usr/local/sablotron/lib 
-lgcc_s -R /usr/ucblib 
-R /opt/devtools-solaris/gcc-3.2.2/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2 
-R /usr/local/ssl/lib -R /usr/local/curl-7.12.0/lib 
-R /usr/local/curl/lib -R /usr/local/libjpegv6/lib 
-R /usr/local/libpng/lib -R /usr/local/t1lib/lib 
-R /usr/local/c-client -R /usr/local/ldap/lib 
-R /usr/local/mysql/lib/mysql -R /usr/local/expat/lib 
-R /usr/local/libiconv/lib -R /usr/local/sablotron/lib 
ext/openssl/openssl.lo ext/zlib/zlib.lo 
ext/zlib/zlib_fopen_wrapper.lo ext/bcmath/bcmath.lo 
ext/bcmath/libbcmath/src/add.lo 
ext/bcmath/libbcmath/src/div.lo 
ext/bcmath/libbcmath/src/init.lo 
ext/bcmath/libbcmath/src/neg.lo 
ext/bcmath/libbcmath/src/outofmem.lo 
ext/bcmath/libbcmath/src/raisemod.lo 
ext/bcmath/libbcmath/src/rt.lo 
ext/bcmath/libbcmath/src/sub.lo 
ext/bcmath/libbcmath/src/compare.lo 
ext/bcmath/libbcmath/src/divmod.lo 
ext/bcmath/libbcmath/src/int2num.lo 
ext/bcmath/libbcmath/src/num2long.lo 
ext/bcmath/libbcmath/src/output.lo 
ext/bcmath/libbcmath/src/recmul.lo 
ext/bcmath/libbcmath/src/sqrt.lo 
ext/bcmath/libbcmath/src/zero.lo 
ext/bcmath/libbcmath/src/debug.lo 
ext/bcmath/libbcmath/src/doaddsub.lo 
ext/bcmath/libbcmath/src/nearzero.lo 
ext/bcmath/libbcmath/src/num2str.lo 
ext/bcmath/libbcmath/src/raise.lo 
ext/bcmath/libbcmath/src/rmzero.lo 
ext/bcmath/libbcmath/src/str2num.lo 
ext/calendar/calendar.lo ext/calendar/dow.lo 
ext/calendar/french.lo ext/calendar/gregor.lo 
ext/calendar/jewish.lo ext/calendar/julian.lo 
ext/calendar/easter.lo ext/calendar/cal_unix.lo 
ext/ctype/ctype.lo ext/curl/curl.lo 
ext/curl/curlstreams.lo ext/gd/gd.lo ext/gd/gdttf.lo 
ext/gd/libgd/gd.lo ext/gd/libgd/gd_gd.lo 
ext/gd/libgd/gd_gd2.lo ext/gd/libgd/gd_io.lo 
ext/gd/libgd/gd_io_dp.lo ext/gd/libgd/gd_io_file.lo 
ext/gd/libgd/gd_ss.lo ext/gd/libgd/gd_io_ss.lo 
ext/gd/libgd/gd_png.lo ext/gd/libgd/gd_jpeg.lo 
ext/gd/libgd/gdxpm.lo ext/gd/libgd/gdfontt.lo 
ext/gd/libgd/gdfonts.lo ext/gd/libgd/gdfontmb.lo 
ext/gd/libgd/gdfontl.lo ext/gd/libgd/gdfontg.lo 
ext/gd/libgd/gdtables.lo ext/gd/libgd/gdft.lo 
ext/gd/libgd/gdcache.lo ext/gd/libgd/gdkanji.lo 
ext/gd/libgd/wbmp.lo ext/gd/libgd/gd_wbmp.lo 
ext/gd/libgd/gdhelpers.lo ext/gd/libgd/gd_topal.lo 
ext/gd/libgd/gd_gif_in.lo ext/gd/libgd/xbm.lo 
ext/imap/php_imap.lo ext/ldap/ldap.lo 
ext/mysql/php_mysql.lo ext/overload/overload.lo 
ext/pcre/pcrelib/maketables.lo ext/pcre/pcrelib/get.lo 
ext/pcre/pcrelib/study.lo ext/pcre/pcrelib/pcre.lo 
ext/pcre/php_pcre.lo ext/posix/posix.lo 
ext/session/session.lo ext/session/mod_files.lo 
ext/session/mod_mm.lo ext/session/mod_user.lo 
regex/regcomp.lo regex/regexec.lo regex/regerror.lo 
regex/regfree.lo ext/standard/array.lo 
ext/standard/base64.lo ext/standard/basic_functions.lo 
ext/standard/browscap.lo ext/standard/crc32.lo 
ext/standard/crypt.lo ext/standard/cyr_convert.lo 
ext/standard/datetime.lo ext/standard/dir.lo 
ext/standard/dl.lo ext/standard/dns.lo 
ext/standard/exec.lo ext/standard/file.lo 
ext/standard/filestat.lo ext/standard/flock_compat.lo 
ext/standard/formatted_print.lo ext/standard/fsock.lo 
ext/standard/head.lo ext/standard/html.lo 
ext/standard/image.lo ext/standard/info.lo 
ext/standard/iptc.lo ext/standard/lcg.lo 
ext/standard/link.lo ext/standard/mail.lo 
ext/standard/math.lo ext/standard/md5.lo 
ext/standard/metaphone.lo ext/standard/microtime.lo 
ext/standard/pack.lo ext/standard/pageinfo.lo 
ext/standard/parsedate.lo ext/standard/quot_print.lo 
ext/standard/rand.lo ext/standard/reg.lo 
ext/standard/soundex.lo ext/standard/string.lo 
ext/standard/scanf.lo ext/standard/syslog.lo 
ext/standard/type.lo ext/standard/uniqid.lo 
ext/standard/url.lo ext/standard/url_scanner.lo 
ext/standard/var.lo ext/standard/versioning.lo 
ext/standard/assert.lo ext/standard/strnatcmp.lo 
ext/standard/levenshtein.lo 
ext/standard/incomplete_class.lo 
ext/standard/url_scanner_ex.lo 
ext/standard/ftp_fopen_wrapper.lo 
ext/standard/http_fopen_wrapper.lo 
ext/standard/php_fopen_wrapper.lo ext/standard/credits.lo 
ext/standard/css.lo ext/standard/var_unserializer.lo 
ext/standard/ftok.lo ext/standard/aggregation.lo 
ext/standard/sha1.lo ext/tokenizer/tokenizer.lo 
ext/xml/xml.lo ext/xslt/xslt.lo ext/xslt/sablot.lo 
TSRM/TSRM.lo TSRM/tsrm_strtok_r.lo 
TSRM/tsrm_virtual_cwd.lo main/main.lo main/snprintf.lo 
main/spprintf.lo main/php_sprintf.lo main/safe_mode.lo 
main/fopen_wrappers.lo main/alloca.lo main/php_scandir.lo 
main/php_ini.lo main/SAPI.lo main/rfc1867.lo 
main/php_content_types.lo main/strlcpy.lo main/strlcat.lo 
main/mergesort.lo main/reentrancy.lo main/php_variables.lo 
main/php_ticks.lo main/streams.lo main/network.lo 
main/php_open_temporary_file.lo main/php_logos.lo 
main/output.lo main/memory_streams.lo main/user_streams.lo 
Zend/zend_language_parser.lo Zend/zend_language_scanner.lo 
Zend/zend_ini_parser.lo Zend/zend_ini_scanner.lo 
Zend/zend_alloc.lo Zend/zend_compile.lo 
Zend/zend_constants.lo Zend/zend_dynamic_array.lo 
Zend/zend_execute_API.lo Zend/zend_highlight.lo 
Zend/zend_llist.lo Zend/zend_opcode.lo 
Zend/zend_operators.lo Zend/zend_ptr_stack.lo 
Zend/zend_stack.lo Zend/zend_variables.lo Zend/zend.lo 
Zend/zend_API.lo Zend/zend_extensions.lo Zend/zend_hash.lo 
Zend/zend_list.lo Zend/zend_indent.lo 
Zend/zend_builtin_functions.lo Zend/zend_sprintf.lo 
Zend/zend_ini.lo Zend/zend_qsort.lo Zend/zend_multibyte.lo 
Zend/zend_execute.lo sapi/cgi/libfcgi/fcgi_stdio.lo 
sapi/cgi/libfcgi/fcgiapp.lo sapi/cgi/libfcgi/os_unix.lo 
sapi/cgi/cgi_main.lo sapi/cgi/getopt.lo 
main/internal_functions.lo -lcrypt -lc-client -lssl 
-lcrypto -lsablot -ljs -liconv -lexpat -lexpat 
-lmysqlclient -lldap -llber -lcrypt -lpam -lt1 -lpng -lz 
-ljpeg -lcurl -lz -lssl -lcrypto -lresolv -lm -ldl 
-lsocket -lnsl -lgcc -lcurl -lssl -lcrypto -ldl -lsocket 
-lnsl -lz -lcrypt  -o sapi/cgi/php 
Undefined                       first referenced 
 symbol                             in file 
__cxa_pure_virtual                  /usr/local/Sablotron-1.0.1/lib/libsablot.so 
__gxx_personality_v0                /usr/local/Sablotron-1.0.1/lib/libsablot.so 
operator new[]
(unsigned)            /usr/local/Sablotron-1.0.1/lib/libsablot.so 
vtable for 
__cxxabiv1::__class_type_info/usr/local/Sablotron-1.0.1/lib/libsablot.so 
operator 
new(unsigned)              /usr/local/Sablotron-1.0.1/lib/libsablot.so 
vtable for 
__cxxabiv1::__si_class_type_info/usr/local/Sablotron-1.0.1/lib/libsablot.so 
operator delete[]
(void*)            /usr/local/Sablotron-1.0.1/lib/libsablot.so 
operator 
delete(void*)              /usr/local/Sablotron-1.0.1/lib/libsablot.so 
vtable for 
__cxxabiv1::__vmi_class_type_info/usr/local/Sablotron-1.0.1/lib/libsablot.so 
ld: fatal: Symbol referencing errors. No output written to 
sapi/cgi/php 
collect2: ld returned 1 exit status 
make: *** [sapi/cgi/php] Error 1 
 

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2004-07-26 23:58 UTC] jmkeith at uark dot edu
fixed summary
 [2004-07-27 12:47 UTC] tony2001@php.net
Please, try applying this patch:
http://tony2004.phpclub.net/dev/tmp/xslt.diff

don't forget to run `./buildconf --force && ./config.nice` before building PHP this time.
 [2004-08-10 18:27 UTC] jmkeith at uark dot edu
I finally figured out that the problem with linking was a result of zlib not being compiled into shared objects.  Once I acquired the precompiled version from freesunware.com, the issue was resolved.

Thank you for your assistance.
 [2004-08-11 08:18 UTC] derick@php.net
Not a bug in PHP then, but a configuration issue.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Apr 28 20:01:29 2024 UTC