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

Reply via email to