[oe] AVR32 + OpenEmbedded: Problems with uclibc-initial do_populate_staging ()

Geoffrey Wossum geoffrey at pager.net
Fri Mar 7 22:56:41 UTC 2008


On Wednesday 05 March 2008 03:59:40 pm Richard Purdie wrote:

> Which distro and machine are you using? This sounds like something which
> isn't using sysroot or the sysroot workarounds.
>
> Poking around cross hasn't been needed for a while and instead of the
> above, building "cross-linkage" might help. This was removed from the
> linux-libc-headers DEPENDS recently. You may also need
> "staging-linkage", it all depends on the compiler though and if its
> sysroot capable, enabling that would be infinitely preferable.

So much for blaming Atmel for their ld patch.  I think I found the REAL 
problem.

Checking the log.do_configure for gcc-cross-initial, --with-sysroot was NOT 
getting passed to gcc's configure script.

So I started parsing gcc-cross-initial_4.1.2.bb by hand.  Here's what it looks 
like is happening to me.  Eventually, gcc3-build-cross.inc gets required in. 
This file will set EXTRA_OECONF to have the "--with-sysroot" option.  But a 
little later, gcc-cross-initial.inc gets required in.  This file resets 
EXTRA_OECONF, so the "--with-sysroot" option added by gcc3-build-cross.inc 
gets lost.

I attempted to just swap the order of "require gcc-cross_${PV}.bb" 
and "require gcc-cross-initial.inc" in gcc-cross-initial_4.1.2.bb.  Doing 
a "bitbake -c rebuild gcc-cross-initial" built the gcc-cross-initial with the 
proper "--with-sysroot" option.  Hooray!  But then when I tried to resume 
building the image, this swap made the overall build system think 
that "avr32-gcc-initial-4.1.2" wasn't available.  Back to the drawing board.

So then I changed gcc-cross-initial.inc to append onto EXTRA_OECONF instead of 
setting EXTRA_OECONF.  This seems to work for me now, although I don't know 
what other implications this change may have.

Comments?

---
Geoffrey






More information about the Openembedded-devel mailing list