Home  |  Linux  | Mysql  | PHP  | XML
From:Kenneth Svee Date:Wed Aug 18 07:36:13 2010
Subject:Re: Problem with multiple libxml
[ dan ]

> Hello,
>
> I'm trying to compile PHP 5.3.3 on a linux system. I need to compile
> with libxml and libxslt support. The libraries I want to use are
> located under /usr/local/libxml2 To achieve my goal I run configure
> with :
>
> ./configure
> --prefix=/usr/local/apache3
> --with-apxs2=/usr/local/apache3/bin/apxs
> --with-curl
> --with-mysql=/usr
> --with-pdo-mysql=/usr
> --with-libxml-dir=/usr/local/libxml2
> --with-xsl=/usr/local/libxml2
> --enable-mbstring
> --with-mcrypt
>
> After that, I make, and make install, and apache runs fine with php.
>
> MY PROBLEM :
> ------------
> I already have older versions of libxml and libxslt located under
> /usr/local When looking at the results of phpinfo(), I can see that
> those libraries have been linked to, instead of the newer ones
> located in /usr/local/libxml2.
>
> The problem seems to arise somewhere within libtool which is called
> by the Makefile, and generates a linker invocation which explicitly
> references the old libraries with erroneous full path names
> (libexslt.so, libxslt.so and libxml2.so) :
>
> gcc -shared ext/date/.libs/php_date.o
> ... lots of .o files ...
> -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/usr/local/lib
> -Wl,--rpath -Wl,/usr/lib/mysql -Wl,--rpath -Wl,/usr/local/libxml2/lib
> -L/usr/local/lib -L/usr/lib/mysql -L/usr/local/libxml2/lib
> -lcrypt /usr/local/lib/libexslt.so
> ... lots of other sometimes redundant libraries ...
> /usr/local/lib/libxslt.so
> /usr/local/lib/libxml2.so
> ... -Wl,-soname -Wl,libphp5.so -o .libs/libphp5.so
>
> Is there any wizard out there to give me a hint how I could fix that ?

Try adding CPPFLAGS and LDFLAGS to your configure command. They should
be able to prepend your path to the RPATH in the binaries, enabling
them to find your binaries before the ones in /usr/local/lib.

Assuming you have the full install of libxml and libxslt, you should
have both a 'lib' and an 'include' directory within your install path
(/usr/local/libxml2), the flags would be added to your command and
would look something like this:

CPPFLAGS="/usr/local/libxml2/include" \
LDFLAGS="-L/usr/local/libxml2/lib -Wl,-rpath,/usr/local/libxml2/lib" \
./configure \
--prefix=/usr/local/apache3 \
--with-apxs2=/usr/local/apache3/bin/apxs \
--with-curl \
--with-mysql=/usr \
--with-pdo-mysql=/usr \
--with-libxml-dir=/usr/local/libxml2 \
--with-xsl=/usr/local/libxml2 \
--enable-mbstring \
--with-mcrypt

You may have to read up on the LDFLAGS and CPPFLAGS to get them right
for your build.

~ksvee
Navigate in group php.install at sever news.php.net
Previous Next


Your recent visits
Unable to connect to mysql database
LMPX.COM :: Linux, Mysql, Php, Xml
cvs: pecl /phar config.w32 phar.c
LMPX.COM :: Linux, Mysql, Php, Xml
Re: [PHP-DB] Re: Need Help with database output



  
© No Copyright
You are free to use Anything, but please consult your advocate before doing so as this website
also list content from other sources which may be copyrighted.
Site Maintained by Zareef Ahmed
Powered By PHP Consultants