$ bitbake rpi-hwup-image WARNING: Host distribution "debian-9" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution. Parsing recipes: 100% |#########################################################################################################################################################| Time: 0:00:50 Parsing of 882 .bb files complete (0 cached, 882 parsed). 1360 targets, 78 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies Build Configuration: BB_VERSION = "1.33.2" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "debian-9" TARGET_SYS = "arm-poky-linux-gnueabi" MACHINE = "raspberrypi" DISTRO = "poky" DISTRO_VERSION = "2.2+snapshot-20170303" TUNE_FEATURES = "arm armv6 vfp arm1176jzfs callconvention-hard" TARGET_FPU = "hard" meta meta-poky meta-yocto-bsp = "master:32e1eac49201fb57ca0d26ef3d2012f7e8573663" meta-raspberrypi = "master:9788cffbf072d71d56d1948a5c0b63bbfed220ee" Initialising tasks: 100% |######################################################################################################################################################| Time: 0:00:11 NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks ERROR: gcc-cross-initial-arm-6.3.0-r0 do_populate_sysroot: runstrip: '['strip', '--remove-section=.comment', '--remove-section=.note', '/ar0/pbarker/work/toganlabs/rpi/poky/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/6.3.0-r0/sysroot-destdir/ar0/pbarker/work/toganlabs/rpi/poky/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/6.3.0-r0/recipe-sysroot-native/usr/libexec/arm-poky-linux-gnueabi.gcc-cross-initial-arm/gcc/arm-poky-linux-gnueabi/6.3.0/install-tools/fixincl']' strip command failed with 1 (b'strip: /ar0/pbarker/work/toganlabs/rpi/poky/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/6.3.0-r0/sysroot-destdir/ar0/pbarker/work/toganlabs/rpi/poky/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/6.3.0-r0/recipe-sysroot-native/usr/libexec/arm-poky-linux-gnueabi.gcc-cross-initial-arm/gcc/arm-poky-linux-gnueabi/6.3.0/install-tools/stMfU86F: Not enough room for program headers, try linking with -N\nstrip:/ar0/pbarker/work/toganlabs/rpi/poky/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/6.3.0-r0/sysroot-destdir/ar0/pbarker/work/toganlabs/rpi/poky/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/6.3.0-r0/recipe-sysroot-native/usr/libexec/arm-poky-linux-gnueabi.gcc-cross-initial-arm/gcc/arm-poky-linux-gnueabi/6.3.0/install-tools/stMfU86F[.note.ABI-tag]: Bad value\n') The same error is seen for gcc-cross-arm. Apparently this has also been seen on the autobuilder from time-to-time but only on Debian 9. Not sure if its specific to an ARM target or not. It's specific to using uninative. Disabling uninative causes the error to go away.
I have some further debug: richard@jet:/media/build1/poky/build/tmp/work/x86_64-linux/gcc-crosssdk-x86_64-pokysdk-linux/6.3.0-r0/gcc-6.3.0/build.x86_64-linux.x86_64-pokysdk-linux/fixincludes$ rm fixinclrm: cannot remove 'fixincl': No such file or directory richard@jet:/media/build1/poky/build/tmp/work/x86_64-linux/gcc-crosssdk-x86_64-pokysdk-linux/6.3.0-r0/gcc-6.3.0/build.x86_64-linux.x86_64-pokysdk-linux/fixincludes$ gcc -isystem/media/build1/poky/build/tmp/work/x86_64-linux/gcc-crosssdk-x86_64-pokysdk-linux/6.3.0-r0/recipe-sysroot-native/usr/include -O2 -pipe -L/media/build1/poky/build/tmp/work/x86_64-linux/gcc-crosssdk-x86_64-pokysdk-linux/6.3.0-r0/recipe-sysroot-native/usr/lib -L/media/build1/poky/build/tmp/work/x86_64-linux/gcc-crosssdk-x86_64-pokysdk-linux/6.3.0-r0/recipe-sysroot-native/lib -Wl,-rpath-link,/media/build1/poky/build/tmp/work/x86_64-linux/gcc-crosssdk-x86_64-pokysdk-linux/6.3.0-r0/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/media/build1/poky/build/tmp/work/x86_64-linux/gcc-crosssdk-x86_64-pokysdk-linux/6.3.0-r0/recipe-sysroot-native/lib -Wl,-rpath,/media/build1/poky/build/tmp/work/x86_64-linux/gcc-crosssdk-x86_64-pokysdk-linux/6.3.0-r0/recipe-sysroot-native/usr/lib -Wl,-rpath,/media/build1/poky/build/tmp/work/x86_64-linux/gcc-crosssdk-x86_64-pokysdk-linux/6.3.0-r0/recipe-sysroot-native/lib -Wl,-O1 -o fixincl fixincl.o fixtests.o fixfixes.o server.o procopen.o fixlib.o fixopts.o ../libiberty/libiberty.a richard@jet:/media/build1/poky/build/tmp/work/x86_64-linux/gcc-crosssdk-x86_64-pokysdk-linux/6.3.0-r0/gcc-6.3.0/build.x86_64-linux.x86_64-pokysdk-linux/fixincludes$ /media/build1/poky/build/tmp/sysroots-uninative/x86_64-linux/usr/bin/patchelf-uninative --set-interpreter /media/build1/poky/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 fixincl warning: working around a Linux kernel bug by creating a hole of 2027520 bytes in ‘fixincl’ richard@jet:/media/build1/poky/build/tmp/work/x86_64-linux/gcc-crosssdk-x86_64-pokysdk-linux/6.3.0-r0/gcc-6.3.0/build.x86_64-linux.x86_64-pokysdk-linux/fixincludes$ strip fixincl strip: stKzBygr: Not enough room for program headers, try linking with -N strip:stKzBygr[.note.ABI-tag]: Bad value richard@jet:/media/build1/poky/build/tmp/work/x86_64-linux/gcc-crosssdk-x86_64-pokysdk-linux/6.3.0-r0/gcc-6.3.0/build.x86_64-linux.x86_64-pokysdk-linux/fixincludes$ Basically, if you link fixincl, then change the interpreter on some systems, it increases the size of the binary such that it can't then be stripped. This was from an Ubuntu 16.10 system. Something about the inflated binaries patchelf generates on some systems seems to break this.
Also note we are seeing this on the autobuilders: https://autobuilder.yocto.io/builders/buildtools/builds/178 from buildtools on debian-testing on the new AB cluster
Further updates: What triggers whether a binary is ET_DYN or not is whether its linked with the pie flag. If pie linking is chosen, the binary becomes ET_DYN and the workaround in patchelf kicks in. I'm guessing some distros like debian-testing and ubuntu 16.10 have ld which does this by default.
https://github.com/NixOS/patchelf/issues/10 seems pertinent to this issue. Sadly the patches there don't work for me though.
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=c4901328fe5cf912c0965e5b011b64a95a9bcb9d