Re: ia32 libs
On 04-Nov-2008 14:14.19 (GMT), Lennart Sorensen wrote:
> > gtk fully supports biarch builds. On Fedora and some other distributions,
> > the 64-bit libraries are held in /usr/lib64 and 32-bit in /usr/lib (or
> > /usr/lib32). You're right that gtk builds the library load path into the
> > binary, which is causing the load to fail as by the time 32-bit gtk is
> > repacked for 64-bit, the paths are all wrong.
> Assuming 64bit libs are going to be in lib64 on a biarch system is a
> bug. You can't assume that. Hardcoded paths are also not very nice and
> prevent things like the repacking ai32-libs does. Fortunately most
> other things don't do libraries this way.
That's simply not the case.
The engines aren't "libraries" as such (being modules), they're loaded using
dlopen(). Normal libraries are linked into the executable and resolved at load
time, by using the ld.so path mechanism. This is done by the ELF loader.
Since dlopen() requires a full path to load a library, that has to be
compiled in at build time.
Remember: The error in this case is the Debian repackaging of the i386
libgtk2.0-0, which uses the same library paths.
rob andrews :: pgp 0xd6c3e484 :: email@example.com