Tiny Core Linux

Tiny Core Base => TCB Q&A Forum => Topic started by: Downchuck on April 01, 2015, 05:52:41 PM

Title: Standard location of ld and compatibility
Post by: Downchuck on April 01, 2015, 05:52:41 PM
I've been toying around with using tcz packages on Ubuntu and ChromeOS.

Biggest pain-point I've hit has been that the programmer interpreter link in Core64 does not align.
ChromeOS and Ubuntu expect: /lib64/ld-linux-x86-64.so.2

Meanwhile, everything in Core64 (6.x) has the bare lib folder encoded:
/lib/ld-linux-x86-64.so.2

Was that an intentional design decision? Are there easy ways around it? I was able to use a wrapper (simply running the so as the first argument), but for complex cases, like gcc, it's far too much work, as gcc uses execv to hit additional components.

Title: Re: Standard location of ld and compatibility
Post by: Downchuck on April 02, 2015, 03:54:44 AM
For anyone who has run into this, the nixos patchelf program can assist:
https://nixos.org/patchelf.html
Title: Re: Standard location of ld and compatibility
Post by: curaga on April 02, 2015, 04:54:53 AM
You can just create a symlink.

sudo ln -s /lib64/ld-linux-x86-64.so.2 /lib

And yes, it's intentional, a lib64 directory is ugly ;)