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