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

_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Reply via email to