ID: 37388 Comment by: helpdesk at oakbrookwalk dot com Reported By: s dot s at terra dot com dot br Status: Open Bug Type: MySQLi related Operating System: Slackware Linux 10.2 PHP Version: 5.1.4 New Comment:
I have the nearly same issue with php 5.1.4 and mysql 5.0.20 and above. I can get it to configure just fine now, but when I attempt to "make" I get failures with "undefined references". These are related to libmysqlclient.a... collect2: ld returned 1 exit status make: *** [sapi/cli/php] Error 1 Any ideas? Previous Comments: ------------------------------------------------------------------------ [2006-05-26 02:30:19] sfm_home at yahoo dot com Thanks for the -lmygcc workaround. It did the trick for me on RedHat 8 (gcc-3.2-7) with MySQL 5.0.21 and PHP 5.1.4, but I had to edit the Makefile to append -lmygcc to both EXTRA_LIBS and MYSQL_LIBS. If I did not append it to MYSQL_LIBS, the make completed; but I got a runtime error starting Apache (1.3.32) and needed to start over with make clean first and then make. The runtime error I saw is Syntax error on line 205 of /www/conf/httpd.conf: Cannot load /www/libexec/libphp5.so into server: /www/libexec/libphp5.so: undefined symbol: __builtin_delete ------------------------------------------------------------------------ [2006-05-17 01:37:23] s dot s at terra dot com dot br I have try to change the configure script, but it dont work. May its becose my poor skills on sh scripting :\ Digging the mysql bug database I have found the same bug reported, if it can help... http://bugs.mysql.com/bug.php?id=19817 ------------------------------------------------------------------------ [2006-05-17 01:02:19] s dot s at terra dot com dot br Partial fix: Reading better the suggested bug http://bugs.mysql.com/bug.php?id=4921 I start trying to compile the mysql_error() check by hand. conftest.c ------------- #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_error(); int main() { mysql_error() ; return 0; } ------------- Compilation commandline (configure generated): gcc -o conftest conftest.c -I/usr/include -g -O2 -pthread -D_REENTRANT -Wl,-rpath,/usr/local/mysql/lib -L/usr/local/mysql/lib -L/usr/lib -L/usr/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib -Wl,-rpath,/usr -L/usr -lmysqlclient -lz -lgd -lfreetype -lpng -lz -ljpeg -ldb-3.3 -ldb-3.3 -lgdbm -lbz2 -lz -lresolv -lm -ldl -lnsl -lxml2 -lz -lm -lssl -lcrypto -ldl -lxml2 -lz -lm -lssl -lcrypto -ldl Working compilation line: gcc -o conftest conftest.c -I/usr/include -g -O2 -pthread -D_REENTRANT -Wl,-rpath,/usr/local/mysql/lib -L/usr/local/mysql/lib -L/usr/lib -L/usr/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib -Wl,-rpath,/usr -L/usr -lmysqlclient -lz -lgd -lfreetype -lpng -lz -ljpeg -ldb-3.3 -ldb-3.3 -lgdbm -lbz2 -lz -lresolv -lm -ldl -lnsl -lxml2 -lz -lm -lssl -lcrypto -ldl -lxml2 -lz -lm -lssl -lcrypto -ldl -lmygcc Note the -lmygcc to link with this library on the working compilation line. I gess we need to change the configure to check its presence for MySQL versions over 5.0.20 Compilation status: UNTESTED I will try to change the configure (Im not familiar with configure/Makefile scripts) to use the mygcc library on linking process. ------------------------------------------------------------------------ [2006-05-17 00:56:10] s dot s at terra dot com dot br Step 1: Remove the libmysqlclient.a Step 2: Try to run configure again on PHP 5.1.4 source tree ------------------------------------------------------- checking for MySQL support... yes checking for specified location of the MySQL UNIX socket... yes checking for MySQL UNIX socket location... /tmp/mysql.sock configure: error: Cannot find libmysqlclient under /usr/local/mysql. Note that the MySQL client library is not bundled anymore! ------------------------------------------------------- ------------------------------------------------------------------------ [2006-05-16 06:28:16] [EMAIL PROTECTED] Please remove libmysqlclient.a and try again. See http://bugs.mysql.com/bug.php?id=4921 for details. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/37388 -- Edit this bug report at http://bugs.php.net/?id=37388&edit=1