From 844a35108b6539062d9942bedaecb5a6ab0b79f0 Mon Sep 17 00:00:00 2001 From: Jonathan Albrecht Date: Thu, 14 Apr 2022 11:05:39 -0700 Subject: [PATCH] Fix minimum libzstd version that supports ZSTD_STREAMING (#9841) Summary: The minimum libzstd version that has `ZSTD_compressStream2` is 1.4.0 so only define ZSTD_STREAMING in that case. Fixes building on Ubuntu 18.04 which has libzstd 1.3.3 as its repository version. Fixes https://github.com/facebook/rocksdb/issues/9795 Pull Request resolved: https://github.com/facebook/rocksdb/pull/9841 Test Plan: Build and test on Ubuntu 18.04 with: apt-get install libsnappy-dev zlib1g-dev libbz2-dev liblz4-dev \ libzstd-dev libgflags-dev g++ make curl Reviewed By: ajkr Differential Revision: D35648738 Pulled By: jay-zhuang fbshipit-source-id: 2a9e969bcc17a7dc10172f3817283409de885811 --- util/compression.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/util/compression.h b/util/compression.h index 6522a1f13..1a0488240 100644 --- a/util/compression.h +++ b/util/compression.h @@ -49,8 +49,10 @@ #include #if ZSTD_VERSION_NUMBER >= 10103 // v1.1.3+ #include -#define ZSTD_STREAMING #endif // ZSTD_VERSION_NUMBER >= 10103 +#if ZSTD_VERSION_NUMBER >= 10400 // v1.4.0+ +#define ZSTD_STREAMING +#endif // ZSTD_VERSION_NUMBER >= 10400 namespace ROCKSDB_NAMESPACE { // Need this for the context allocation override // On windows we need to do this explicitly @@ -516,8 +518,8 @@ inline bool ZSTDNotFinal_Supported() { } inline bool ZSTD_Streaming_Supported() { -#ifdef ZSTD - return ZSTD_versionNumber() >= 10300; +#if defined(ZSTD) && defined(ZSTD_STREAMING) + return true; #else return false; #endif