Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Oct 2008 22:31:40 -0400
From:      "Alexander Sack" <pisymbol@gmail.com>
To:        "Alexander Kabaev" <kabaev@gmail.com>
Cc:        FreeBSD Hackers <freebsd-hackers@freebsd.org>, freebsd-questions@freebsd.org
Subject:   Re: Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit binaries?
Message-ID:  <3c0b01820810231931p2acbf426m7f1b94b73b466e5d@mail.gmail.com>
In-Reply-To: <20081023220949.7f304bbb@kan.dnsalias.net>
References:  <3c0b01820810231731s1b4d4659j7d1df8bf4abb229c@mail.gmail.com> <86hc72x0nx.fsf@ds4.des.no> <86d4hqwzur.fsf@ds4.des.no> <3c0b01820810231848r3e3e297cl3dc9bf1d0edcd588@mail.gmail.com> <20081023220949.7f304bbb@kan.dnsalias.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Oct 23, 2008 at 10:09 PM, Alexander Kabaev <kabaev@gmail.com> wrote:
> On Thu, 23 Oct 2008 21:48:47 -0400
> "Alexander Sack" <pisymbol@gmail.com> wrote:
>
>> Thanks, comments most appreciated.  Damn, I was looking for someone to
>> go "a ha, you can't do this because...."  Alright, let me see why rtld
>> on 6.1-amd64 is picking up /usr/lib32 stuff for a native 64-bit binary
>> via debugging techniques. This seems very very wrong to me.  I mean if
>> /usr/lib is in my LD_LIBRARY_PATH and it comes before /usr/lib the
>> /usr/lib32 *should* be innocuous, right?
>>
>> Feel free to use that last statement on my epitaph!  :D
>>
> LD_LIBRARY_PATH is for native 64bit rtld. If you want a specific path
> added for use by 32-bit ld-elf.so.1 only, use LD_32_LIBRARY_PATH.
>
> Said that, your problem is likely caused by the fact that there is
> no /lib32, only /usr/lib32. So if 64-bit library lives in /lib,
> your LD_LIBRARY_PATH will cause loader to find its 32-bit equivalent
> in /usr/lib32 first.
>
> Try LD_LIBRARY_PATH=/lib:/usr/lib:/usr/lib32:/usr/lib64 for better
> results.

Yes I figured that out on my own but my question still exists, why
isn't /usr/lib similar in format to /usr/lib32 though with respect to
major numbers?  Actually now that I re-read your paragraph I suppose
this isn't such a bad idea but for some reason I believe that if you
have /usr/lib before /usr/lib32 it should *just* work.

-aps



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3c0b01820810231931p2acbf426m7f1b94b73b466e5d>