Jump to content

[SOLVED] PHP/XSLT link error


Recommended Posts

Hi, I'm trying to compile php-5.2.1 on Suse 9.2 with xslt support and not having any luck (over the past few days).  I receive the following error during the link stage (-o sapi/cli/php)...

 

/bin/sh /home/wwwrun/src/src/php-5.2.1/libtool --silent --preserve-dup-deps --mode=link gcc -export-dynamic -I/usr/include -pthread  -L/usr/local/php5_suse92/lib -L/usr/ssl/lib -L/usr/local/php5_suse92/lib/mysql -L/usr/local/php5_suse92 -lrt -R /usr/local/php5_suse92/lib -R /usr/ssl/lib -R /usr/local/php5_suse92/lib/mysql -R /usr/local/php5_suse92 ext/libxml/libxml.lo ext/openssl/openssl.lo ext/openssl/xp_ssl.lo ext/pcre/pcrelib/pcre_chartables.lo ext/pcre/pcrelib/pcre_ucp_searchfuncs.lo ext/pcre/pcrelib/pcre_compile.lo ext/pcre/pcrelib/pcre_config.lo ext/pcre/pcrelib/pcre_exec.lo ext/pcre/pcrelib/pcre_fullinfo.lo ext/pcre/pcrelib/pcre_get.lo ext/pcre/pcrelib/pcre_globals.lo ext/pcre/pcrelib/pcre_info.lo ext/pcre/pcrelib/pcre_maketables.lo ext/pcre/pcrelib/pcre_ord2utf8.lo ext/pcre/pcrelib/pcre_refcount.lo ext/pcre/pcrelib/pcre_study.lo ext/pcre/pcrelib/pcre_tables.lo ext/pcre/pcrelib/pcre_try_flipped.lo ext/pcre/pcrelib/pcre_valid_utf8.lo ext/pcre/pcrelib/pcre_version.lo ext/pcre/pcrelib/pcre_xclass.lo ext/pcre/php_pcre.lo ext/zlib/zlib.lo ext/zlib/zlib_fopen_wrapper.lo ext/zlib/zlib_filter.lo ext/ctype/ctype.lo ext/curl/interface.lo ext/curl/multi.lo ext/curl/streams.lo ext/date/php_date.lo ext/date/lib/astro.lo ext/date/lib/dow.lo ext/date/lib/parse_date.lo ext/date/lib/parse_tz.lo ext/date/lib/timelib.lo ext/date/lib/tm2unixtime.lo ext/date/lib/unixtime2tm.lo ext/dbase/dbf_head.lo ext/dbase/dbf_rec.lo ext/dbase/dbf_misc.lo ext/dbase/dbf_ndx.lo ext/dbase/dbase.lo ext/dom/php_dom.lo ext/dom/attr.lo ext/dom/document.lo ext/dom/domerrorhandler.lo ext/dom/domstringlist.lo ext/dom/domexception.lo ext/dom/namelist.lo ext/dom/processinginstruction.lo ext/dom/cdatasection.lo ext/dom/documentfragment.lo ext/dom/domimplementation.lo ext/dom/element.lo ext/dom/node.lo ext/dom/string_extend.lo ext/dom/characterdata.lo ext/dom/documenttype.lo ext/dom/domimplementationlist.lo ext/dom/entity.lo ext/dom/nodelist.lo ext/dom/text.lo ext/dom/comment.lo ext/dom/domconfiguration.lo ext/dom/domimplementationsource.lo ext/dom/entityreference.lo ext/dom/notation.lo ext/dom/xpath.lo ext/dom/dom_iterators.lo ext/dom/typeinfo.lo ext/dom/domerror.lo ext/dom/domlocator.lo ext/dom/namednodemap.lo ext/dom/userdatahandler.lo ext/filter/filter.lo ext/filter/sanitizing_filters.lo ext/filter/logical_filters.lo ext/filter/callback_filter.lo ext/ftp/php_ftp.lo ext/ftp/ftp.lo ext/hash/hash.lo ext/hash/hash_md.lo ext/hash/hash_sha.lo ext/hash/hash_ripemd.lo ext/hash/hash_haval.lo ext/hash/hash_tiger.lo ext/hash/hash_gost.lo ext/hash/hash_snefru.lo ext/hash/hash_whirlpool.lo ext/hash/hash_adler32.lo ext/hash/hash_crc32.lo ext/iconv/iconv.lo ext/json/json.lo ext/json/utf8_to_utf16.lo ext/json/utf8_decode.lo ext/json/JSON_parser.lo ext/ldap/ldap.lo ext/mcrypt/mcrypt.lo ext/mssql/php_mssql.lo ext/mysql/php_mysql.lo ext/mysqli/mysqli.lo ext/mysqli/mysqli_api.lo ext/mysqli/mysqli_prop.lo ext/mysqli/mysqli_nonapi.lo ext/mysqli/mysqli_fe.lo ext/mysqli/mysqli_report.lo ext/mysqli/mysqli_repl.lo ext/mysqli/mysqli_driver.lo ext/mysqli/mysqli_warning.lo ext/mysqli/mysqli_exception.lo ext/mysqli/mysqli_embedded.lo ext/posix/posix.lo ext/reflection/php_reflection.lo ext/session/session.lo ext/session/mod_files.lo ext/session/mod_mm.lo ext/session/mod_user.lo ext/shmop/shmop.lo ext/simplexml/simplexml.lo ext/snmp/snmp.lo ext/spl/php_spl.lo ext/spl/spl_functions.lo ext/spl/spl_engine.lo ext/spl/spl_iterators.lo ext/spl/spl_array.lo ext/spl/spl_directory.lo ext/spl/spl_sxe.lo ext/spl/spl_exceptions.lo ext/spl/spl_observer.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/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/sha1.lo ext/standard/user_filters.lo ext/standard/uuencode.lo ext/standard/filters.lo ext/standard/proc_open.lo ext/standard/streamsfuncs.lo ext/standard/http.lo ext/sysvsem/sysvsem.lo ext/tokenizer/tokenizer.lo ext/xml/xml.lo ext/xml/compat.lo ext/xmlreader/php_xmlreader.lo ext/xmlwriter/php_xmlwriter.lo ext/xsl/php_xsl.lo ext/xsl/xsltprocessor.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/network.lo main/php_open_temporary_file.lo main/php_logos.lo main/output.lo main/streams/streams.lo main/streams/cast.lo main/streams/memory.lo main/streams/filter.lo main/streams/plain_wrapper.lo main/streams/userspace.lo main/streams/transports.lo main/streams/xp_socket.lo main/streams/mmap.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_ts_hash.lo Zend/zend_stream.lo Zend/zend_iterators.lo Zend/zend_interfaces.lo Zend/zend_exceptions.lo Zend/zend_strtod.lo Zend/zend_objects.lo Zend/zend_object_handlers.lo Zend/zend_objects_API.lo Zend/zend_default_classes.lo Zend/zend_execute.lo ext/pcntl/pcntl.lo ext/pcntl/php_signal.lo sapi/cli/php_cli.lo sapi/cli/php_cli_readline.lo sapi/cli/getopt.lo main/internal_functions_cli.lo -lcrypt -lexslt -lcrypt -lmysqlclient -lsybdb -lmcrypt -lltdl -lldap -llber -lssl -lcrypto -lcurl -lz -lssl -lcrypto -lresolv -lm -ldl -lnsl -lxml2 -lz -lm -lcurl -lz -lssl -lcrypto -ldl -lxml2 -lz -lm -lmysqlclient -lz -lcrypt -lnsl -lm -lxml2 -lz -lm -lnetsnmp -lcrypto -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lxslt -lxml2 -lz -lm -lcrypt  -o sapi/cli/php

ext/libxml/.libs/libxml.o(.text+0xe30): In function `zm_activate_libxml':

: undefined reference to `xmlParserInputBufferCreateFilenameDefault'

ext/libxml/.libs/libxml.o(.text+0xe40): In function `zm_activate_libxml':

: undefined reference to `xmlOutputBufferCreateFilenameDefault'

ext/libxml/.libs/libxml.o(.text+0xe8a): In function `zm_deactivate_libxml':

: undefined reference to `xmlParserInputBufferCreateFilenameDefault'

ext/libxml/.libs/libxml.o(.text+0xe97): In function `zm_deactivate_libxml':

: undefined reference to `xmlOutputBufferCreateFilenameDefault'

ext/xmlreader/.libs/php_xmlreader.o(.text+0x16f3): In function `zim_xmlreader_setSchema':

: undefined reference to `xmlTextReaderSchemaValidate'

ext/xmlwriter/.libs/php_xmlwriter.o(.text+0x1a4c): In function `zif_xmlwriter_end_dtd_element':

: undefined reference to `xmlTextWriterEndDTDElement'

ext/xmlwriter/.libs/php_xmlwriter.o(.text+0x1c23): In function `zif_xmlwriter_end_dtd_attlist':

: undefined reference to `xmlTextWriterEndDTDAttlist'

ext/xmlwriter/.libs/php_xmlwriter.o(.text+0x1f50): In function `zif_xmlwriter_end_dtd_entity':

: undefined reference to `xmlTextWriterEndDTDEntity'

/usr/local/php5_suse92/lib/libxslt.so: undefined reference to `xmlNewDocPI'

/usr/local/php5_suse92/lib/libxslt.so: undefined reference to `xmlModuleClose'

/usr/local/php5_suse92/lib/libxslt.so: undefined reference to `xmlXPathCompiledEvalToBoolean'

/usr/local/php5_suse92/lib/libxslt.so: undefined reference to `xmlModuleOpen'

/usr/local/php5_suse92/lib/libxslt.so: undefined reference to `xmlModuleSymbol'

/usr/local/php5_suse92/lib/libxslt.so: undefined reference to `xmlXPathContextSetCache'

collect2: ld returned 1 exit status

 

The Suse9.2 stock libxml2 and libxslt packages are not at the right version so I installed the most recent versions of each.

 

The libxslt.so file is properly linked to the new version of libxml2.so as seen by...

 

# ldd /usr/local/php5_suse92/lib/libxslt.so

        linux-gate.so.1 =>  (0xffffe000)

        libxml2.so.2 => /usr/local/php5_suse92/lib/libxml2.so.2 (0x40044000)

        libz.so.1 => /usr/local/lib/libz.so.1 (0x40155000)

        libm.so.6 => /lib/tls/libm.so.6 (0x40168000)

        libc.so.6 => /lib/tls/libc.so.6 (0x4018a000)

        libdl.so.2 => /lib/libdl.so.2 (0x4029f000)

        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

 

The libraries being linked to are the newly installed ones and not the stock ones as seen by...

 

# ls -l /usr/local/php5_suse92/lib/libxml2.so

lrwxrwxrwx  1 root root 17 Apr 28 22:13 /usr/local/php5_suse92/lib/libxml2.so -> libxml2.so.2.6.28

#  ls -l /usr/local/php5_suse92/lib/libxslt.so

lrwxrwxrwx  1 root root 17 Apr 30 18:09 /usr/local/php5_suse92/lib/libxslt.so -> libxslt.so.1.1.20

 

I also tried adding the ld.so.conf entry /usr/local/php5_suse92/lib (I ran ldconfig before the compile) but that didn't help either even though ldconfig -p showed both the stock and the new entries...

 

# ldconfig -p | grep libxml

        libxml2.so.2 (libc6) => /usr/local/php5_suse92/lib/libxml2.so.2

        libxml2.so.2 (libc6) => /usr/lib/libxml2.so.2

        libxml2.so (libc6) => /usr/local/php5_suse92/lib/libxml2.so

        libxml2.so (libc6) => /usr/lib/libxml2.so

 

# ldconfig -p | grep libxslt

        libxslt.so.1 (libc6) => /usr/local/php5_suse92/lib/libxslt.so.1

        libxslt.so.1 (libc6) => /usr/lib/libxslt.so.1

        libxslt.so (libc6) => /usr/local/php5_suse92/lib/libxslt.so

        libxslt.so (libc6) => /usr/lib/libxslt.so

 

Here are the environment variables that I define and my configure script...

 

export EXTENSION_DIR=/usr/local/php5_suse92/libexec

export CFLAGS=-pthread

export LDFLAGS=-lrt

export LD_LIBRARY_PATH=/usr/local/php5_suse92/lib

export LD_INCLUDE_PATH=/usr/local/php5_suse92/include:/usr/local/php5_suse92/include/libxml2:/usr/local/php5_suse92/include/libxslt

export LD_PRELOAD=/usr/local/php5_suse92/lib/libxml2.so:/usr/local/php5_suse92/lib/libxslt.so

 

./configure --prefix=/usr/local/php5_suse92 --mandir=/usr/local/php5_suse92/man --sysconfdir=/usr/local/php5_suse92/etc/php5 --datadir=/usr/local/php5_suse92/dat/php5 --localstatedir=/usr/local/php5_suse92/var/php5 --libexecdir=/usr/local/php5_suse92/libexec --bindir=/usr/local/php5_suse92/bin --sbindir=/usr/local/php5_suse92/sbin --exec-prefix=/usr/local/php5_suse92 --libdir=/usr/local/php5_suse92/lib --includedir=/usr/local/php5_suse92/include --oldincludedir=/usr/local/php5_suse92/include --sharedstatedir=/usr/local/php5_suse92/share/php5 --infodir=/usr/local/php5_suse92/info --disable-cgi --with-apxs2=/usr/local/php5_suse92/sbin/apxs --disable-short-tags --with-config-file-path=/usr/local/php5_suse92/etc/php5 --enable-pdo=shared --with-snmp=/usr/local/php5_suse92 --with-zlib --with-pdo-sqlite=shared --with-sqlite=shared --with-mssql=/usr/local/php5_suse92 --with-mysql=/usr/local/php5_suse92 --with-mysqli=/usr/local/php5_suse92/bin/mysql_config --enable-pcntl --enable-dbase --enable-memory-limit --enable-sysvsem --enable-posix --enable-shmop --enable-c9x-inline --with-libxml-dir=/usr/local/php5_suse92 --with-xsl=/usr/local/php5_suse92 --with-openssl --with-mcrypt=/usr/local/php5_suse92 --with-zlib=/usr/local/php5_suse92 --with-curl --enable-ftp --with-ldap=/usr/local/php5_suse92

 

I need to get this going but nothing works.  I have read many posts on this topic they all end up stating that libxslt is being linked against the stock version which it clearly is not.  Any help would be appreciated.

 

thanks

Link to comment
Share on other sites

I got the same problem while installing php-5.2.1 for HPUX and NCR MP-RAS.

Then i have installed these pkgs and tried,

•  gnu m4-1.4

•  bison-2.1

•  flex-2.5.4

•  gettext-0.14.5

•  libxml2-2.6.23

•  GNU sed-4.1.5

 

* make sure, in make file  –lpthread –lmw are added in the linker options

 

***Find the attachment, i hope this should be useful to you.

 

 

 

[attachment deleted by admin]

Link to comment
Share on other sites

  • 1 month later...

Update... my fix above did not give me access to class XSLTProcessor as I expected.

 

It appears as though the only solution in order to get xslt to compile correctly with php including class XSLTProcessor on a system which already has an older version of the xml/xslt libraries installed (i.e. Suse 9.2) is to chroot. 

 

Quite a pain actually but worth it!  Not gonna explain it here however a google search for "jailkit" should get you started nicely.  For the initiated it should only take about 4-5 hours to setup to chroot properly on a fast machine :)

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.