Installing libzstd-static in Rocky8

Centos 7 had the libzstd-static package providing the static version of libzstd. I didn’t find it in the Rocky 8 repositories. How can I install the static version of libzstd in Rocky 8?

Hi,
According to the search here: https://pkgs.org/search/?q=libzstd you can get the libzstd package from Remi’s repository for EL8 and EL9.

libzstd is not in “remi” repository (only an old version existed before it was added in 8.2, but now cleaned)

zstd, libzstd and libzstd-devel are in BaseOS/AppStream

static library is not available (but I don’t see any usage for this one, as the API/ABI of the shared library will be preserve by updates)

1 Like

I need the static version, since we use custom functions for allocating/freeing memory, which are declared experimental and are available only when using the static version.

moreover, the static version is available in Rocky 9 but not in Rocky 8.

OK, thanks for the clarification as was going by the results from pkgs.org :slight_smile:

I see the symbol available in the shared library.

$ objdump -T /usr/lib64/libzstd.so | grep advanced
0000000000020c50 g    DF .text	0000000000000072  Base        ZSTD_compress_usingCDict_advanced
00000000000124e0 g    DF .text	000000000000005c  Base        ZSTD_compress_usingCDict_advanced
000000000000f8c0 g    DF .text	0000000000000009  Base        ZSTD_createCStream_advanced
000000000000f550 g    DF .text	0000000000000233  Base        ZSTD_createCDict_advanced
00000000000683d0 g    DF .text	00000000000000a6  Base        ZSTD_createDDict_advanced
...

I don’t see any issue using them, as ABI/API won’t change in Enterprise Linux

yes, but the zstd developers explicitly say that such functions should only be used with static linking.