Tiny Core Extensions > TCE Bugs
readline undefined symbol
polikuo:
TC 12.0 x86_64
/usr/local/bin/awk from gawk.tcz reports
--- Code: ---$ printf '\tTAB' | /use/local/bin/awk '/\t/'
symbol lookup error: /usr/local/lib/libreadline.so.8: undefined symbol: UP
--- End code ---
Rich:
Hi polikuo
Does this show anything missing:
--- Code: ---ldd /usr/local/lib/libreadline.so.8
--- End code ---
polikuo:
Not really
Here are some tests
--- Code: ---tc@box: ~ $ ldd /usr/local/lib/libreadline.so.8
linux-vdso.so.1 (0x00007ffe2f1c1000)
libc.so.6 => /lib/libc.so.6 (0x00007fa07e9f5000)
/lib/ld-linux-x86-64.so.2 (0x00007fa07ebe0000)
tc@box: ~ $ /lib/ld-linux-x86-64.so.2 --verify /usr/local/lib/libreadline.so.8
tc@box: ~ $ echo $?
2
tc@box: ~ $ ldd /usr/lib/libc.so
/usr/lib/libc.so: error while loading shared libraries: /usr/lib/libc.so: invalid ELF header
tc@box: ~ $ /lib/ld-linux-x86-64.so.2 --verify /usr/lib/libc.so
tc@box: ~ $ echo $?
1
tc@box: ~ $ ldd /lib/libc.so.6
/lib/ld-linux-x86-64.so.2 (0x00007f1e918e3000)
linux-vdso.so.1 (0x00007ffcb71fb000)
tc@box: ~ $ /lib/ld-linux-x86-64.so.2 --verify /lib/libc.so.6
tc@box: ~ $ echo $?
0
tc@box: ~ $ ldd /usr/local/bin/awk
linux-vdso.so.1 (0x00007fffd0335000)
libreadline.so.8 => /usr/local/lib/libreadline.so.8 (0x00007f880aa4e000)
libmpfr.so.6 => /usr/local/lib/libmpfr.so.6 (0x00007f880a79f000)
libgmp.so.10 => /usr/local/lib/libgmp.so.10 (0x00007f880a71d000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f880a718000)
libm.so.6 => /lib/libm.so.6 (0x00007f880a5f4000)
libc.so.6 => /lib/libc.so.6 (0x00007f880a470000)
/lib/ld-linux-x86-64.so.2 (0x00007f880aab5000)
tc@box: ~ $ /lib/ld-linux-x86-64.so.2 --verify /usr/local/bin/awk
tc@box: ~ $ echo $?
0
tc@box: ~ $ nm /usr/local/lib/libreadline.so.8 | grep UP
U UP
--- End code ---
Juanito:
Hmm - normally readline should depend on ncursesw - I'll take a look tomorrow.
Rich:
Hi polikuo
--- Quote from: polikuo on April 04, 2021, 12:05:45 PM --- ...
--- Code: ---tc@box: ~ $ ldd /usr/lib/libc.so
/usr/lib/libc.so: error while loading shared libraries: /usr/lib/libc.so: invalid ELF header
--- End code ---
...
--- End quote ---
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:
--- Code: ---cat /usr/lib/libc.so
--- End code ---
--- Quote --- ...
--- Code: ---tc@box: ~ $ nm /usr/local/lib/libreadline.so.8 | grep UP
U UP
--- End code ---
--- End quote ---
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.
Navigation
[0] Message Index
[#] Next page
Go to full version