I've looked everwhere for the answer to this problem. Lots of people are having the same problem and nobody has mentioned a correct and proper fix for it. namely: bash-2.03# Syntax error on line 236 of /etc/httpd/httpd.conf: 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 How, exactly, do you compile PHP so that the proper -R, -L, -l flags (or anything else needed) is done correctly so that php correctly loads /usr/lib/mysql/libmysqlclient.so.10 instead of onyl defaulting to /usr/lib/libmysqlclient.so.10?? Possible solutions (and why they aren't correct) 1) put LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/mysql export LD_LIRBRARY_PATH into whatever script you use to launch the httpd that includes mod_php. (I use /etc/rc2.d/S99httpd) This solution is undesirable for two reasons: Most importantly you are forcing to PHP to screw around with a script or file that belongs to some other package. Having PHP fiddle with a file it doesn't own and isn't directly related to should be a no-no. Second if you have to go and put LD_LIBRARY_PATH files all over the place then we don't really need a dynamic linker at all really. As I see it the whole job of ld is to figure out where libraries are and link to them without having to be told all the time how to do its job. This is backed up by the fact that I don't have to use LD_LIBRARY_PATH statements for *anything* else this implies that PHP is doing something non-standard and should be corrected. 2) Put a link from /usr/lib/libmysqlclient.so.10 to /usr/lib/mysql/libmysqlclient.so.10 This solution is wrong again for a couple of reasons: The same reason as the other solution. PHP is imposing conditions about file directory layout for files which it does not own and are not directly related to. If there needs to be link such as this then mysql should determine this and make and maintain such a link. But more importantly: If you need to put all the darn libraries is /usr/lib then you're an administration idiot. You're a double idiot if you put files in nice subdirectories AND add links for each one in /usr/lib. This would imply that you can't put libraries elsewhere and you would wind up with a\ flat file hiearachy that would resemble your mothers C:\ drive on a Windows box... Just full of junk and totally unmaintainables. Certainly not what I want to see happen with my /usr/lib. Yes, Yes, a single link to fix a single problem... no so bad. But there *must* be a better way since only PHP is causing me this headache so on philosophical level this solution should be avoided in favor of fixing php. Now the correct solution (which I cannot figure out how to do correctly) 3) compile php so that it looks for or otherwise hints to ld as to the absolute path that is needed to find the libraries it needs. If PHP can find libmysqlclient.so (which I would guess it must in order to be built otherwise configure would bomb out.) then it should be able to hint to ld during runtime as to where it found the library. With this solution PHP only screws with itself and not with the files installed by another package. This is good. This is the way it should be. I'ld love to hear some cogent arguments that contradict this. And the mysql Solaris.html page I found says that you can compile the mysql client (in this case I think "mysql client" refers to the PHP client being compiled with mysql support and not mysql itself.) with -Wl,r /usr/lib/mysql (which isn't correct because -R (not -r) is the absolute reference switch for ld according to the man page. anyhow... How, exactly, do you compile PHP so that the proper -R, -L, -l flags (or anything else needed) is done correctly so that php correctly loads /usr/lib/mysql/libmysqlclient.so.10 instead of only defaulting to /usr/lib/libmysqlclient.so.10?? I'm compiling PHP with this: EXTRA_LDFLAGS="-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 I have also tried: EXTRA_LDFLAGS="R /usr/lib/mysql/libmysqlclient.so.10" ./configure ... EXTRA_LDFLAGS="-Wl,r /usr/lib/mysql/libmysqlclient.so.10 ./configure... EXTRA_LDFLAGS="-Wl,R /usr/lib/mysql/libmysqlclient.so.10 ./configure... I have also done the same with /usr/lib/mysql substituted for /usr/lib/mysql/libmysqlclient.so.10 and I have also tried all of the above with EXTRA_CFLAGS=... None of these worked. I'm pretty much at the point of telling my web people to take a hike. I don't want to install PHP on over a hundred machines where it is going to cause me more maintenance headaches because it screws with the packages I've already installed which it shouldn't. come on, there must be a way of compiling php to get its linking right. Please, for the second time, help me figure this out. Thank you, Jeff Wiegley -- 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]