[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: -rpath and policy?



Colin Watson <cjwatson@debian.org> writes:

> On Mon, Jun 14, 2004 at 01:31:38PM +0200, Goswin von Brederlow wrote:
>> martin f krafft <madduck@debian.org> writes:
>> > It doesn't seem to be Debian policy not to use -rpath. I can't find
>> > a single reference to it in the document.
>> >
>> > Is this intentional?
>> 
>> Anything that uses -rpath will break in sarge+1 when/if multiarch is
>> introduced.
>
> Not that I'm a great fan of -rpath, but I don't see why that should be
> true in this case. Multiarch will require keeping compatibility library
> symlinks around for some time in order to keep compatibility with other
> distributions, and when it comes time to change the PI the application
> will have to be recompiled anyway.

The only thing needed for compatibility is /lib/ld-linux.so.2 and
/lib64/ld-linux-x86-64.so.2. Every other stdandard lib is found by ld.

Multiarch will move libs from [/usr]/lib[64] to
[/usr]/lib/<arch>-<os>/ and update the ld acordingly. That works
flawlessly unless you have an rpath to say /lib/libc.so.6 (which would
also not use the optimized /lib/tls/libc.so.6 and similiar so its bad
already)


Where should compatibility links point to?
i386:~% ldd =echo
        linux-gate.so.1 =>  (0x00000000)
        libc.so.6 => /lib/libc.so.6 (0x55577000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x55555000)
amd64:~% ldd =echo
        libc.so.6 => /lib/libc.so.6 (0x0000002a9566b000)
        /lib64/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x0000002a95556000)

Which of the two libc6.so.6 shoud it point to?

MfG
        Goswin



Reply to: