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

Re: Is emdebian repo broken?



On Mon, 30 May 2011 09:35:01 +0400
"Dmitry E. Oboukhov" <unera@debian.org> wrote:

> >> squeeze contains gcc-4.3-arm-inux-gnueabi
> >> I wanted to install the latest version of the package, but a few
> >> binary depends are absent :)

Latest versions are always vulnerable to delays which make that version
uninstallable because the cross-compiler build process is NOT directly
linked to the uploads of the related Debian packages. New versions
which break the existing cross-compiler in sid are routinely uploaded
without any allowance for keeping the cross-compiler in sync. There is
work ongoing to get the cross-compilers built as part of the compiler
build process within Debian but that is not possible yet.

You are asking for something which is currently not achievable -
synchronised compiler and cross-compiler toolchains outside of a stable
release.

> > squeeze gcc-4.3-$triplet_arch should be installable.
> > wheezy/sid gcc-4.[4-6]-arm-linux-gnueabi, should be installable, but
> > could as well be broken. Once I get back from vacation I'll try to
> > review it.
> > In your case, it looks like you are mixing packages from different
> > distros making toolchain uninstallable.
> 
> apt-get install says that gcc depends on lib (>=version)
> apt-cash policy says that lib (>= version) is absent
> 
> I doubt that the mix is the first cause of my troubles :)

That doesn't follow. "absent" in this situation can just mean that
another version is probably installed which prevents the installation
of the version which could be used. apt dependency failure messages are
not particularly transparent.

Every failure must be analysed separately. Generally, the only safe way
is to combine toolchains from stable with a system based on
stable, testing or sid. i.e. older toolchains on newer or equivalent
systems.

Sid itself is always problematic because new versions of critical
packages get uploaded independently of any resolution of problems
trying to build the cross compiler toolchains. Therefore, the toolchain
ends up being for the previous version and likely uninstallable. Most
new uploads of packages involved in the building of a cross-compiler
toolchain cause some kind of delay or breakage in the build process.

Testing isn't a whole lot better because migrations into testing are
also not blocked if the matching cross-compiler is not available.

Your original problem related to -armel-cross packages which DO NOT
EXIST in Debian and which have to be generated as part of the
cross-compiler build process. If that process is delayed by breakage
elsewhere, the -armel-cross packages will not exist at those versions,
only at the previous versions. However, you can always generate
-armel-cross packages locally from the original packages in Debian.
xapt will always give you the latest versions of -*-cross packages by
working with the ones in Debian. This *might* solve some issues, it can
just easily cause other problems. The resolution of that mess requires
Multi-Arch-Cross which is an enormous amount of work.

These are complex problems and if you want a toolchain which is always
installable, you *must* use the toolchain from stable. Even building
the toolchain yourself will not ensure that the toolchain remains
installed as it will have dependencies on packages which change in
unstable. It is common for the cross-compiler toolchain packages from
unstable to be removed by dist-upgrade operations for native packages
from sid on the same system. Toolchains from stable are insulated from
these changes.

-- 


Neil Williams
=============
http://www.linux.codehelp.co.uk/

Attachment: pgp41RDAnX5be.pgp
Description: PGP signature


Reply to: