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: 2014-03-23 12:19 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: mysql
Status: Assigned Package: *Compile Issues
PHP Version: 5.5.10 OS: Linux
Private report: No CVE-ID:
Have you experienced this issue?
Rate the importance of this bug to you:

 [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

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2014-03-23 12:19 UTC] johannes@php.net
-Status: Open +Status: Assigned -Assigned To: +Assigned To: mysql
 
PHP Copyright © 2001-2017 The PHP Group
All rights reserved.
Last updated: Fri Mar 24 20:01:40 2017 UTC