This is tricky; three options:
1) patch the files to use your ld-linux; patchelf is supposed to be able to
do this, but when I tried --set-interpreter on a simple binary I got this
error:
cannot find section .interp

You could still patch it in ugly ways.

2) you can wrap your commands in shell scripts which run the linker; you
have a stable interface in the form of POSIX shell script /bin/sh; it goes
like this:
./copy-of-ld --inhibit-cache ./foo

3) you can set the interpreter at build time; this is supposedly done with
-Wl,--dynamic-linker=foo, but by default your toolchain probably uses
linker scripts which will set a different linker. You may dump the default
linker script and override it (gcc -T) with your own fork.

In any case I'd be interest to read about why you want to avoid the
ld-linux dep and how you implement it in the end.  :-)

Cheers,
- Loïc Minier






On Thu, Jul 21, 2016 at 12:14 PM, Martin Winter <
[email protected]> wrote:

> Hi there,
>
> I’m currently failing on my package with this error.
>
> I have the libc6 included as a stage package, but trying to find the
> correct linker option
> to actually use the library included in snap instead of the system wide
> one.
>
> Anyone knows how to get gcc/ld to use the correct library?
>
> - Martin
>
> --
> Snapcraft mailing list
> [email protected]
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/snapcraft
>
-- 
Snapcraft mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/snapcraft

Reply via email to