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

Re: Improve support for installing 32-bit libraries on 64-bit systems



Michael Tsang <miklcct@gmail.com> writes:

> I have a recommendation for 32-bit libraries on 64-bit systems:
>
> Now, some libraries are available on 64-bit systems as lib32* but these are 
> very few. To improve this situation, I think that we can organise the library 
> packages as follows:
>
> For a library with soname libfoo.so.1, we can make the following packages:
> libfoo1	- /usr/lib/libfoo.so.1
> lib32foo1	- /usr/lib32/libfoo.so.1

That would be lib32, lib64, libn32, libo32, lib32el, lib32eb, libn32el,
libn32eb, lib64el, lib64eb, ... Need I go on?

Also note that you need lib32foo1 on ia64 but you can not compile
one. There is no multilib or cross-compiler for i386 on ia64 in Debian.

> libfoo-dev	- /usr/lib32/libfoo.so /usr/lib/libfoo.so /usr/include/foo.h
> 	libfoo-dev depends on libfoo1 | lib32foo1 (if one of them aren't 
> installed, left the .so link as a dead link)

Which would mean that tons of users would end up with broken symlinks
and sources would fail to compile. apt-get build-dep would not work
anymore and so on. Verry bad idea.

No, you need libfoo-dev and lib32foo-dev and all the other names from
above.

> libfoo-shared	- architecture-independent files of libfoo (excluding 
> development files)
>
> This should be implemented as a build template to make all library packages 
> use this organisation scheme. I think this should be implemented after the 
> release of Squeeze.
> -- 
> Please avoid sending me Word or PowerPoint attachments.
> See http://www.gnu.org/philosophy/no-word-attachments.html

Multiarch solves this much better and includes cross-compile support in
this while also avoiding the many multiple of compiles of the same lib.

Also ia32-apt-get solved this issue nicely for the time till true
multiarch will finally be available. You can pick pretty much any
library and "apt-get install ia32-libfoo" or install 32bit debs directly
and apt will resolve the depends just fine.

The parts that possibly break in ia32-apt-get are the parts packages
must fix to be multiarch compliant. Even if dpkg/apt don't support
multiarch then ia32-apt-get could install multiarch package reliably
under the prefixed name. But 99% of use cases work just fine already.

And don't forget there is a Google summer of code project to
multiarchify apt.

MfG
        Goswin


Reply to: