0

As Debian program often lags of shared library / dependency, so accompanying it with the eligible shared library should work, i.e. by the same latest update of roll-based/quick update OS, e.g. Arch programs/packages

so just copy all package files from it to Debian OS in its own, here e.g program is xbright , its dep. copied to /usr/local/lib

but why accompanying shared library to which the one requires it altogether simply fails in such way:

$ LD_LIBRARY_PATH=/usr/local/lib xbright =5 xbright: relocation error: /usr/local/lib/libc.so.6: symbol _dl_audit_symbind_alt version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference 

to clear by nice info, the failed one is

$ xbright =5 xbright: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by xbright) 

Help please, how to have it work as supposed to be ?

1 Answer 1

1

The dynamic linker is also part of the C library, you need to copy that too. Check what /lib64/ld-linux-x86-64.so.2 points to on Arch, and copy that to /usr/local/lib; then check that it’s working by running

LD_LIBRARY_PATH=/usr/local/lib /usr/local/lib/ld-2.34.so xbright =5 

(replacing ld-2.34.so with the appropriate name).

You can set your binaries up to use that interpreter by default using patchelf:

patchelf --set-interpreter /usr/local/lib/ld-2.34.so /usr/local/bin/xbright 

You can also set the RPATH in xbright to point to /usr/local/lib, so you won’t need to set LD_LIBRARY_PATH all the time:

patchelf --set-rpath /usr/local/lib /usr/local/bin/xbright 

You must log in to answer this question.