Hi polikuo
... tc@box: ~ $ ldd /usr/lib/libc.so
/usr/lib/libc.so: error while loading shared libraries: /usr/lib/libc.so: invalid ELF header
...
The libc.so library tends to be very stable and rarely changes since everything (including the kernel) depends on it. So
seeing another libc.so in /usr/lib/ struck me as odd. Turns out it is provided by glibc_base-dev.tcz and is not a shared
library at all. It appears to contain directives for the linker. Run this and see for yourself:
cat /usr/lib/libc.so
... tc@box: ~ $ nm /usr/local/lib/libreadline.so.8 | grep UP
U UP
The U means that symbol UP is undefined and is expected to be found in an external executable (dependency).
I see UP defined in libncursesw.so.