|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[1999-06-12 15:13 UTC] jim at cvs dot php dot net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Nov 18 20:00:01 2025 UTC |
I'm having this problem both with 3.0.7 and the latest CVS (that why I downloaded it..) When I compile PHP with --with-mysql and then compile apache 1.3.6 with --enable-shared=php3 I get the following error: ===> src/modules/php3 gcc -c -I../../os/unix -I../../include -DLINUX=2 -DUSE_HSREGEX `../../apaci` -fpic -DSHARED_MODULE mod_php3.c && mv mod_php3.o mod_php3.so-o rm -f libphp3.so ld -Bshareable -o libphp3.so mod_php3.so-o libmodphp3-so.a -Wl,-rpath,/usr/lib/mysql -L/usr/lib/mysql -lmysqlclient -L/usr/local/lib /usr/local/lib/c-client.a -lgd -lpam -lm -ldl -lcrypt -lnsl -lresolv -lm -lcrypt -lndbm -ldb -lgdbm -ldl ld: unrecognized option `-Wl,-rpath,/usr/lib/mysql' make[4]: *** [libphp3.so] Error 1 make[3]: *** [all] Error 1 make[2]: *** [subdirs] Error 1 make[2]: Leaving directory `/usr/local/src/apache_1.3.6/src' make[1]: *** [build-std] Error 2 make[1]: Leaving directory `/usr/local/src/apache_1.3.6' make: *** [build] Error 2 I found a similar bug in the bug track system that reported the same error with 3.0.6 I think, and the response was it was fixed in 3.0.7. I encountered the same error when I tried to compile mod_perl as a module along with php. I am not compiling mod_perl at all now. PHP works fine when I don't compile it as a module, but I'd like to have this functionality. php config: ./configure \ --with-mysql=/usr \ --with-shared-apache=../apache_1.3.6 \ --enable-track-vars \ --with-config-file-path=/etc/httpd/conf \ --with-imap=/usr/local apache config: ./configure --prefix=/etc/httpd \ --sbindir=/usr/sbin \ --mandir=/usr/man \ --bindir=/usr/bin \ --libexecdir=/usr/lib/apache \ --sysconfdir=/etc/httpd/conf \ --datadir=/home/httpd \ --includedir=/usr/include/apache \ --logfiledir=/var/log/httpd \ --localstatedir=/var \ --runtimedir=/var/run \ --proxycachedir=/var/cache/httpd \ --enable-module=all \ --enable-shared=max \ --disable-rule=WANTHSREGEX \ --activate-module=src/modules/php3/libphp3.a \ --enable-shared=php3 make --version GNU Make version 3.76.1 gcc --version 2.7.2.3 autoconf --version Autoconf version 2.12 bison --version GNU Bison version 1.25 flex --version flex version 2.5.4 ld --version GNU ld 2.9.1 (anything else??) :) ----------------------------- more info: Since I started with the CVS version and ran autoconf I imagine the problem lies in build-defs.h or configure.in (found by going a grep search in the php3 source tree root). It also looks like there is a test in the configure script for the -Wl,-rpath, ld option. Could this test be bad, or do I have a bad version of ld??? -------------------- Acutally, looks like it has to come from the configure.in file, since build-defs.h is created.. I tried to find a newer version of ld but it looks like 2.9.1 is the newest.. -------------------- Ack.. Sorry for the all updates... I now changed the line: php_cv_cc_rpath=${php_cv_cc_rpath='no'} the the config.cache file from yes to no. This seemed easier than modifiying the configure.in since I didn't quite understand what was going on in there. I ran the configure script for php3 (and it did read the cache file change), rebuilt php3, did a make install. Reran apache config script, did a make on apache and it compiled fine. Installed the new binaries and the server came up... One weird thing I noticed on the phpinfo screen (from a phpinfo() ) is that the include directories for mysql are listed twice (under _LFLAGS).. Here is the listing: Client API version: 3.22.20a Compilation definitions: MYSQL_INCLUDE=-I/usr/include/mysql MYSQL_LFLAGS=-L/usr/lib/mysql -L/usr/lib/mysql MYSQL_LIBS=-lmysqlclient You can check this out at http://www.saueyfamily.net/info.php3 ------------------------- Another update... On a whim, I tried compiling php3 with axps instead of through apache and I got no error and apache loaded fine with the new module. Here is the config script- ./configure \ --with-mysql=/usr \ --with-apxs \ --enable-track-vars \ --with-config-file-path=/etc/httpd/conf \ --with-imap=/usr/local ------------- almost forgot, I did remove the config.cache when I built php3 using apxs... ---------------- Well, using the apxs build I discovered that some of my scripts don't work properly... So I'm running with the cache modified version again..