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

Re: emchain -a arm failure



On Thu, 28 Feb 2008 08:47:17 +0100
Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote:

> Le Wed, 27 Feb 2008 23:35:27 +0000,
> Wookey <wookey@wookware.org> a écrit :
> 
> > emchain can only build 'latest' and from time to time 'latest' is
> > broken for cross-builds. Now is such a time.
> 
> Why can emchain only build 'latest', and not toolchains based on
> earlier versions of gcc ?

Building the latest version is the Debian default for any package. The
idea behind emchain is that it doesn't continuously need to be updated
just to handle the entry of gcc-4.foo into Debian unstable. It tries to
work with the default gcc in Debian itself. (It tries to build a
toolchain in much the same way as you or I would build any other set
of packages.)

We have a separate tool for building multiple versions of gcc in
Emdebian SVN, buildcross, maintained by Hector but not released.

The intention is that buildcross provides the basic set of toolchains
(including ARM on i386 and ARM on amd64) for unstable and testing.
emchain then 'helps out' for unusual combinations of build or target.
emchain relies on the packages in Debian being fixed whereas buildcross
provides mechanisms for Hector to apply patches to the Debian build to
fix the build in the first place. Most people should not need emchain
when buildcross is working. Unfortunately, if the gcc build is
sufficiently broken, neither emchain nor buildcross can build a
toolchain.

> It sounds quite a big limitation, the 'latest' will always be broken as
> some point in time, no ? So wouldn't it be better to be able to compile
> a toolchain with a known-working gcc version at any time ?

We don't rely on emchain, it is just an additional tool that can help
when buildcross does not build a particular toolchain. The real problem
is not emchain itself, it is that we have been unable to build *any*
toolchains using *any* tools for some time for a variety of reasons.

Have you tried 'emsetup --download 4.2; dpkg -force-....' ? That was
written for this situation and it allowed me to get a working toolchain
on amd64 for ARM. Also, Hector is building new versions currently, some
of which are not yet in the repository.

What is really needed is a toolchain autobuilder that will attempt to
build every Debian version of every version of gcc in Debian for a full
set of targets. This should provide three principle benefits:

1. Less reliance on someone (Hector) having time (and a working
internet connection) to run every build, allowing Emdebian to have
versions for all releases (necessary for 2).

2. Reliable migration into Emdebian testing.

3. Provide a testing ground for the gcc maintainers so that problems
can be fixed in Debian, e.g. during the time that gcc spends in
experimental.

Please don't expect emchain to do any of that.

Things are not ideal right now but cross-building does not have a
particularly high priority in Debian (especially with the Lenny release
coming up) and the small number of Emdebian developers can only do so
much. If you fancy helping out, please do so.

-- 

Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

Attachment: pgpWTSBT7Qv3L.pgp
Description: PGP signature


Reply to: