From 06fab584c973d3d6c21e7c814d411af7ba0a3afb Mon Sep 17 00:00:00 2001 From: Stan Ulbrych Date: Tue, 14 Oct 2025 15:42:27 +0100 Subject: [PATCH 1/2] Commit --- Doc/library/zlib.rst | 6 ++---- Doc/using/configure.rst | 16 +++++++--------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/Doc/library/zlib.rst b/Doc/library/zlib.rst index d4727f366d051f..1816ff8bcec404 100644 --- a/Doc/library/zlib.rst +++ b/Doc/library/zlib.rst @@ -9,10 +9,8 @@ For applications that require data compression, the functions in this module allow compression and decompression, using the zlib library. The zlib library -has its own home page at https://www.zlib.net. There are known -incompatibilities between the Python module and versions of the zlib library -earlier than 1.1.3; 1.1.3 has a `security vulnerability `_, so we recommend using -1.1.4 or later. +has its own home page at https://www.zlib.net. zlib 1.2.2.1 is the minium +supported version. 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; diff --git a/Doc/using/configure.rst b/Doc/using/configure.rst index 01537951aebb62..1f773a3a547c2b 100644 --- a/Doc/using/configure.rst +++ b/Doc/using/configure.rst @@ -26,28 +26,26 @@ To build optional modules: * `libbz2 `_ for the :mod:`bz2` module. -* `libb2 `_ (:ref:`BLAKE2 `), - used by :mod:`hashlib` module. +* `libb2 `_ (:ref:`BLAKE2 `) + for the :mod:`hashlib` module. * `libffi `_ 3.3.0 is the recommended minimum version for the :mod:`ctypes` module. -* ``liblzma``, for the :mod:`lzma` module. +* ``liblzma`` for the :mod:`lzma` module. * `libmpdec `_ 2.5.0 for the :mod:`decimal` module. -* ``libncurses`` or ``libncursesw``, - for the :mod:`curses` module. +* ``libncurses`` or ``libncursesw`` for the :mod:`curses` module. -* ``libpanel`` or ``libpanelw``, - for the :mod:`curses.panel` module. +* ``libpanel`` or ``libpanelw`` for the :mod:`curses.panel` module. * `libreadline `_ or `libedit `_ for the :mod:`readline` module. -* `libuuid `_, for the :mod:`uuid` module. +* `libuuid `_ for the :mod:`uuid` module. * `OpenSSL `_ 1.1.1 is the minimum version and OpenSSL 3.0.18 is the recommended minimum version for the @@ -57,7 +55,7 @@ To build optional modules: * `Tcl/Tk `_ 8.5.12 for the :mod:`tkinter` module. -* `zlib `_ 1.1.4 is the reccomended minimum version for the +* `zlib `_ 1.2.2.1 is the minimum version for the :mod:`zlib` module. * `zstd `_ 1.4.5 is the minimum version for From d0985370f3b3cdd5cafb3976c635686b6a1f1db7 Mon Sep 17 00:00:00 2001 From: Stan Ulbrych Date: Tue, 14 Oct 2025 15:48:21 +0100 Subject: [PATCH 2/2] Update configure to check --- configure | 20 ++++++++++---------- configure.ac | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/configure b/configure index 211f84399064a0..9757b3419d3391 100755 --- a/configure +++ b/configure @@ -21736,19 +21736,19 @@ fi pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zlib >= 1.2.0" >&5 -printf %s "checking for zlib >= 1.2.0... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zlib >= 1.2.2.1" >&5 +printf %s "checking for zlib >= 1.2.2.1... " >&6; } if test -n "$ZLIB_CFLAGS"; then pkg_cv_ZLIB_CFLAGS="$ZLIB_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "zlib >= 1.2.0") 2>&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.2.1") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 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 else pkg_failed=yes @@ -21760,12 +21760,12 @@ if test -n "$ZLIB_LIBS"; then pkg_cv_ZLIB_LIBS="$ZLIB_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "zlib >= 1.2.0") 2>&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.2.1") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 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 else pkg_failed=yes @@ -21786,9 +21786,9 @@ else _pkg_short_errors_supported=no fi 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 - 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 # Put the nasty error message in config.log where it belongs echo "$ZLIB_PKG_ERRORS" >&5 diff --git a/configure.ac b/configure.ac index 35bf153a8987b2..f244e0b71a6cc2 100644 --- a/configure.ac +++ b/configure.ac @@ -5424,7 +5424,7 @@ AH_TEMPLATE([HAVE_ZLIB_COPY], [Define if the zlib library has inflateCopy]) dnl detect zlib from Emscripten emport 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 dnl zlib 1.2.0 (2003) added inflateCopy AC_DEFINE([HAVE_ZLIB_COPY], [1])