in reply to How to install Compress::Stream::Zstd in Strawberry Perl?

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.

PerlMonks XP is useless? Not anymore: XPD - Do more with your PerlMonks XP
Also check out my sisters artwork and my weekly webcomics