[oe] Gnu/stubs-32.h not found

Michael Smith msmith at cbnco.com
Tue Jan 12 15:19:03 UTC 2010


Phil Blundell wrote:
> On Tue, 2010-01-12 at 13:32 +0300, Perepelica Alexander wrote:

> Ah, I see.  So, you were right: it is in fact a multilibs problem.  What
> has happened here is that gcc is trying to build a 32-bit version of
> libgcc2, but you haven't compiled a 32-bit version of glibc yet.
> 
> There are two possible fixes:
> 
> - write a variant .bb file to build a 32 bit glibc, and arrange for
> gcc-cross to DEPEND on that; or
> 
> - patch t-linux64, and/or the gcc configury, to stop it trying to build
> the 32-bit multilib.

One hack that worked for me is to amend the gcc-cross recipe to include:

# glibc only built the 64-bit stubs, so don't try to build a 32-bit gcc
EXTRA_OECONF_append_x86_64 = " --disable-multilib"

And for gcc-cross-intermediate:

do_compile_prepend() {
         # On x86_64, glibc-initial stages crti.o to
         # x86_64-oe-linux/lib64/crti.o.
         # When gcc-cross-intermediate tries to build libgcc, it looks
         # for x86_64-oe-linux/lib/../lib64/crti.o.
         # Create the "lib" dir so this shenanigan works.
         install -d ${STAGING_DIR_TARGET}/lib
}

Mike




More information about the Openembedded-devel mailing list