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: