"zstd" from zstd.tcz won't run without loading liblz4.tcz. liblz4.tcz is in zstd.tcz.dep on x86, but not on x86_64.
Also counter-intuitively libzstd.tcz isn't required by "zstd" on x86_64 even though it's in zstd.tcz.dep. "zstd" is the only binary in zstd.tcz (other executables are shell scripts) and it runs fine (compressing and decompressing in Zstandard format) without it.
This is backed up by the output of ldd:
$ ldd `which zstd`
linux-vdso.so.1 (0x00007fff59ff2000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f77e83db000)
liblzma.so.5 => /usr/local/lib/liblzma.so.5 (0x00007f77e83b9000)
liblz4.so.1 => /usr/local/lib/liblz4.so.1 (0x00007f77e83a0000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f77e839b000)
libc.so.6 => /lib/libc.so.6 (0x00007f77e81df000)
/lib/ld-linux-x86-64.so.2 (0x00007f77e83fa000)
The following zstd.tcz.dep works correctly:
liblz4.tcz
liblzma.tcz
But I wonder whether this was a build mistake and zstd was supposed to be linked against libzstd.so? That would save space on my system because libzstd.tcz is a dependency of another extension that I load.