i386 binaries on amd64: ldconfig problems

Oliver Fromme olli at lurza.secnetix.de
Thu May 31 11:23:09 UTC 2012


Eugene Grosbein wrote:
 > 31.05.2012 16:58, Konstantin Belousov writes:
 > > The library search order is LD_{32}_LIBRARY_PATH, then DT_RPATH from
 > > the binary, then hints, then /lib:/usr/lib. So if rpath of the binary
 > > contains /usr/local/lib, you get /usr/local/lib before hints.
 > > 
 > > Rtld uses only the search path from the hints file. When a library with
 > > the matched name found, rtld tries to load it. Regardless of the result
 > > of the load attempt, further components of the search path list are not
 > > tried.
 > > 
 > > Look at the olvwm binary with readelf and see whether DT_RPATH specifies
 > > /usr/local/lib.
 > 
 > I've faced exactly same problem. What can be done other to rebuild
 > of all such 32bit bit binaries to make them work for transition period?
 > Should libmap32.conf help? It seems it does not.

Does LD_32_LIBRARY_PATH not work for you?

Another idea would be to modify rtld-elf to automatically
replace "lib" with "lib32" inside rpath strings when
executing i386 binaries on an amd64 system.  This would
be a rather trivial change, just one line in rtld.c.
But I haven't actually tried this.  LD_32_LIBRARY_PATH
works for me.

Best regards
   Oliver

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart

FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd

"The worst thing about Perl jokes is that next morning you can't understand
why they seemed so funny."  (from #protolol)


More information about the freebsd-stable mailing list