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

Re: gcc-4.7 and libgomp1 in unstable

On Fri, 29 Jun 2012 18:04:30 +0200
Domenico Andreoli <cavok@debian.org> wrote:

> On Fri, Jun 29, 2012 at 04:44:44PM +0200, Vincent Besse wrote:
> > libgomp1-armel-cross in unstable depends on
> > gcc-4.7-base-armel-cross(=4.7.1-2) but the package in the repository is
> > gcc-4.7-base-armel-cross_4.7.0-9. This prevents installation of any
> > gcc-4.x-arm-linux-gnueabi :(
> yep, happens all the time

And will continue to do so.

-armel-cross packages come from native builds of native packages, some
large, some small.

-arm-linux-gnueabi packages come from reverse cross builds of
compilers, always a complex and problematic build.

-armel-cross packages have to be updated when Debian uploads the armel
package for that version to unstable.

-arm-linux-gnueabi packages are updated when they build.

-armel-cross packages, being based on armel native packages, *must*
build correctly, albeit more slowly than the i386 or amd64 native
packages. There are a lot of people to fix such bugs.

-arm-linux-gnueabi packages are supported only by Emdebian which comes
down to one or two people. There is no requirement that the
cross-compiler builds before Debian makes a release or migrates that
compiler into testing.

Inevitably, the timeframes for these two methods will rarely coincide.
That is the price of choosing packages from unstable. It's what
unstable means.

-armel-cross packages cannot be pinned at old versions because the old
dpkg-cross tools simply cannot support not trying to upgrade them to
the repository versions and that breaks builds using the cross-compiler.

There isn't time to migrate these packages into testing regularly
either. Until we get into a freeze (v.v.soon now), the pace of change
in unstable *always* outstrips the reverse cross builds. Once gcc stops
being updated in unstable, the -arm-linux-gnueabi packages will have
time to catch up, at which point we can look at migrations into testing
with the aim of updating the toolchains in wheezy just as we did in
squeeze and lenny.

This is what unstable means - it's just that Debian single-arch
unstable has become a lot better without similar tools & support being
available for multiarch unstable and cross-arch unstable.

If this bothers you, use stable - gcc-4.4. 

Once we can deliver MultiArch cross-compilers libgomp1:armel will still
be ahead of the armel cross-compiler - the difference then is that you
won't be able to upgrade libgomp1:amd64 until the cross-compiler is
available. The cross-compilers in unstable will remain non-installable
quite often but the ones which are installed will be easier to keep up
to date and the cross-compilers should migrate into testing from time
to time.

Reverse cross builds a compiler for amd64 to install on amd64 but
produce armel packages. Cross-building builds a package for armel on
amd64 - a compiler built this way would need to be installed on armel
and could only be used for native compilation on armel. Not what most
people need but it's a much easier build than reverse.

> > I'm new to Emdebian so maybe is it a known issue but I've been unable
> > to find any info. Maybe too this list is not the right place to report
> > this but what should be reported with reportbug, what can take place
> > here, what should be somwhere else, all that is not yet very clear for
> > me.
> I think these packages are built and uploaded manually. I would be happy
> to update them but how to upload?

It's not about uploading it's getting the packages to build at all.
There is absolutely no requirement in Debian that cross-compilers
ever build. Each time a Debian bug is fixed in gcc, the cross-compiler
is likely to need work.

We do the best we can.


Neil Williams

Attachment: pgplPIjggWxYe.pgp
Description: PGP signature

Reply to: