YP 2.0 also has this problem: MACHINE ?= "qemuarm64" require conf/multilib.conf MULTILIBS ?= "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 ?= "armv7at-neon" $ bitbake core-image-minimal -cpopulate_sdk extract the sdk, 64bit works well, but 32bit doesn't: $ ls environment-setup-* -1 environment-setup-aarch64-poky-linux environment-setup-armv7a-vfp-neon-pokymllib32-linux-gnueabi environment-setup-core2-64-poky-linux environment-setup-x86-pokymllib32-linux Note there are core2-64 and x86, this was because I had built qemux86-64's SDK, this might be another problem. The environment-setup-aarch64-poky-linux works and can build hello.c, but environment-setup-armv7a-vfp-neon-pokymllib32-linux-gnueabi can't, in environment-setup-armv7a-vfp-neon-pokymllib32-linux-gnueabi: CC="arm-pokymllib32-linux-gnueabi-gcc foo.." But there is no arm-pokymllib32-linux-gnueabi-gcc. and: $ find sysroots/x86_64-pokysdk-linux/usr/bin/ -name '*-gcc' sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux-musl/aarch64-poky-linux-musl-gcc sysroots/x86_64-pokysdk-linux/usr/bin/i686-pokymllib32-linux-musl/i686-pokymllib32-linux-musl-gcc sysroots/x86_64-pokysdk-linux/usr/bin/arm-pokymllib32-linux-musl/arm-pokymllib32-linux-musl-gcc sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-pokymllib32-linux-uclibcx32/x86_64-pokymllib32-linux-uclibcx32-gcc sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-pokymllib32-linux/x86_64-pokymllib32-linux-gcc sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux-uclibc/x86_64-poky-linux-uclibc-gcc sysroots/x86_64-pokysdk-linux/usr/bin/i686-poky-linux/i686-poky-linux-gcc sysroots/x86_64-pokysdk-linux/usr/bin/i686-pokymllib32-linux-uclibc/i686-pokymllib32-linux-uclibc-gcc sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-uclibc/arm-poky-linux-uclibc-gcc sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-pokymllib32-linux-muslx32/x86_64-pokymllib32-linux-muslx32-gcc sysroots/x86_64-pokysdk-linux/usr/bin/arm-pokymllib32-linux-uclibc/arm-pokymllib32-linux-uclibc-gcc sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-musl/arm-poky-linux-musl-gcc sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux/arm-poky-linux-gcc sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-pokymllib32-linux-uclibc/x86_64-pokymllib32-linux-uclibc-gcc sysroots/x86_64-pokysdk-linux/usr/bin/arm-pokymllib32-linux/arm-pokymllib32-linux-gcc sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-pokymllib32-linux-musl/x86_64-pokymllib32-linux-musl-gcc sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-pokymllib32-linux-gnux32/x86_64-pokymllib32-linux-gnux32-gcc sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux-muslx32/x86_64-poky-linux-muslx32-gcc sysroots/x86_64-pokysdk-linux/usr/bin/i686-pokymllib32-linux/i686-pokymllib32-linux-gcc sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux-gnux32/x86_64-poky-linux-gnux32-gcc sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-pokymllib32-linux-musl/aarch64-pokymllib32-linux-musl-gcc sysroots/x86_64-pokysdk-linux/usr/bin/i686-poky-linux-uclibc/i686-poky-linux-uclibc-gcc sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux-musl/x86_64-poky-linux-musl-gcc sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux-uclibcx32/x86_64-poky-linux-uclibcx32-gcc sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-pokymllib32-linux/aarch64-pokymllib32-linux-gcc sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-pokymllib32-linux-uclibc/aarch64-pokymllib32-linux-uclibc-gcc sysroots/x86_64-pokysdk-linux/usr/bin/i686-poky-linux-musl/i686-poky-linux-musl-gcc sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux-uclibc/aarch64-poky-linux-uclibc-gcc sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/x86_64-poky-linux-gcc
I think that this is because arm64 doesn't support multilib ? In gcc-5.2.0-r0/gcc-5.2.0/gcc/config: $ find | grep t-linux64 ./sparc/t-linux64 ./rs6000/t-linux64lebe ./rs6000/t-linux64le ./rs6000/t-linux64 ./rs6000/t-linux64bele ./mips/t-linux64 ./i386/t-linux64 ./s390/t-linux64
Marking as duplicate of 8638. *** This bug has been marked as a duplicate of bug 8638 ***
Duplicated Bug
This is not a duplicate of 8638, (but it looks like a duplicate of 10054). The issue here is that environment setup file for the 32 bit GCC refers to a GCC which does not exist (or it exists, but under a different name). Additionally, the problem seems to be still there for 2.2 master.
Really a duplicate of 10054 *** This bug has been marked as a duplicate of bug 10054 ***
verified duplicate