It's using host compiler instead of target compiler. It's enough to add CC=$(tc-getCC) the src_compile to fix it: src_compile() { econf $(use_enable nls) || die emake CC=$(tc-getCC) || die } Reproducible: Always Actual Results: make -j1 for i in src po data man; do make -C $i all || exit 1; done make[1]: Entering directory `/usr/armv4tl-softfloat-linux-gnueabi/tmp/portage/sys-apps/kbd-1.14.1-r1/work/kbd-1.14.1/src' cc -c -Wall -Wmissing-prototypes -Wstrict-prototypes -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Os -pipe -march=armv4t -mtune=arm920t -fomit-frame-pointer -I/usr/armv4tl-softfloat-linux-gnueabi/usr/include/ -I/usr/armv4tl-softfloat-linux-gnueabi/include/ -DDATADIR=\"/usr/share\" dumpkeys.c dumpkeys.c:1: error: bad value (armv4t) for -march= switch dumpkeys.c:1: error: bad value (arm920t) for -mtune= switch make[1]: *** [dumpkeys.o] Error 1 make[1]: Leaving directory `/usr/armv4tl-softfloat-linux-gnueabi/tmp/portage/sys-apps/kbd-1.14.1-r1/work/kbd-1.14.1/src' make: *** [all] Error 1 Expected Results: make -j1 CC=armv4tl-softfloat-linux-gnueabi-gcc for i in src po data man; do make -C $i all || exit 1; done make[1]: Entering directory `/usr/armv4tl-softfloat-linux-gnueabi/tmp/portage/sys-apps/kbd-1.14.1-r1/work/kbd-1.14.1/src' armv4tl-softfloat-linux-gnueabi-gcc -c -Wall -Wmissing-prototypes -Wstrict-prototypes -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Os -pipe -march=armv4t -mtune=arm920t -fomit-frame-pointer -I/usr/armv4tl-softfloat-linux-gnueabi/usr/include/ -I/usr/armv4tl-softfloat-linux-gnueabi/include/ -DDATADIR=\"/usr/share\" dumpkeys.c
(In reply to comment #0) > It's using host compiler instead of target compiler. > > It's enough to add CC=$(tc-getCC) the src_compile to fix it: > > src_compile() { > econf $(use_enable nls) || die > emake CC=$(tc-getCC) || die > } And inherit toolchain-funcs...
fixed in kbd-1.15
portage/sys-apps/kbd/kbd-1.15.ebuild still hasn't this fix!
Hm.. my mistake, ebuild are ok, but package still doesn't cross compile