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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: noethen at daad dot de
New email:
PHP Version: OS:

 

 [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-2025 The PHP Group
All rights reserved.
Last updated: Wed Jul 02 06:01:38 2025 UTC