I have a Solaris 7 platform and I have already install apache 1.3.20 and
MySQL 3.23.39 on it. I'm compiling apache with gcc 2.96

When I try to start httpd I get the following...
Cannot load /usr/lib/apache/libphp4.so into server: ld.so.1: /usr/sbin/httpd: fatal: 
libmysqlclient.so.10: open failed: No such file or directory

I search and came across this URL...
http://www.mysql.com/doc/S/o/Solaris.html

If I do: ln -s /usr/lib/libmysqlclient.10.so /usr/lib/mysql/libmysqlclient.so.10
then it will work. But I don't want to do this because its being compiled as a
package for installation on many machines and I don't want to confuse the installation
of a previous package (mysql). The removal of mysql would leave a dangling link.

As you can see I have my mysql libraries installed under /usr/lib/mysql.
the LD_RUN_PATH solution is also not acceptable because that would mean I'ld
have to have the php package mess with the S99httpd script and again this would
confuse/mess with a previous packages files.

What I want to do is build and configure PHP so that it knows to get the
libmysqlclient.so.10 library from /usr/lib/mysql instead of /usr/lib.
I have lots of packages I need to install and if I let everythings libraries
fall into /usr/lib without imposing some structure on the machines will be
a nightmare to maintain.

Could somebody please tell me what I have to do during the php configuration
stage to get php to load libmysqlclient.so.10 from /usr/lib/mysql instead of
/usr/lib?

I have tried:

        EXTRA_LDFLAGS="-L/usr/lib/mysql" ./configure  \
                --with-layout=GNU \
                --prefix=/usr \
                --libexecdir=/usr/lib/php \
                --sysconfdir=/etc/php \
                --datadir=/usr/share/php \
                --sharedstatedir=/var/php \
                --localstatedir=/var/php \
                --mandir=/usr/share/man \
                --with-apxs \
                --enable-safe-mode \
                --with-openssl \
                --enable-magic-quotes \
                --with-zlib \
                --enable-dba=shared \
                --with-regexp=php \
                --with-mysql=/usr \
                --enable-sockets \
                --enable-sysvsem \
                --enable-sysvshm \
                --enable-wddx \
                --disable-debug \
                --with-config-file-path=/etc/php \
                --with-exec-dir=/usr/lib/php \
                --enable-pic \
                --with-ttf \
                --enable-inline-optimization
        make
        make install


and I have also tried

        EXTRA_LDFLAGS="-Wl,r/usr/lib/mysql" ./configure  \
                --with-layout=GNU \
                --prefix=/usr \
                --libexecdir=/usr/lib/php \
                --sysconfdir=/etc/php \
                --datadir=/usr/share/php \
                --sharedstatedir=/var/php \
                --localstatedir=/var/php \
                --mandir=/usr/share/man \
                --with-apxs \
                --enable-safe-mode \
                --with-openssl \
                --enable-magic-quotes \
                --with-zlib \
                --enable-dba=shared \
                --with-regexp=php \
                --with-mysql=/usr \
                --enable-sockets \
                --enable-sysvsem \
                --enable-sysvshm \
                --enable-wddx \
                --disable-debug \
                --with-config-file-path=/etc/php \
                --with-exec-dir=/usr/lib/php \
                --enable-pic \
                --with-ttf \
                --enable-inline-optimization
        make
        make install

And I have also tried -Wl,R (that seemed more sane while I was reading the
ld manual.) and I have tried various parent directories of /usr/lib/mysql as well.
The latter configure example won't compile at all because it complains about 
-lmysqlclient
missing. The Former compiles fine but doesn't run.

This is confusing... How come the package can be compiled and it links fine
without any of this extra flags bit but when it runs it doesn't find what it
was linked against?

And as a side note... When you do
  make INSTALL_ROOT=/somedir install
for PHP everything works fine except that it modifies /etc/httpd/httpd.conf
instead of /somedir/etc/httpd/httpd.conf which I think may just be a simple makefile
mistake.

Thanks for any help,

- Jeff

-- 
PHP Install Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to