[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 03:50:46PM +0200, Goswin von Brederlow wrote:
>> Colin Watson <cjwatson@debian.org> writes:
>> > 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)
>
> It may be bad, but it will at least *run*.
>
>> 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?
>
> Whatever was previously in the location of the symlink.

Which one? The 32bit one or the 64bit one? Notice how they both are
exactly the same location and name.

MfG
        Goswin



Reply to: