php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #30835 PHP5 won't configure with mysqli support on Intel EM64T
Submitted: 2004-11-19 13:22 UTC Modified: 2004-12-02 12:47 UTC
Votes:6
Avg. Score:5.0 ± 0.0
Reproduced:6 of 6 (100.0%)
Same Version:5 (83.3%)
Same OS:4 (66.7%)
From: noethen at daad dot de Assigned:
Status: Not a bug Package: Compile Failure
PHP Version: 5.0.2 OS: SuSE Linux Enterprise Server 9
Private report: No CVE-ID: None
 [2004-11-19 13:22 UTC] noethen at daad dot de
Description:
------------
My System is

 SuSE Linux Enterprise Server 9
 on Intel EM64T CPU
 with MySQL 4.1.7 installed from MySQL RPM package
 and Apache 2.0.52 installed from SuSE RPM package

Everything runs fine so far, including Apache and MySQL.

I try to configure PHP 5.0.2 with the following command:

 ./configure --with-apxs2=/usr/sbin/apxs2
             --with-mysqli=/usr/bin/mysql_config

The configuration process breaks with the following lines:

 checking for MySQLi support... yes
 checking whether to enable embedded MySQLi support... no
 checking for mysql_set_server_option in -lmysqlclient... no
 configure: error: wrong mysql library version or lib not
            found. Check config.log for more information.

These are the last lines of config.log:

 configure:54936: checking for MySQLi support
 configure:54982: checking whether to enable embedded MySQLi
                  support
 configure:55115: checking for mysql_set_server_option in
                  -lmysqlclient
 configure:55134: gcc -o conftest -g -O2   -lmysqlclient
                  -lcrypt -lnsl -lm -lz conftest.c
                  -lmysqlclient  -lresolv -lm -ldl -lnsl 
                  -lxml2 -lz -lm -lxml2 -lz -lm 1>&5
                  /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3
                  /../../../../x86_64-suse-linux/bin/ld:
                  cannot find -lmysqlclient
 collect2: ld returned 1 exit status
 configure: failed program was:
 #line 55123 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error. 
 */
 /* We use char because int might match the return type of a
 gcc2 builtin and then its argument prototype would still
 apply.  */
 char mysql_set_server_option();

 int main() {
 mysql_set_server_option()
 ; return 0; }




Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2004-11-30 03:21 UTC] jfxberns at hotmail dot com
Same problem.

./configure --with-mysqli=/usr/bin/mysql_config

AMD Athlon XP CPU, 
Apache 1.3.33, 
Redhat Linux 7.3, 
PHP 5.0.2, 
MySQL 4.1.7 installed as RPM, upgraded from 4.0.22

MySQL packages installed: 

MySQL-bench-4.1.7-0.i386.rpm
MySQL-client-4.1.7-0.i386.rpm
MySQL-devel-4.1.7-0.i386.rpm
MySQL-server-4.1.7-0.i386.rpm
MySQL-shared-4.1.7-0.i386.rpm
MySQL-shared-compat-4.1.7-0.i386.rpm
 [2004-11-30 17:32 UTC] jorton@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

You cannot use 32-bit libraries (e.g. from MySQL-client-4.1.7-0.i386.rpm) in a 64-bit PHP build.

Either use a native x86_64 build of MySQL (recommended), or try and build a 32-bit version of PHP (not recommended).  The latter can be done using:

  export CC="gcc -m32"

before running configure.

 [2004-12-01 10:51 UTC] noethen at daad dot de
I _am_ using a native x86_64 build of MySQL (MySQL-server-4.1.7-0.glibc23.x86_64.rpm).
 [2004-12-01 17:00 UTC] jorton@php.net
And the MySQL-devel package is also installed?  What's the output of:

$ mysql_config --libs


 [2004-12-01 17:06 UTC] noethen at daad dot de
Here comes the output of

mysql_config --libs

-L/usr/lib/mysql -lmysqlclient -lcrypt -lnsl -lm -lz
 [2004-12-01 17:24 UTC] georg@php.net
Are you sure? You sent me a mysql_config before, which 
shows: 
 
-L/usr/lib64/mysql -lmysqlclient -lcrypt -lnsl -lm -lz 
 
Do you have 2 different versions ? 
 [2004-12-01 17:36 UTC] noethen at daad dot de
I have only one version of mysql_config.

I have /usr/lib64/mysql/ which contains

libheap.a
libmyisam.a
libmysqlclient.la
libmystrings.a
libvio.a
libmerge.a
libmyisammrg.a
libmysqlclient_r.a
libmysys.a
mysqld.sym
libdbug.a
libmygcc.a
libmysqlclient.a
libmysqlclient_r.la
libnisam.a

and I have /usr/lib/mysql which is empty ... probably because I had meanwhile installed MySQL 4.0 from SLES9 distribution package. But I have uninstalled that before and reinstalled the 4.1.7 RPM packages from the MySQL website.

But the output 

  -L/usr/lib/mysql -lmysqlclient -lcrypt -lnsl -lm -lz

comes from the mysql_config that I just sent to you.
 [2004-12-02 12:38 UTC] noethen at daad dot de
I've made a symlink from /usr/lib64/mysql to /usr/lib/mysql and now the configuration and compiling works.

So this is really not a bug. Thanks for helping me to find the problem.

Sascha
 [2004-12-02 12:47 UTC] derick@php.net
As it is no bug, we set the status to Bogus.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 13:01:31 2024 UTC