comp.lang.ada
 help / color / mirror / Atom feed
From: "Ludovic Brenta" <ludovic@ludovic-brenta.org>
Subject: Re: Multi-arch
Date: 18 May 2006 04:39:58 -0700
Date: 2006-05-18T04:39:58-07:00	[thread overview]
Message-ID: <1147952398.152997.147430@j55g2000cwa.googlegroups.com> (raw)
In-Reply-To: 1147897909.555389.11030@38g2000cwa.googlegroups.com

> Yes, it can be done and is very well worth it. On Gentoo it is called
> multilib and is supported distribution-wide, not only for x86 and
> amd64, but ppc and sparc have theirs multilibs too IIRC (I think both
> of them, but may be only sparc actually).  gcc is supported, as well
> as Ada and most of the libs and apps (to the point where you can
> have wine running 32-bit Windows code on otherwise
> 64bit-clean system - kernel and userspace).

Interesting. I've looked at multilib.eclass and gnat-gcc-4.1.0.ebuild.
I have no detailed knowledge of the Gentoo portage system, so I can
only guess, but it seems to me that the current infrastructure means
that each source package builds several binary packages, one for each
arch, on the machine where you build.  So, for example, if you have an
amd64 machine, you'd get two binaries, i386 and amd64. Furthermore, the
i386 package would install libraries in /usr/lib32, whereas the same
package built on a i386 machine would install libraries in /usr/lib, so
the two packages would be slightly different, and incompatible, even
though built for the same architecture. Debian is currently in a
similar situation, except that it has not deployed this scheme
distribution-wide but only in a few important packages, binutils and
gcc being the most prominent ones.

In the proposal, a source package would only produce one binary package
for the machine doing the build; thus your amd64 box would only produce
the amd64 binary. Then, if you want to install the i386 binary as well,
you'd take the package built by the i386 autobuilder, modify it on the
fly (this is one of the proposed changes to dpkg), and install it
alongside your amd64 package.

Of course, this scheme only makes sense in the context of a binary
distribution like Debian, but there are several benefits:

- it reduces the workload of the autobuilders
- it reduces the size of the binary distribution, and load on the
mirrors
- it simplifies system administration
- it simplifies the job of package maintainers and reduces the
opportinuties for bugs

>From what I understand, Gentoo people might not be very interested in
these benefits, because:

- Gentoo has no autobuilders, as each user recompiles the world on
their machine
- Gentoo has no binary distribution apart from the minimal
bootstrapping system
- Gentoo users seem to like system administration :)
- Gentoo package maintainers seem to like difficult problems :)

The proposal also hints at the LSB. I think it would be necessary to
standardise the library paths across all distros. The current /usr/lib,
/usr/lib32, and /usr/lib64 directories are not general enough. Consider
that some HP processors can run i386, amd64, ia64, hppa *and* hppa64
binaries on the same machine :) And what about Cell processors and
other future asymmetric multiprocessors? What about binaries intended
to run on GPUs or other coprocessors?

> you can catch me on irc,freenode.net in channels #gentoo and
> #gentoo-dev if you would like to discuss this further (my nick there
> is georges, email of course works too: george at gentoo.org)

I'd rather keep the discussion here on c.l.a as it it not specific to
Gentoo, or Debian, or any particular distribution.

-- 
Ludovic Brenta.




  reply	other threads:[~2006-05-18 11:39 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-17  9:22 Multi-arch Ludovic Brenta
2006-05-17  9:45 ` Multi-arch Georg Bauhaus
2006-05-17 20:31 ` Multi-arch gshapovalov
2006-05-18 11:39   ` Ludovic Brenta [this message]
2006-05-18 16:34     ` Multi-arch gshapovalov
2006-05-18 21:24 ` Multi-arch Björn Persson
2006-05-19  7:23   ` Multi-arch Ludovic Brenta
2006-05-19 21:16     ` Multi-arch Björn Persson
2006-05-20 11:18       ` Multi-arch Ludovic Brenta
2006-05-20 17:51         ` Multi-arch Björn Persson
2006-05-21 16:03   ` Multi-arch Dr. Adrian Wrigley
2006-05-21 13:05 ` Multi-arch Dr. Adrian Wrigley
2006-05-21 13:41   ` Multi-arch Ludovic Brenta
2006-05-21 16:07     ` Multi-arch Dr. Adrian Wrigley
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox