WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Standard location of ld and compatibility  (Read 1447 times)

Offline Downchuck

  • Newbie
  • *
  • Posts: 4
Standard location of ld and compatibility
« on: April 01, 2015, 02: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.


Offline Downchuck

  • Newbie
  • *
  • Posts: 4
Re: Standard location of ld and compatibility
« Reply #1 on: April 02, 2015, 12:54:44 AM »
For anyone who has run into this, the nixos patchelf program can assist:
https://nixos.org/patchelf.html

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10957
Re: Standard location of ld and compatibility
« Reply #2 on: April 02, 2015, 01: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 ;)
The only barriers that can stop you are the ones you create yourself.