Bug #67849 [Asn->Csd]: error compiling mysqlnd if zlib is compiled shared

From: Date: Tue, 02 Feb 2021 14:58:12 +0000
Subject: Bug #67849 [Asn->Csd]: error compiling mysqlnd if zlib is compiled shared
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-231888@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=67849&edit=1 ID: 67849 Updated by: cmb@php.net Reported by: public at grik dot net Summary: error compiling mysqlnd if zlib is compiled shared -Status: Assigned +Status: Closed Type: Bug Package: MySQL related Operating System: Linux, OSX 10.9 PHP Version: 5.6.0RC4 Assigned To: cmb Block user comment: N Private report: N New Comment: Well, I just tried on Debian with gcc and current PHP-7.4 head, and the build showed no errors. I'm assuming this has been fixed in the meantime; please re-open if you are still experiencing these issues. Previous Comments: ------------------------------------------------------------------------ [2021-02-01 16:16:12] public at grik dot net I build with a static zlib, and wrote the report just because met the error. It does not make big problems cause compilation is fast nowdays, but it worth to check this in a configure script and write a readable error without compilation, I guess. I can check this with 7.4. ------------------------------------------------------------------------ [2021-02-01 15:29:17] cmb@php.net Is that still an issue with any of the actively supported PHP versions[1]? [1] <https://www.php.net/supported-versions.php> ------------------------------------------------------------------------ [2014-08-16 10:35:44] public at grik dot net reproduced in Linux ext/mysqlnd/.libs/mysqlnd_net.o: In function `php_mysqlnd_net_encode_pub': /usr/src/web/php-5.6.0RC4/ext/mysqlnd/mysqlnd_net.c:608: undefined reference to `compress' ext/mysqlnd/.libs/mysqlnd_net.o: In function `php_mysqlnd_net_decode_pub': /usr/src/web/php-5.6.0RC4/ext/mysqlnd/mysqlnd_net.c:584: undefined reference to `uncompress' collect2: ld returned 1 exit status make: *** [sapi/cli/php] Error 1 ------------------------------------------------------------------------ [2014-08-15 17:15:34] aharvey@php.net The trick here appears to be to force pdo_mysql and mysqlnd to be built as shared as well, via ./configure --disable-all --enable-mysqlnd=shared --enable-pdo --with-pdo-mysql=shared --with-zlib=shared. Reassigning to the MySQL team. I'm not sure if we can detect this in mysqlnd's config9.m4, but it might be worth looking at. ------------------------------------------------------------------------ [2014-08-15 14:35:41] public at grik dot net Description: ------------ trying to compile php 5.6 RC4 separately pdo-mysql and zlib extensions compile successfully, as well as if zlib is not shared, but if zlib is configured as shared, pdo-mysql extension fails to be built Test script: --------------- php-5.6.0RC4 gri$ ./configure --disable-all --enable-pdo --with-pdo-mysql --with-zlib=shared ... php-5.6.0RC4 gri$ make ... Undefined symbols for architecture x86_64: "_compress", referenced from: _php_mysqlnd_net_encode_pub in mysqlnd_net.o "_uncompress", referenced from: _php_mysqlnd_net_decode_pub in mysqlnd_net.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [sapi/cli/php] Error 1 Expected result: ---------------- build successful Actual result: -------------- Undefined symbols for architecture x86_64: "_compress", referenced from: _php_mysqlnd_net_encode_pub in mysqlnd_net.o "_uncompress", referenced from: _php_mysqlnd_net_decode_pub in mysqlnd_net.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [sapi/cli/php] Error 1 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=67849&edit=1

« previous php.bugs (#231888) next »