[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Multiarch support (was Moving 32-bit libraries to (/usr)/lib32on amd64)



On 06-Feb-24 12:06, Aurelien Jarno wrote:
> Andreas Jochens a écrit :
> >I suggest the following setup for 32-bit libraries on amd64:
> >
> >1. The ia32-libs package continues to install the 32-bit libraries in 
> >/emul/ia32-linux/usr/lib but it stops to provide the 32-bit libc6(-dev) 
> >packages.

> >2. The ia32-libs package does no longer provide a symlink from 
> >/usr/lib32 to /emul/ia32-linux/usr/lib.
> 
> Removing this link render the ia32-libs-dev package unusable as 
> /emul/ia32-linux/usr/lib is not a search path when linking libraries.

/emul/ia32-linux/usr/lib _is_ in the search path of the dynamic linker
because /emul/ia32-linux/usr/lib is added to /etc/ld.so.conf by
ia32-libs.postinst. Consequently, the symlink to /usr/lib32 is not 
necessary to run 32-bit binaries that use libraries from ia32-libs.

As far as I remember, the /usr/lib32 symlink was introduced in ia32-libs
because without it 'gcc -m32' did not work correctly because it expects
its own 32-bit libraries (e.g. libgcc*) to be in /usr/lib32. This 
problem with gcc will no occur in my suggested setup because of:

> >3. The 32-bit libraries from libc6(-dev-)-i386, lib32gcc1, lib32stdc++,
> >lib32z1 and other "_amd64.deb" packages are installed in
> >/usr/lib32 which is not a symlink but a real directory.

Regards
Andreas Jochens



Reply to: