From 39441fb6f340ff78163ae7acb0076085e4b48dd4 Mon Sep 17 00:00:00 2001 From: Yuriy Chernyshov Date: Sun, 17 Aug 2025 18:54:48 +0300 Subject: [PATCH 1/2] Relax libzstd version checking --- c-ext/backend_c.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/c-ext/backend_c.c b/c-ext/backend_c.c index 4b09d1fb..8d4027cc 100644 --- a/c-ext/backend_c.c +++ b/c-ext/backend_c.c @@ -151,16 +151,16 @@ void zstd_module_init(PyObject *m) { */ PyObject *features = NULL; PyObject *feature = NULL; - unsigned zstd_ver_no = ZSTD_versionNumber(); - unsigned our_hardcoded_version = 10507; - if (ZSTD_VERSION_NUMBER != our_hardcoded_version || - zstd_ver_no != our_hardcoded_version) { + unsigned zstd_version_min = 10506; + // if either compile-time or runtime version of libzstd is lower than expected, abort initialization + if (ZSTD_VERSION_NUMBER < zstd_version_min || + ZSTD_versionNumber() < ztd_version_min) { PyErr_Format( PyExc_ImportError, "zstd C API versions mismatch; Python bindings were not " "compiled/linked against expected zstd version (%u returned by the " "lib, %u hardcoded in zstd headers, %u hardcoded in the cext)", - zstd_ver_no, ZSTD_VERSION_NUMBER, our_hardcoded_version); + ZSTD_versionNumber(), ZSTD_VERSION_NUMBER, zstd_version_min); return; } From b125ef1352eb3cb8abbcd438512b90185b31340b Mon Sep 17 00:00:00 2001 From: Yuriy Chernyshov Date: Sun, 17 Aug 2025 18:59:24 +0300 Subject: [PATCH 2/2] Typo --- c-ext/backend_c.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c-ext/backend_c.c b/c-ext/backend_c.c index 8d4027cc..abb99090 100644 --- a/c-ext/backend_c.c +++ b/c-ext/backend_c.c @@ -154,7 +154,7 @@ void zstd_module_init(PyObject *m) { unsigned zstd_version_min = 10506; // if either compile-time or runtime version of libzstd is lower than expected, abort initialization if (ZSTD_VERSION_NUMBER < zstd_version_min || - ZSTD_versionNumber() < ztd_version_min) { + ZSTD_versionNumber() < zstd_version_min) { PyErr_Format( PyExc_ImportError, "zstd C API versions mismatch; Python bindings were not "