Update documented minimum required zlib library version (#140116)

This commit is contained in:
Stan Ulbrych 2025-10-14 23:16:00 +01:00 committed by GitHub
parent c50d794c7b
commit 2ca3c85054
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 20 additions and 24 deletions

View file

@ -9,10 +9,8 @@
For applications that require data compression, the functions in this module For applications that require data compression, the functions in this module
allow compression and decompression, using the zlib library. The zlib library allow compression and decompression, using the zlib library. The zlib library
has its own home page at https://www.zlib.net. There are known has its own home page at https://www.zlib.net. zlib 1.2.2.1 is the minium
incompatibilities between the Python module and versions of the zlib library supported version.
earlier than 1.1.3; 1.1.3 has a `security vulnerability <https://zlib.net/zlib_faq.html#faq33>`_, so we recommend using
1.1.4 or later.
zlib's functions have many options and often need to be used in a particular zlib's functions have many options and often need to be used in a particular
order. This documentation doesn't attempt to cover all of the permutations; order. This documentation doesn't attempt to cover all of the permutations;

View file

@ -26,28 +26,26 @@ To build optional modules:
* `libbz2 <https://sourceware.org/bzip2/>`_ for the :mod:`bz2` module. * `libbz2 <https://sourceware.org/bzip2/>`_ for the :mod:`bz2` module.
* `libb2 <https://github.com/BLAKE2/libb2>`_ (:ref:`BLAKE2 <hashlib-blake2>`), * `libb2 <https://github.com/BLAKE2/libb2>`_ (:ref:`BLAKE2 <hashlib-blake2>`)
used by :mod:`hashlib` module. for the :mod:`hashlib` module.
* `libffi <https://sourceware.org/libffi/>`_ 3.3.0 is the recommended * `libffi <https://sourceware.org/libffi/>`_ 3.3.0 is the recommended
minimum version for the :mod:`ctypes` module. minimum version for the :mod:`ctypes` module.
* ``liblzma``, for the :mod:`lzma` module. * ``liblzma`` for the :mod:`lzma` module.
* `libmpdec <https://www.bytereef.org/mpdecimal/doc/libmpdec/>`_ 2.5.0 * `libmpdec <https://www.bytereef.org/mpdecimal/doc/libmpdec/>`_ 2.5.0
for the :mod:`decimal` module. for the :mod:`decimal` module.
* ``libncurses`` or ``libncursesw``, * ``libncurses`` or ``libncursesw`` for the :mod:`curses` module.
for the :mod:`curses` module.
* ``libpanel`` or ``libpanelw``, * ``libpanel`` or ``libpanelw`` for the :mod:`curses.panel` module.
for the :mod:`curses.panel` module.
* `libreadline <https://tiswww.case.edu/php/chet/readline/rltop.html>`_ or * `libreadline <https://tiswww.case.edu/php/chet/readline/rltop.html>`_ or
`libedit <https://www.thrysoee.dk/editline/>`_ `libedit <https://www.thrysoee.dk/editline/>`_
for the :mod:`readline` module. for the :mod:`readline` module.
* `libuuid <https://linux.die.net/man/3/libuuid>`_, for the :mod:`uuid` module. * `libuuid <https://linux.die.net/man/3/libuuid>`_ for the :mod:`uuid` module.
* `OpenSSL <https://www.openssl.org/>`_ 1.1.1 is the minimum version and * `OpenSSL <https://www.openssl.org/>`_ 1.1.1 is the minimum version and
OpenSSL 3.0.18 is the recommended minimum version for the OpenSSL 3.0.18 is the recommended minimum version for the
@ -57,7 +55,7 @@ To build optional modules:
* `Tcl/Tk <https://www.tcl-lang.org/>`_ 8.5.12 for the :mod:`tkinter` module. * `Tcl/Tk <https://www.tcl-lang.org/>`_ 8.5.12 for the :mod:`tkinter` module.
* `zlib <https://www.zlib.net>`_ 1.1.4 is the reccomended minimum version for the * `zlib <https://www.zlib.net>`_ 1.2.2.1 is the minimum version for the
:mod:`zlib` module. :mod:`zlib` module.
* `zstd <https://facebook.github.io/zstd/>`_ 1.4.5 is the minimum version for * `zstd <https://facebook.github.io/zstd/>`_ 1.4.5 is the minimum version for

20
configure generated vendored
View file

@ -21736,19 +21736,19 @@ fi
pkg_failed=no pkg_failed=no
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zlib >= 1.2.0" >&5 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zlib >= 1.2.2.1" >&5
printf %s "checking for zlib >= 1.2.0... " >&6; } printf %s "checking for zlib >= 1.2.2.1... " >&6; }
if test -n "$ZLIB_CFLAGS"; then if test -n "$ZLIB_CFLAGS"; then
pkg_cv_ZLIB_CFLAGS="$ZLIB_CFLAGS" pkg_cv_ZLIB_CFLAGS="$ZLIB_CFLAGS"
elif test -n "$PKG_CONFIG"; then elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \ if test -n "$PKG_CONFIG" && \
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.0\""; } >&5 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.2.1\""; } >&5
($PKG_CONFIG --exists --print-errors "zlib >= 1.2.0") 2>&5 ($PKG_CONFIG --exists --print-errors "zlib >= 1.2.2.1") 2>&5
ac_status=$? ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then test $ac_status = 0; }; then
pkg_cv_ZLIB_CFLAGS=`$PKG_CONFIG --cflags "zlib >= 1.2.0" 2>/dev/null` pkg_cv_ZLIB_CFLAGS=`$PKG_CONFIG --cflags "zlib >= 1.2.2.1" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes test "x$?" != "x0" && pkg_failed=yes
else else
pkg_failed=yes pkg_failed=yes
@ -21760,12 +21760,12 @@ if test -n "$ZLIB_LIBS"; then
pkg_cv_ZLIB_LIBS="$ZLIB_LIBS" pkg_cv_ZLIB_LIBS="$ZLIB_LIBS"
elif test -n "$PKG_CONFIG"; then elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \ if test -n "$PKG_CONFIG" && \
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.0\""; } >&5 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.2.1\""; } >&5
($PKG_CONFIG --exists --print-errors "zlib >= 1.2.0") 2>&5 ($PKG_CONFIG --exists --print-errors "zlib >= 1.2.2.1") 2>&5
ac_status=$? ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then test $ac_status = 0; }; then
pkg_cv_ZLIB_LIBS=`$PKG_CONFIG --libs "zlib >= 1.2.0" 2>/dev/null` pkg_cv_ZLIB_LIBS=`$PKG_CONFIG --libs "zlib >= 1.2.2.1" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes test "x$?" != "x0" && pkg_failed=yes
else else
pkg_failed=yes pkg_failed=yes
@ -21786,9 +21786,9 @@ else
_pkg_short_errors_supported=no _pkg_short_errors_supported=no
fi fi
if test $_pkg_short_errors_supported = yes; then if test $_pkg_short_errors_supported = yes; then
ZLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "zlib >= 1.2.0" 2>&1` ZLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "zlib >= 1.2.2.1" 2>&1`
else else
ZLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "zlib >= 1.2.0" 2>&1` ZLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "zlib >= 1.2.2.1" 2>&1`
fi fi
# Put the nasty error message in config.log where it belongs # Put the nasty error message in config.log where it belongs
echo "$ZLIB_PKG_ERRORS" >&5 echo "$ZLIB_PKG_ERRORS" >&5

View file

@ -5424,7 +5424,7 @@ AH_TEMPLATE([HAVE_ZLIB_COPY], [Define if the zlib library has inflateCopy])
dnl detect zlib from Emscripten emport dnl detect zlib from Emscripten emport
PY_CHECK_EMSCRIPTEN_PORT([ZLIB], [-sUSE_ZLIB]) PY_CHECK_EMSCRIPTEN_PORT([ZLIB], [-sUSE_ZLIB])
PKG_CHECK_MODULES([ZLIB], [zlib >= 1.2.0], [ PKG_CHECK_MODULES([ZLIB], [zlib >= 1.2.2.1], [
have_zlib=yes have_zlib=yes
dnl zlib 1.2.0 (2003) added inflateCopy dnl zlib 1.2.0 (2003) added inflateCopy
AC_DEFINE([HAVE_ZLIB_COPY], [1]) AC_DEFINE([HAVE_ZLIB_COPY], [1])