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

Re: Bug#440064: Can't build armeb cross compiler



On Wed, 29 Aug 2007 15:35:22 +0200
Tom Parker <palfrey@tevp.net> wrote:

> Package: emdebian-tools
> Version: 0.3.0
> Severity: normal
> 
> Attempting to build an armeb cross-compiler with "emchain -l" doesn't 
> work, complaining "E: Unable to find a source package for binutils". 

Currently, emchain cannot do the task requested because armeb is not a
Debian architecture. It has no native packages to use in the
preparation of the cross-compiler. Yes, that is a limitation but not
one that emchain can solve at the moment. It's a chicken and egg
problem but it does need to be documented more clearly in
emdebian-tools. Leaving the report open so that I remember to fix that.

The solution here is to follow the instructions that emchain uses to
build the toolchain manually but note that this may require some manual
preparation of packages.

http://www.emdebian.org/tools/crossdev.html

(You'll need to update some of those details and some extra steps may
be necessary.)

> dpkg-cross default architecture (via debconf choices) is set to armeb. 

Hmm, maybe I need to reconsider including armeb in that list - or just
document that the armeb (and armel) toolchains need to come from
somewhere else as emchain can't prepare them directly).

> I've attached the build log from emchain as well.

The answer is in the build log - but I will look at enhancing the
output to make it clearer.

> Warning: emchain cannot find a native gcc package for armeb.

what emchain is trying to do here is work out the current default
version of gcc, binutils and glibc. It does this by trying to look up
the apt cache data for the requested architecture (which fails for
armeb because there is none) then tries to fallback to the build
architecture. The weakness there is that the values may be wrong - a
version of gcc that builds on i386 does not necessarily build on arm
etc. emchain is trying to be clever but it hasn't worked. :-(

I'll put more detail into emchain and the manpage to outline situations
where emchain simply cannot do what is required. Another option is to
allow some method of passing the required data to emchain instead of
trying to calculate it.

In this case, emchain has tried to help you but the task needs your
manual input and cannot be done by emchain itself. Sorry.

You might want to look at buildcross as well [0] but that does not
currently build armeb and some tweaks may be required in that script
too.

CC'ing debian-embedded so that others can contribute on how an armeb
toolchain can be built.

[0] http://buildd.emdebian.org/svn/browser/current/emdebian/trunk/buildcross/trunk

-- 


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

Attachment: pgpu8FiLGkAPi.pgp
Description: PGP signature


Reply to: