Cannot build libphp5.so with the right version of libxml2

From: Date: Wed, 21 Sep 2011 11:59:52 +0000
Subject: Cannot build libphp5.so with the right version of libxml2
Groups: php.install 
Request: Send a blank email to php-install+get-20106@lists.php.net to get a copy of this message
Hi, I'm installing PHP 5.3.6 with Apache HTTP 2.2.21 on a 64-bit centos platform (Linux 2.6.18-194.el5) to use with the Horde 4 platform (webmail). The system version of libxml is 2.6.26 , it is installed under /usr/lib64 (and /usr/lib), but Horde needs a 2.7 release of libxml, so I installed release 2.7.8 under /usr/local/lib (with includes under /usr/local/includes/libxml2) but libphp5.so gets compiled with the includes from /usr/local/includes/libxml2 and linked with /usr/lib64/libxml2.so and I don't know how to convince ld to use the right library. I don't have any error message from configure or make but httpd does not start with the following message: --------------------------------------------------------- Cannot load /www/httpd/modules/libphp5.so into server: /www/httpd/modules/libphp5.so: undefined symbol: xmlTextReaderSetup --------------------------------------------------------- I checked that xmlTextReaderSetup is defined in the includes for release 2.7 of libxml but not 2.6 Here is how I run configure: ------------------------------------------------------------ ./configure --prefix=/www/php-5.3.6 --with-apxs2=/www/httpd-2.2.21/bin/apxs \
              --with-openssl --with-ldap \
              --with-mysql \
              --enable-ftp \
              --with-libxml-dir=/usr/local/lib \
              --with-libdir=lib64 \
              --with-zlib \
              --with-imap --with-mcrypt  --with-kerberos --with-imap-ssl \
              --with-gd \
              --with-gettext --with-config-file-path=/www/php-5.3.6 \
              --with-oci8=instantclient,/www/oracle --with-iconv --enable-mbstring=all --enable-mbregex
------------------------------------------------------------- (if I remove "--with-libdir=lib64" , I get a make error for libmysqlclient which tries to use /usr/lib/mysql/libmysqlclient.so.15) Here is the output of lld for libphp5.so : ------------------------------------------------------------- ldd libs/libphp5.so
        linux-vdso.so.1 =>  (0x00007fffd0948000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00002acff2a22000)
        libc-client.so.1 => /usr/lib64/libc-client.so.1 (0x00002acff2c5b000)
        librt.so.1 => /lib64/librt.so.1 (0x00002acff2f2f000)
        libmysqlclient.so.15 => /usr/lib64/mysql/libmysqlclient.so.15 (0x00002acff3138000)
        libmcrypt.so.4 => /usr/lib64/libmcrypt.so.4 (0x00002acff34aa000)
        libltdl.so.3 => /usr/lib64/libltdl.so.3 (0x00002acff36db000)
        libldap-2.3.so.0 => /usr/lib64/libldap-2.3.so.0 (0x00002acff38e2000)
        liblber-2.3.so.0 => /usr/lib64/liblber-2.3.so.0 (0x00002acff3b1d000)
        libpam.so.0 => /lib64/libpam.so.0 (0x00002acff3d2b000)
        libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x00002acff3f36000)
        libz.so.1 => /usr/lib64/libz.so.1 (0x00002acff415b000)
        libm.so.6 => /lib64/libm.so.6 (0x00002acff436f000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00002acff45f2000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x00002acff47f7000)
        libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00002acff4a0f000)
        libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00002acff4c3d000)
        libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00002acff4ed3000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00002acff50f8000)
        libssl.so.6 => /lib64/libssl.so.6 (0x00002acff52fa000)
        libcrypto.so.6 => /lib64/libcrypto.so.6 (0x00002acff5547000)
        libclntsh.so.10.1 => /www/oracle/libclntsh.so.10.1 (0x00002acff5898000)
        libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00002acff6caa000)
        libc.so.6 => /lib64/libc.so.6 (0x00002acff6fe8000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00002acff7340000)
        /lib64/ld-linux-x86-64.so.2 (0x000000310a200000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00002acff755c000)
        libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x00002acff7771000)
        libaudit.so.0 => /lib64/libaudit.so.0 (0x00002acff798a000)
        libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00002acff7ba3000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00002acff7dab000)
        libnnz10.so => /www/oracle/libnnz10.so (0x00002acff7fae000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00002acff844f000)
        libsepol.so.1 => /lib64/libsepol.so.1 (0x00002acff8668000)
------------------------------------------------------------------------------------ Here are the lines of Makefile concerning paths : ------------------------------------------------------------- EXTRA_LDFLAGS = -avoid-version -module -L/usr/local/lib -L/usr/kerberos/lib64 -L/usr/lib64/mysql -L/www/oracle EXTRA_LDFLAGS_PROGRAM = -L/usr/local/lib -L/usr/kerberos/lib64 -L/usr/lib64/mysql -L/www/oracle EXTRA_LIBS = -lcrypt -lc-client -lcrypt -lrt -lmysqlclient -lmcrypt -lltdl -lldap -llber -lcrypt -lpam -lpng -lz -lz -lrt -lm -ldl -lnsl -lxml2 -lz -lm -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lssl -lcrypto -ldl -lz -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lssl -lcrypto -ldl -lz -lclntsh -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt ZEND_EXTRA_LIBS = INCLUDES = -I/www/php-5.3.6-src/ext/date/lib -I/www/php-5.3.6-src/ext/ereg/regex -I/usr/local/include/libxml2 -I/usr/kerberos/include -I/usr/include/imap -I/www/php-5.3.6-src/ext/mbstring/oniguruma -I/www/php-5.3.6-src/ext/mbstring/libmbfl -I/www/php-5.3.6-src/ext/mbstring/libmbfl/mbfl -I/usr/include/mysql -I/www/oracle/sdk/include -I/www/php-5.3.6-src/ext/sqlite3/libsqlite -I$(top_builddir)/TSRM -I$(top_builddir)/Zend EXTRA_INCLUDES = INCLUDE_PATH = .:/www/php-5.3.6/lib/php INSTALL_IT = $(mkinstalldirs) '$(INSTALL_ROOT)/www/httpd-2.2.21/modules' && $(mkinstalldirs) '$(INSTALL_ROOT)/www/httpd-2.2.21/conf' && /www/httpd-2.2.21/bin/apxs -S LIBEXECDIR='$(INSTALL_ROOT)/www/httpd-2.2.21/modules' -S SYSCONFDIR='$(INSTALL_ROOT)/www/httpd-2.2.21/conf' -i -a -n php5 libphp5.la LFLAGS = LIBTOOL = $(SHELL) $(top_builddir)/libtool --silent --preserve-dup-deps LN_S = ln -s NATIVE_RPATHS = -Wl,-rpath,/usr/local/lib -Wl,-rpath,/usr/kerberos/lib64 -Wl,-rpath,/usr/lib64/mysql -Wl,-rpath,/www/oracle PEAR_INSTALLDIR = ${exec_prefix}/lib/php PHP_BUILD_DATE = 2011-09-21 PHP_LDFLAGS = -L/usr/local/lib -L/usr/kerberos/lib64 -L/usr/lib64/mysql -L/www/oracle PHP_LIBS = OVERALL_TARGET = libphp5.la PHP_RPATHS = -R /usr/local/lib -R /usr/kerberos/lib64 -R /usr/lib64/mysql -R /www/oracle PHP_SAPI = apache2handler PHP_VERSION = 5.3.6 PHP_VERSION_ID = 50306 SHELL = /bin/sh SHARED_LIBTOOL = $(LIBTOOL) ------------------------------------------------------------------------------------------------ If someone could please help me build the right libphp5.so module, I would would be very grateful. Thank you for reading to the end of this long message and for helping me. Francoise Koenig

Attachment: [text/x-vcard] jost.vcf
« previous php.install (#20106) next »