Why does adding /usr/lib32 to LD_LIBRARY_PATH break 64-bit
	binaries?
    Dag-Erling Smørgrav 
    des at des.no
       
    Thu Oct 23 18:24:31 PDT 2008
    
    
  
"Alexander Sack" <pisymbol at gmail.com> writes:
> I have some weird behavior I'm trying to figure out and was wondering
> if someone can point me in the right direction.  I'm running a FreeBSD
> 6.1-RELEASE-amd64 machine.  If I add /usr/lib32 to my LD_LIBRARY_PATH
> it breaks all of my binaries on my 64-bit machine.
> [...]
> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/bin:/usr/lib:/usr/lib32:/usr/lib64
I'm surprised you have /usr/bin in there...
> I would ASSUME that rtld would look at my LD_LIBRARY_PATH and use
> /usr/lib to find libraries, not /usr/lib32.  Why does it insist on
> picking /usr/lib32 when "/bin/ls" is CLEARLY a 64-bit binary?  This
> doesn't make complete sense to me just yet.
If you look at the rtld(1) man page, there are a number of environment
variables you can set to debug the loader.  I'm not sure how helpful
they are, though.
> Someone I'm sure is going "don't do that" and I agree.
Well, yeah, but it should (at the very least) fail in a more graceful
manner.
DES
-- 
Dag-Erling Smørgrav - des at des.no
    
    
More information about the freebsd-questions
mailing list