From: Arjen de Korte Date: Mon, 25 Nov 2019 22:54:49 +0000 (+0100) Subject: Fix bug #78823: add zlib library to mysqlnd X-Git-Tag: php-7.4.7RC1~467 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ee4295b4ce421003c2e1d2af98066826deb23319;p=php Fix bug #78823: add zlib library to mysqlnd The problem is newer binutils will no longer default to --copy-dt-needed-entries but use --no-copy-dt-needed-entries instead. So all libraries needed *must* be provided. Workarounds (either one works) 1) Add "-Wl,--copy-dt-needed-entries" to LDFLAGS to bring back the old behavior of the linker 2) Add "-lz" to list of libraries to be added In "ext/mysqlnd/mysqlnd_protocol_frame_codec.c" when the "zlib.h" header is included should also trigger adding '-lz' to the list of libraries. --- diff --git a/NEWS b/NEWS index 82f20812c0..8ae025b8e4 100644 --- a/NEWS +++ b/NEWS @@ -21,6 +21,9 @@ PHP NEWS (Maksim Nikulin) . Fixed bug #78889 (php-fpm service fails to start). (Jakub Zelenka) +- Mysqlnd: + . Fixed bug #78823 (ZLIB_LIBS not added to EXTRA_LIBS). (Arjen de Korte) + - OPcache: . Fixed $x = (bool)$x; with opcache (should emit undeclared variable notice). (Tyson Andre) diff --git a/ext/mysqlnd/config9.m4 b/ext/mysqlnd/config9.m4 index 4084c7250b..5c01ed762f 100644 --- a/ext/mysqlnd/config9.m4 +++ b/ext/mysqlnd/config9.m4 @@ -24,6 +24,9 @@ if test "$PHP_MYSQLND" != "no" || test "$PHP_MYSQLND_ENABLED" = "yes"; then if test "$PHP_MYSQLND_COMPRESSION_SUPPORT" != "no"; then + PKG_CHECK_MODULES([ZLIB], [zlib]) + PHP_EVAL_LIBLINE($ZLIB_LIBS, MYSQLND_SHARED_LIBADD) + PHP_EVAL_INCLINE($ZLIB_CFLAGS) AC_DEFINE([MYSQLND_COMPRESSION_WANTED], 1, [Enable compressed protocol support]) fi