php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #66915 mysqlnd with compression support : missing explicit dependency to zlib
Submitted: 2014-03-17 10:41 UTC Modified: 2021-04-20 11:43 UTC
Votes:4
Avg. Score:4.8 ± 0.4
Reproduced:3 of 3 (100.0%)
Same Version:1 (33.3%)
Same OS:1 (33.3%)
From: mblancha at free dot fr Assigned: cmb (profile)
Status: Duplicate Package: *Compile Issues
PHP Version: 5.5.10 OS: Linux
Private report: No CVE-ID: None
 [2014-03-17 10:41 UTC] mblancha at free dot fr
Description:
------------
When mysqlnd is compiled with compression support (MYSQLND_COMPRESSION_WANTED), there is no explicit dependency to zlib in its build configuration.

So, in the case mysqlnd is built statically, with no link to zlib in any other static part in the build, there is a link edition failure at build time:
In function `php_mysqlnd_net_encode_pub':
mysqlnd_net.c:(.text+0x174e): undefined reference to `compress'
ext/mysqlnd/.libs/mysqlnd_net.o: In function `php_mysqlnd_net_decode_pub':
mysqlnd_net.c:(.text+0x179b): undefined reference to `uncompress'

Here is an example of configure that leads to the error above:
./configure --prefix=/usr \
--sysconfdir=/etc/php \
--mandir=/usr/share/man \
--localstatedir=/var \
--with-config-file-path=/etc/php \
--disable-static \
--disable-ipv6 \
--disable-cgi \
--enable-fpm \
--disable-all \
--with-mysql=shared \
--with-mysqli=shared \
--enable-mysqlnd \
--with-zlib=shared \
--with-zlib-dir=/usr

Or, harder to diagnose, if mysqlnd is built as a module, compilation is fine but there is a load failure of mysqlnd.so:
PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/mysqlnd.so' - /usr/lib/php/extensions/mysqlnd.so: undefined symbol: compress in Unknown on line 0


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2014-03-23 12:19 UTC] johannes@php.net
-Status: Open +Status: Assigned -Assigned To: +Assigned To: mysql
 [2017-10-24 08:09 UTC] kalle@php.net
-Status: Assigned +Status: Open -Assigned To: mysql +Assigned To:
 [2021-04-20 11:43 UTC] cmb@php.net
-Status: Open +Status: Duplicate -Assigned To: +Assigned To: cmb
 [2021-04-20 11:43 UTC] cmb@php.net
Closing as duplicate of bug #78823, which is fixed as of PHP
7.4.0.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Dec 03 17:01:29 2024 UTC