Hmm, on Linux (Ubuntu 24.04 LTS 64bit) it seems to build the lib in place without problems:
$ cpan install Compress::Stream::Zstd
Reading '/home/cavac/.cpan/Metadata'
Database was generated on Tue, 04 Mar 2025 06:29:02 GMT
CPAN: HTTP::Tiny loaded ok (v0.090)
CPAN: Net::SSLeay loaded ok (v1.94)
CPAN: IO::Socket::SSL loaded ok (v2.089)
Fetching with HTTP::Tiny:
https://cpan.org/authors/01mailrc.txt.gz
Reading '/home/cavac/.cpan/sources/authors/01mailrc.txt.gz'
CPAN: Compress::Zlib loaded ok (v2.213)
......................................................................
+......DONE
Fetching with HTTP::Tiny:
https://cpan.org/modules/02packages.details.txt.gz
Reading '/home/cavac/.cpan/sources/modules/02packages.details.txt.gz'
Database was generated on Wed, 05 Mar 2025 14:17:02 GMT
CPAN: HTTP::Date loaded ok (v6.06)
......................................................................
+......DONE
Fetching with HTTP::Tiny:
https://cpan.org/modules/03modlist.data.gz
Reading '/home/cavac/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /home/cavac/.cpan/Metadata
Running install for module 'Compress::Stream::Zstd'
Fetching with HTTP::Tiny:
https://cpan.org/authors/id/P/PM/PMQS/Compress-Stream-Zstd-0.206.tar.g
+z
CPAN: Digest::SHA loaded ok (v6.04)
Checksum for /home/cavac/.cpan/sources/authors/id/P/PM/PMQS/Compress-S
+tream-Zstd-0.206.tar.gz ok
CPAN: YAML loaded ok (v1.31)
CPAN: CPAN::Meta::Requirements loaded ok (v2.143)
CPAN: Parse::CPAN::Meta loaded ok (v2.150010)
CPAN: CPAN::Meta loaded ok (v2.150010)
CPAN: Module::CoreList loaded ok (v5.20250120)
Configuring P/PM/PMQS/Compress-Stream-Zstd-0.206.tar.gz with Build.PL
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Compress-Stream-Zstd' version '0.206'
PMQS/Compress-Stream-Zstd-0.206.tar.gz
/home/cavac/bin/CavacPerl-5.40.1/bin/perl Build.PL -- OK
Running Build for P/PM/PMQS/Compress-Stream-Zstd-0.206.tar.gz
make: Entering directory '/home/cavac/.cpan/build/Compress-Stream-Zstd
+-0.206-0/ext/zstd/lib'
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/debug.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/entropy_common.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/error_private.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/fse_decompress.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/pool.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/threading.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/xxhash.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstd_common.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstd_v05.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstd_v06.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstd_v07.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/fse_compress.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/hist.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/huf_compress.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstd_compress.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstd_compress_lite
+rals.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstd_compress_sequ
+ences.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstd_compress_supe
+rblock.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstd_double_fast.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstd_fast.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstd_lazy.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstd_ldm.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstd_opt.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstdmt_compress.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/huf_decompress.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstd_ddict.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstd_decompress.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zstd_decompress_bl
+ock.o
AS obj/conf_5413757261b9f41abdf3d55d0a87b321/static/huf_decompress_amd
+64.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/cover.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/divsufsort.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/fastcover.o
CC obj/conf_5413757261b9f41abdf3d55d0a87b321/static/zdict.o
compiling single-threaded static library 1.5.5
make: Leaving directory '/home/cavac/.cpan/build/Compress-Stream-Zstd-
+0.206-0/ext/zstd/lib'
Building Compress-Stream-Zstd
cc -I/home/cavac/bin/CavacPerl-5.40.1/lib/perl5/5.40.1/x86_64-linux/CO
+RE '-DVERSION="0.206"' '-DXS_VERSION="0.206"' -fPIC -Wall -Wextra -Wn
+o-parentheses -Wno-unused -Wno-unused-parameter -I. -Iext/zstd/lib -D
+ZSTD_LEGACY_MULTITHREADED_API -c -fwrapv -fno-strict-aliasing -pipe -
+fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE '-D_
+FILE_OFFSET_BITS=64' -O2 -o lib/Compress/Stream/Zstd.o lib/Compress/S
+tream/Zstd.c
ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/Compress/Stream/Zst
+d/Zstd.bs')
cc -shared -O2 -L/usr/local/lib -fstack-protector-strong -o blib/arch/
+auto/Compress/Stream/Zstd/Zstd.so lib/Compress/Stream/Zstd.o -pthread
+ ext/zstd/lib/libzstd.a
PMQS/Compress-Stream-Zstd-0.206.tar.gz
./Build -- OK
CPAN: CPAN::DistnameInfo loaded ok (v0.12)
Running Build test for PMQS/Compress-Stream-Zstd-0.206.tar.gz
t/00_compile.t .............. ok
t/01_basic.t ................ #
# Compress::Stream::Zstd Version 0.206
# ZSTD_VERSION_NUMBER 10505
# ZSTD_VERSION_STRING 1.5.5
# ZSTD_MAX_CLEVEL 22
# ZSTD_MIN_CLEVEL -131072
#
t/01_basic.t ................ ok
t/02_streaming.t ............ ok
t/03_context.t .............. ok
t/04_dictionary.t ........... ok
t/05_streaming_windowlog.t .. ok
All tests successful.
Files=6, Tests=45, 0 wallclock secs ( 0.01 usr 0.01 sys + 0.16 cusr
+ 0.03 csys = 0.21 CPU)
Result: PASS
PMQS/Compress-Stream-Zstd-0.206.tar.gz
./Build test -- OK
Running Build install for PMQS/Compress-Stream-Zstd-0.206.tar.gz
Building Compress-Stream-Zstd
Files found in blib/arch: installing files in blib/lib into architectu
+re dependent library tree
Installing /home/cavac/bin/CavacPerl-5.40.1/lib/perl5/site_perl/5.40.1
+/x86_64-linux/auto/Compress/Stream/Zstd/Zstd.so
Installing /home/cavac/bin/CavacPerl-5.40.1/lib/perl5/site_perl/5.40.1
+/x86_64-linux/auto/Compress/Stream/Zstd/Zstd.bs
Installing /home/cavac/bin/CavacPerl-5.40.1/lib/perl5/site_perl/5.40.1
+/x86_64-linux/Compress/Stream/Zstd.pm
Installing /home/cavac/bin/CavacPerl-5.40.1/lib/perl5/site_perl/5.40.1
+/x86_64-linux/Compress/Stream/Zstd/CompressionDictionary.pm
Installing /home/cavac/bin/CavacPerl-5.40.1/lib/perl5/site_perl/5.40.1
+/x86_64-linux/Compress/Stream/Zstd/DecompressionDictionary.pm
Installing /home/cavac/bin/CavacPerl-5.40.1/lib/perl5/site_perl/5.40.1
+/x86_64-linux/Compress/Stream/Zstd/Compressor.pm
Installing /home/cavac/bin/CavacPerl-5.40.1/lib/perl5/site_perl/5.40.1
+/x86_64-linux/Compress/Stream/Zstd/CompressionContext.pm
Installing /home/cavac/bin/CavacPerl-5.40.1/lib/perl5/site_perl/5.40.1
+/x86_64-linux/Compress/Stream/Zstd/Decompressor.pm
Installing /home/cavac/bin/CavacPerl-5.40.1/lib/perl5/site_perl/5.40.1
+/x86_64-linux/Compress/Stream/Zstd/DecompressionContext.pm
Installing /home/cavac/bin/CavacPerl-5.40.1/man/man3/Compress::Stream:
+:Zstd::CompressionContext.3
Installing /home/cavac/bin/CavacPerl-5.40.1/man/man3/Compress::Stream:
+:Zstd.3
Installing /home/cavac/bin/CavacPerl-5.40.1/man/man3/Compress::Stream:
+:Zstd::DecompressionDictionary.3
Installing /home/cavac/bin/CavacPerl-5.40.1/man/man3/Compress::Stream:
+:Zstd::CompressionDictionary.3
Installing /home/cavac/bin/CavacPerl-5.40.1/man/man3/Compress::Stream:
+:Zstd::Decompressor.3
Installing /home/cavac/bin/CavacPerl-5.40.1/man/man3/Compress::Stream:
+:Zstd::Compressor.3
Installing /home/cavac/bin/CavacPerl-5.40.1/man/man3/Compress::Stream:
+:Zstd::DecompressionContext.3
PMQS/Compress-Stream-Zstd-0.206.tar.gz
./Build install -- OK
But i have no idea if the lib itself is up-to-date. I somehow have my doubts, since the last change mentions . There were quite a few security problems with zstd in recent years. The CPAN module mentions "updated to the version from April 2023", but there seem to be quite a few CVEs after that that mention zstd: https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=zstd. The libs Github release page also shows a lot of fixed bugs: https://github.com/facebook/zstd/releases.
That is, if my google-foo didn't mess up. I'm not really that familiar with this compression library, i have yet to motivate myself to go through the process of adding yet another set of "standard" compression algos to my webserver framework and evaluate the memory/speed/caching tradeoffs.