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