> > I've committed the core changes to add --with-libdir and updated
most of
> > the extensions which I could test here.
> >
> > Hans, can you test out HEAD on your SLES box?  You should just use
> > --with-libdir=lib64 and then e.g. --with-mysql=/usr will correctly
pick
> > up the system MySQL libraries in /usr/lib64.  *Don't* pass
/usr/lib64
> > directly in any --with-foo= parameters, that won't work.  Let me
know if
> > there are any remaining problems.
> 
> Things look to work in the latest CVS checkouts (2004-12-12) of both
> php4 and php5.  I've typically been using this ./configure for
testing:
> 
> ./configure --prefix=/usr/local/php
> --with-apxs=/usr/local/apache/bin/apxs --with-openssl --with-zlib
> --with-bz2
> 
> A quick recap:
> 
> -- released PHP versions (4.3.9 and 5.0.2) can't locate any libs not
in
> /lib or /usr/lib.  For 64bit systems, which put 64bit versions of
> libraries in /lib64 and /usr/lib64, ./configure or compile breaks.
> 
> -- the latest RCs of both 4.3.10 and 5.0.3 work properly, and will
> always use libs in /lib64 or /usr/lib64, and ./configure and compile
> work correctly.
> 
> > To everyone else, the changes should make no difference if
--with-libdir
> > isn't used but please shout at me if I broke something...
> 
> One caveat, however, is that --with-libdir doesn't seem to have any
> effect.  In both 4 and 5 CVS versions, supplying --with-libdir=lib64,
> --with-libdir=lib, or not specifying it all, have no effect.  lib64
> libraries are always used.
> 
> While an academic problem (ie, why would I want to specify lib on a
> lib64 system), there doesn't seem to be any way to force the 32 bit
libs
> on a 64bit system.  Even if both 32bit and 64bit versions of a library
> exist on the system, the 64bit libs will always be used.
> 
> A strange, unrelated problem.  After a successful make, a make install
> fails for both 4 and 5 from CVS.  The error:
> 
> cp libs/libphp4.so /usr/local/apache/libexec/libphp4.so
> cp: cannot stat `libs/libphp4.so': No such file or directory
> 
> When I look at libs, the only file is libphp4.  A rename of libphp4 to
> libphp4.so and then make install works.  For PHP 5, this is of course
> libphp5.  Any insight into this would be appreciated.
> 
> Thanks Joe and everyone - this seems to get things working for both 4
> and 5.  I'm going to continue testing, and then document all of this
for
> future generations, and will keep you in the loop if something else
> looks wrong.

Some more interesting things that threw me off at first.  While 4.3.10
and 5.0.3 do handle lib64 much better than previous versions, and will
compile with the basic extensions enabled on a lib64 only system, only
HEAD really implements --with-libdir.  These versions will break when
more extensions are enabled.

On HEAD, with-libdir has a significant effect with some of the
extensions.

However, with HEAD as of two minutes ago, it appears that the GD
extension isn't fully aware of PHP_LIBDIR.  The supporting jpeg, png,
xpm, etc. libs are found correctly under /usr/lib64, but libgd itself
isn't.

Looking at ext/gd/config.m4, the trouble might be around the for loop on
line 366 (there's no hint of PHP_LIBDIR).  This results in the
./configure time error of:

configure: error: Unable to find libgd.(a|so) anywhere under /usr

Even though:

# ldconfig -p | grep -i libgd
        libgd.so.2 (libc6,x86-64) => /usr/lib64/libgd.so.2
        libgd.so (libc6,x86-64) => /usr/lib64/libgd.so

If I take the GD stuff out of ./configure, I then am using this:

./configure --with-libdir=lib64 --prefix=/usr/local/php \
--with-apxs=/usr/local/apache/bin/apxs \
--with-openssl \
--with-zlib \
--enable-bcmath \
--with-bz2 \
--enable-calendar \
--with-curl \
--enable-dio \
--enable-exif \
--enable-ftp \
--with-gettext \
--with-gmp \
--with-mcrypt \
--with-mhash \
--with-mysql=/usr \
--with-mysqli=/usr/bin/mysql_config \
--enable-shmop \
--enable-soap \
--enable-sockets \
--without-sqlite \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-xmlrpc \
--with-xsl


Which works great, and looks like it wants to compile; except for the
seemingly unrelated bug in HEAD that I noted in my previous post.

Thanks,


---
Hans Zaunere
President, Founder
New York PHP
http://www.nyphp.org

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to