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: