It's nice to have marian binary that is compiled on one machine to run on another with similar architecture and a slight difference in OS version. Restricting to x86_64-linux-gnu and ubuntu, I have faced these issues (even with -DUSE_STATIC_LIBS=on and -DUSE_MPI=off):
[X] Compile on ubuntu 20.04 (with gcc 9.x), try to run on 22.04:
Error: /lib/x86_64-linux-gnu/libpthread.so.0: version 'GLIBC_PRIVATE' not found (required by ./marian)
Best guess: looks like the non-standard pthreads is used. Fixed in #1012
[ ] Compile on ubuntu 22.04 (with gcc 9.x), try to run on 20.04:
Error: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.34' not found (required by ./marian)
marian executable expects newer glibc (>=2.34, default on ubuntu 22.04) but ubuntu 20.04 has older version (v2.31) by default. I am not sure what is the fix for this, as we dont want to mess with the default glibc, also static linking against glibc maybe more harm than good.
Example: CMake build flags
# cpu only build
cmake .. -DUSE_MPI=off -DUSE_STATIC_LIBS=on -DCOMPILE_CUDA=off -DCOMPILE_CPU=on
# cuda build
cmake .. -DUSE_MPI=off -DUSE_STATIC_LIBS=on -DCOMPILE_PASCAL=on -DCOMPILE_VOLTA=on -DCOMPILE_AMPERE=on -DBUILD_ARCH=x86-64
Feature description
It's nice to have marian binary that is compiled on one machine to run on another with similar architecture and a slight difference in OS version. Restricting to
x86_64-linux-gnu
and ubuntu, I have faced these issues (even with-DUSE_STATIC_LIBS=on
and-DUSE_MPI=off
):[X] Compile on ubuntu 20.04 (with gcc 9.x), try to run on 22.04: Error:
/lib/x86_64-linux-gnu/libpthread.so.0: version 'GLIBC_PRIVATE' not found (required by ./marian)
[ ] Compile on ubuntu 22.04 (with gcc 9.x), try to run on 20.04: Error:
/lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.34' not found (required by ./marian)
Example: CMake build flags