Bug #67849 [Asn->Csd]: error compiling mysqlnd if zlib is compiled shared
| From: | cmb@php.net | 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