ID: 13902 Comment by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Closed Bug Type: Compile Failure Operating System: RedHat Linux 2.4.7-10 #1 i686 PHP Version: 4.0.6 New Comment:
I was using RedHat 7.3 and I did compile with success all of these packages previously : MySQL 3.23.52 Apache 1.23.26 Mod_Php 4.2.2 All package are compiled with --prefix=/soft/<Package_name> Now, after having installed RedHat 8.0, I can't compile MySQL myself anymore since GCC 3.2 is now used with RedHat 8.0 and MySQL doesn't suggest compile itself with another version of gcc than the 2.95 version! So I decided to use the MySQL version included with RedHat 8.0. I compiled with success the latest Apache version "2.0.43". When I am trying to compile Mod_Php 4.2.3 with these parameters : CC="gcc" OPTIM="-O3" ./configure --prefix=/soft/Mod_Php \ --disable-debug \ --disable-rpath \ --enable-debugger \ --enable-ftp \ --enable-inline-optimization \ --enable-magic-quotes \ --enable-pic \ --disable-safe-mode \ --enable-sockets \ --enable-sysvsem \ --enable-sysvshm \ --enable-track-vars \ --enable-wddx \ --enable-yp \ --with-apxs2=/soft/Apache/bin/apxs \ --with-bz2 \ --with-curl \ --with-db3 \ --without-dom \ --with-exec-dir=/soft/Mod_Php/bin \ --with-gd \ --with-gdbm \ --with-gettext \ --with-jpeg-dir=/usr \ --with-layout=GNU \ --without-mm \ --with-openssl \ --with-mysql="/usr" \ --without-oci8 \ --without-oracle \ --without-unixODBC \ --with-png \ --with-pspell \ --with-regex=system \ --with-ttf \ --with-xml \ --with-zlib I have exactly the same error message as you said! But, comparing my old MySQL structure and the new one from RedHat 8.0, I noticed that there is a file named "/soft/MySQL/lib/mysql/libmysqlclient.la" that is missing under "/usr/lib/mysql". Here is the content of this file : ======================================================== # libmysqlclient.la - a libtool library file # Generated by ltmain.sh - GNU libtool 1.3.5 (1.385.2.206 2000/05/27 11:12:27) # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='' # Names of this library. library_names='' # The name of the static archive. old_library='libmysqlclient.a' # Libraries that this one depends upon. dependency_libs=' -lz -lcrypt -lnsl -lm' # Version information for libmysqlclient. current=11 age=0 revision=0 # Is this an already installed library? installed=yes # Directory that this library needs to be installed in: libdir='/soft/MySQL/lib/mysql' ======================================================== I copied this file under "/usr/lib/mysql" and I changed the last line for this : libdir='/usr/lib/mysql' And the "make" has pass since!!! Yves Previous Comments: ------------------------------------------------------------------------ [2001-11-22 05:50:40] [EMAIL PROTECTED] No feedback. Closing. ------------------------------------------------------------------------ [2001-11-01 22:26:11] [EMAIL PROTECTED] Could you please try latest CVS? I fixed one thing which might have caused this. --Jani ------------------------------------------------------------------------ [2001-11-01 16:44:19] [EMAIL PROTECTED] Short version: I ran ./configure with --with-mysql=/usr (among other things... see below) I got a compiler error (output below) that said "cannot find -lmysqlclient". I believe this is because the compile command (below) should contain "-L/usr/lib/mysql". this flag is in config_vars.mk as follows: MYSQL_LIBS = -L/usr/lib/mysql -lmysqlclient -L/usr -z I also found this line in config_vars.mk: PHP_RPATHS = /usr/lib/mysql I wonder if that should have a -L in it... ------------ Solution (ok hack...) ------------ I got php to compile by adding -L/usr/lib/mysql to the following line in config_vars.mk starting with "EXTRA_LIBS = " --------------- References --------------- Firstly, all the options I passed to ./configure: ./configure 'i386-redhat-linux' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--prefix=/usr' '--with-config-file-path=/etc' '--disable-debug' '--enable-pic' '--disable-rpath' '--enable-inline-optimization' '--with-apxs=/usr/sbin/apxs' '--with-bz2' '--with-curl' '--with-db3' '--with-dom' '--with-exec-dir=/usr/bin' '--with-gd' '--with-gdbm' '--with-gettext' '--with-jpeg-dir=/usr' '--with-mm' '--with-openssl' '--with-png' '--with-regex=system' '--with-ttf' '--with-zlib' '--with-layout=GNU' '--enable-debugger' '--enable-ftp' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-track-vars' '--enable-yp' '--enable-wddx' '--with-mysql=/usr' '--without-unixODBC' '--without-oracle' '--without-oci8' '--with-xml' Seccondly, the relivant bit of the output from make: Making all in . make[1]: Entering directory `/home/jason/software/php-4.0.6' /bin/sh /home/jason/software/php-4.0.6/libtool --silent --mode=link gcc -I. -I/home/jason/software/php-4.0.6/ -I/home/jason/software/php-4.0.6/main/home/jason/software/php-4.0.6 -I/usr/include/apache -I/home/jason/software/php-4.0.6/Zend -I/include -I/usr/include/mysql -I/home/jason/software/php.0.6/ext/xml/expat/xmltok -I/home/jason/software/php-4.0.6/ext/xml/expat/xmlparse -I/home/jason/software/php-4.0.6/TSRM -DLINUX=22 -DEAPI -DEAPI_MMUSE_EXPAT -DEAPI_MM_CORE_PATH=/var/run/httpd.mm -DSUPPORT_UTF8 -DXML_BYTE_ORDER=12 -g -O2 -o libphp4.la -rpath /home/jason/software/php-4.0.6/libsvoid-version /usr/lib/mysql stub.lo Zend/libZend.la sapi/apache/libsapi.la main/libmain.la ext/zlib/libzlib.la ext/bz2/libbz2.la ext/curl/libcurl. ext/dba/libdba.la ext/domxml/libdomxml.la ext/ftp/libftp.la ext/gd/libgd.la ext/gettext/libgettext.la ext/mysql/libmysql.la ext/openssl/libopenssl.lext/pcre/libpcre.la ext/posix/libposix.la ext/session/libsession.la ext/sockets/libsockets.la ext/standard/libstandard.la ext/sysvsem/libsysvsem.la e/sysvshm/libsysvshm.la ext/wddx/libwddx.la ext/xml/libxml.la ext/yp/libyp.la TSRM/libtsrm.la -lpam -ldl -lmm -lmysqlclient -lz -lgd -ljpeg -lz -lxml2ldb -lgdbm -lcurl -ldl -lcrypto -lssl -lbz2 -lz -lcrypt -lssl -lcrypto -lresolv -lm -ldl -lnsl -lresolv /usr/bin/ld: cannot find -lmysqlclient collect2: ld returned 1 exit status make[1]: *** [libphp4.la] Error 1 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=13902&edit=1
