php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #42056 Does not compile with mysqli
Submitted: 2007-07-20 22:11 UTC Modified: 2007-07-21 16:15 UTC
From: givanz at yahoo dot com Assigned:
Status: Not a bug Package: MySQLi related
PHP Version: 5.2.3 OS: CentOS 4
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
31 + 15 = ?
Subscribe to this entry?

 
 [2007-07-20 22:11 UTC] givanz at yahoo dot com
Description:
------------
When i compile php with mysql or mysqli extension it doesn't work

i have mysql 5.0.45 is this version suported ?

//compile command

./configure --prefix=/home/web/php --with-apxs2=/home/web/apache/bin/apxs --enable-sockets --with-zip --enable-mbstring --with-zlib --without-sqlite --enable-spl --with-mysqli=/home/web/mysql/bin/mysql_config --without-pear --disable-cgi  && make && make install

//last lines

checking for MSSQL support via FreeTDS... no
checking for MySQL support... no
checking for specified location of the MySQL UNIX socket... no
checking for MySQLi support... yes
checking whether to enable embedded MySQLi support... no
checking for mysql_set_server_option in -lmysqlclient_r... no
configure: error: wrong mysql library version or lib not found. Check config.log for more information.


//config.log

configure:58392: checking for MySQL support
configure:58438: checking for specified location of the MySQL UNIX socket
configure:59597: checking for MySQLi support
configure:59643: checking whether to enable embedded MySQLi support
configure:59793: checking for mysql_set_server_option in -lmysqlclient_r
configure:59812: gcc -o conftest -I/usr/include -O3 -march=pentium4 -pipe -ftracer -fforce-addr -falign-functions=32 -mfpmath=sse -fprefetch-loop-arrays -momit-leaf-frame-pointer -fomit-frame-pointer -ffast-math -fexpensive-optimizations -mmmx -msse -msse2 -D_FORTIFY_SOURCE=2 -pthread  -D_REENTRANT -Wl,-rpath,/home/web/mysql/lib/mysql -L/home/web/mysql/lib/mysql -L/usr/lib  -lmysqlclient_r -lz -lcrypt -lnsl -lm conftest.c -lmysqlclient_r  -lz -lresolv -lm -ldl -lnsl  -lxml2 -lz -lm -lxml2 -lz -lm 1>&5
/usr/bin/ld: cannot find -lmysqlclient_r
collect2: ld returned 1 exit status
configure: failed program was:
#line 59801 "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

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-07-20 22:28 UTC] jani@php.net
What does this output:

# /home/web/mysql/bin/mysql_config --libs_r

 [2007-07-21 06:24 UTC] givanz at yahoo dot com
# /home/web/mysql/bin/mysql_config --libs_r

//output is 

-L/home/web/mysql/lib/mysql -lmysqlclient_r -lz -lpthread -lcrypt -lnsl -lm -lpthread
 [2007-07-21 13:05 UTC] jani@php.net
Do you have any LDFLAGS or CFLAGS set prior to running configure or in your environment?
 [2007-07-21 13:36 UTC] givanz at yahoo dot com
I found the problem

Php searches mysqclient_r library and with default compilation mysql only compiles mysqlclient 

so i compiled mysql with --enable-thread-safe-client and then the compilation of php worked fine.

I don't know why php wants mysqlclient_r and it doesn't compile with mysqlclient.
 [2007-07-21 16:15 UTC] jani@php.net
There is no bug in PHP. It's doing exactly what it should be when building a thread-safe module for your Apache (which is obviously not configured to run prefork MPM..) and tries to link with the thread-safe mysql library.

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Apr 16 23:01:30 2024 UTC