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

Re: Cross-toolchains for Jessie available

+++ Paul Boddie [2015-03-28 23:19 +0100]:
> On Saturday 29. November 2014 01.50.30 Wookey wrote:
> > After a long period of brokenness, cross-toolchains for debian are back.
> > 
> > We dropped the ball rather over Wheezy as we expected new
> > multiarch-built cross-toolchains to be ready much sooner than this so
> > failed to take care of wheezy properly which has been a pain for a lot
> > of people. Sorry about that.
> > 
> > However there are now some working cross-toolchains again, in time for
> > Jessie. These did not make it into Jessie proper, due to
> > infrastructure changes which are needed for packages with cross-arch
> > dependencies, but the deadline did provide the impetus to get it all
> > working.
> > 
> > These are essentially the same packages that have been available from
> > secretsauce.net for much of 2014, but covering more architectures.
> Thanks for doing this! I see that i386 is now provided for those of us still 
> using older hardware.
> [...]
> > The same cross-toolchains are also available in unstable, but are not
> > always installable due to multiarch skew (after a new gcc, libc or
> > linux upload). And they have caused some controversy so expect changes
> > and instability. Also mips is currently broken as the native compiler
> > didn't build in the current upload.
> What is the status here? I see that only amd64 packages are available, which 
> is fairly unusual for Debian where the aim is usually to support all available 
> architectures.

That's because the current packages need jessie sbuild (0.65 on) to build
and that's not been available on the autobuilders until very recently
(it's still not on all of them SFAIK) so just one localy-built
architecture was uploaded. The next upload will add at least i386 to
test the autobuilding.

> With this in mind, I decided to try and build the cross-gcc-4.9-mipsel source 
> package with pbuilder, having installed the build prerequisites. I had to 
> manually add the foreign architecture within the pbuilder chroot in order to 
> satisfy dependencies:
> sudo /usr/sbin/pbuilder --login --save-after-login
> dpkg --add-architecture mipsel
> apt-get update

Right. If you use sbuild it will do this automatically. It would be
good if someone taught pbuilder how to do this too.

> If there's a proper way of doing this multi-arch setup with pbuilder, it would 
> be useful to know.

'use sbuild' is the current proper way. :-)

> Fortunately, the build process completed successfully, suggesting that there 
> is nothing (at the moment of writing) *technically* preventing the toolchain 
> from being built for at least i386 in unstable, and hopefully for other 
> architectures too.

As stated 'new enough sbuild' (on the authobuilders) is the technical

> I'll press on with the unstable toolchains, since they are presumably the 
> future of cross-building on Debian. However, thanks again for making packages 
> available for jessie and for i386, and thanks to those who got the toolchains 
> ready for unstable, too!

After discussion with the gcc and glibc maintainers last month, the
plan is in fact to remove the need for cross-architecture
build-dependencies by building libc-dev-<arch>-cross packages which
are effectively a copy of the HOST-arch libc and libc-dev packages in
the BUILD-arch package set. Once those are available the new cross
toolchain packages will build in pbuilder or sbuild because they won't
need any foreign-arch packages. 

The cross-toolchain package names remain the same - i.e you will
install (or build) the same packages - it's just the libc (and libgcc)
dependencies which will change. 

Principal hats:  Linaro, Debian, Wookware, ARM

Reply to: