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

Re: Could you updatre the cross compilers?



On Fri, 17 Nov 2006 21:33:46 +0000
Wookey <wookey@aleph1.co.uk> wrote:
> On 2006-11-17 09:18 -0800, Christoph Lameter wrote:
> > Maybe you could change the dependency check for gcc-4.1 from
> > = 4.1.1-13 to something like >= 4.1.1.-13 ? Otherwise this is going
> > to break each time a minor gcc update occurs.

There's an instruction missing from the current build process that
causes an unwanted dependency. I'm not sure when this was implemented
upstream but it certainly affects gcc-4.1 >= 4.1.1-19 and probably
earlier.

The updated build allows 4.1.1-20 to exist alongside 4.1.1-19:

neil@holly:emchain$ dpkg -l gcc-4.1*

ii  gcc-4.1                    4.1.1-20   The GNU C compiler
ii  gcc-4.1-arm-linux-gnu      4.1.1-19   The GNU C compiler
ii  gcc-4.1-arm-linux-gnu-base 4.1.1-19   The GNU Compiler Collection
(base package)
ii  gcc-4.1-base               4.1.1-20   The GNU Compiler Collection
(base package)

> The idea is to auto rebuild them every time there is an update to
> avoid this problem, but that's not quite in place yet.

It's coming along. The fixed build is expected to work like this:

1. emchain builds and installs the first toolchain for the default
dpkg-cross architecture using the current Debian default compiler and
current version.
2. Debian uploads a new package, changing either the upstream version
or the Debian version, and cron-apt installs the host toolchain as
normal. The cross-built toolchain is unchanged.
3. When the Debian buildd machine for the default architecture
completes a successful build of the new version, emchain updates the
local toolchain directory, builds the updated package(s) and installs
them.

Thus, if emchain is utilised via cron-apt or similar, developers will
only have about 48hrs where the local cross-built toolchain is behind
the current Debian toolchain. Packages in the emdebian repository can
be updated from there or possibly on the buildd itself.

> As you say
> slightly looser dependencies would be good (and should still work),
> but I'm not sure if that is easy to do or not.

Now that the fixed build is working, the dependencies are not just
looser but completely absent.

By ensuring that the relevant gcc-foo-base package is built, the
cross-built toolchain is completely independent of the host toolchain.
Whilst it probably isn't recommended to maintain a different version
for too long, it is necessary that the host toolchain upgrades without
forcing the removal of the cross-built toolchain. Previously, the host
toolchain got held back by apt-get upgrade because of the lack of a
cross-built gcc-foo-base package which caused a dependency on the host
gcc-foo-base package. This meant that the cross toolchain had to be
removed before the host toolchain could be updated and the new
cross-toolchain rebuilt.

> We expect to have auto-rebuilding in place very soon (next couple of
> weeks?)

That sounds OK. Some more testing to do this weekend, then I can
release apt-cross and emchain, upload packages into the emdebian
repository, document the cron-apt hook, ...

--


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

Attachment: pgp0e8vpVLhak.pgp
Description: PGP signature


Reply to: