@parzivalwolfram@infosec.exchange
Post #3574259
2025-10-25 20:05 UTC
Replies (1)
-
@parzivalwolfram@infosec.exchange 2025-10-26 18:27
ugh, the versioned symbols DO exist... in a custom table, and Solaris' linker gives up and returns the first file it sees when linking, so at COMPILE time libstdc++ is linked to /usr/lib/libm.so.1, but at RUNTIME it's pulling `$__OUTDIR/lib/libm.so.1`! (in this case `$__OUTDIR` is `/opt/newroot`) # ldd -s /opt/newroot/lib/libstdc++.so find library=libm.so.1; required by /opt/newroot/lib/libstdc++.so search path=/usr/local/lib:/opt/newroot/lib:/usr/lib:/lib:/sbin/lib:/opt/SUNWspro/lib (LD_LIBRARY_PATH) trying path=/usr/local/lib/libm.so.1 trying path=/opt/newroot/lib/libm.so.1 libm.so.1 => /opt/newroot/lib/libm.so.1 libm.so.1 (SUNW_1.1) => (version not found) # mv /opt/newroot/lib/libm.so.1 /tmp # sync # LD_LIBRARY_PATH=/opt/newroot/lib:/usr/lib:/lib:/sbin/lib:/opt/SUNWspro/lib ldd -s /opt/newroot/lib/libstdc++.so find library=libm.so.1; required by /opt/newroot/lib/libstdc++.so search path=/opt/newroot/lib:/usr/lib:/lib:/sbin/lib:/opt/SUNWspro/lib (LD_LIBRARY_PATH) trying path=/opt/newroot/lib/libm.so.1 trying path=/usr/lib/libm.so.1 libm.so.1 => /usr/lib/libm.so.1