I built the latest glibc and now i\'m having some trouble with functions in coreutils like ls
or cat
or anything else like vim
.
Having multiple versions of glibc on a single system is possible, but slightly tricky, as explained in this answer. In particular, this:
LD_LIBRARY_PATH=/home/ex/uid377/glibc/lib/:${LD_LIBRARY_PATH}
is expected to crash, because your ld-linux-x86-64.so.2
will not match your libc.so.6
cat: error while loading shared libraries: __vdso_time: invalid mode for dlopen(): ...
It's not clear how you built this cat
, but it's most likely the exact same problem: you are picking some libraries from /lib64
, and some from /home/ex/uid377/glibc/lib
. Don't do that. You must link all the programs that will use /home/ex/uid377/glibc/lib/libc.so.6
with -Wl,--dynamic-linker=/home/ex/uid377/glibc/lib/ld-linux-x86-64.so.2
.
You can trace which libraries are currently being loaded by running:
env LD_DEBUG=files,libs ./cat