On Tue, May 31, 2016 at 11:36:21PM +0200, Ludovic Courtès wrote: > Quick observation: one of the file has debugging symbols, the other not. > Apart from that, section sizes are very similar:
That is understandable, the debugging symbols come from stage 2, the files without from stage 3. To check for an easy work-around, I tested to upgrade the standard gcc from 5.3 to 6.1. But this fails as follows: setenv.c: In function '__unsetenv': setenv.c:279:6: error: suggest explicit braces to avoid ambiguous 'else' [-Werror=parentheses] if (ep != NULL) ^ cc1: all warnings being treated as errors ../o-iterator.mk:9: recipe for target '/tmp/guix-build-glibc-intermediate-2.23.drv-0/build/stdlib/setenv.o' failed make[2]: *** [/tmp/guix-build-glibc-intermediate-2.23.drv-0/build/stdlib/setenv.o] Error 1 make[2]: Leaving directory '/tmp/guix-build-glibc-intermediate-2.23.drv-0/glibc-2.23/stdlib' Makefile:214: recipe for target 'stdlib/subdir_lib' failed make[1]: *** [stdlib/subdir_lib] Error 2 make[1]: Leaving directory '/tmp/guix-build-glibc-intermediate-2.23.drv-0/glibc-2.23' Makefile:9: recipe for target 'all' failed make: *** [all] Error 2 phase `build' failed after 350.8 seconds builder for `/gnu/store/ja64ppaspnvx5q1a9nlfa0n3hp9kb2p1-glibc-intermediate-2.23.drv' failed with exit code 1 @ build-failed /gnu/store/ja64ppaspnvx5q1a9nlfa0n3hp9kb2p1-glibc-intermediate-2.23.drv - 1 builder for `/gnu/store/ja64ppaspnvx5q1a9nlfa0n3hp9kb2p1-glibc-intermediate-2.23.drv' failed with exit code 1 cannot build derivation `/gnu/store/cnd7vjf59wkvma15zicdv9gg8hl084q7-bash-static-4.3.42.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/p8fsvdqby0api3fhpjk8fg7szv8xqdbn-gcc-6.1.0.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/x34g9mhwn0ssqxfp3w0gy1dnwacm5dh1-gcc-6.1.0.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/7xvr4q068i3h49sad9wab3fbpfgivbn9-glibc-2.23.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/ln53k3lix5421ykvhh8k0pnjbg81f1yi-hello-2.10.drv': 1 dependencies couldn't be built guix build: error: build failed: build of `/gnu/store/ln53k3lix5421ykvhh8k0pnjbg81f1yi-hello-2.10.drv' failed Maybe "all warnings treated as errors" is a bit exaggerated here, but in any case, upgrading gcc is not an easy fix. > We should check the build log for the command lines used to build > real.o. I find this: 105038:libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../../gcc-5.3.0/mpc/src -I.. -I/tmp/guix-build-gcc-5.3.0.drv-0/build/./gmp -I/tmp/guix-build-gcc-5.3.0.drv-0/gcc-5.3.0/mpfr/src -g -MT real.lo -MD -MP -MF .deps/real.Tpo -c ../../../gcc-5.3.0/mpc/src/real.c -o real.o 115976:libtool: compile: /tmp/guix-build-gcc-5.3.0.drv-0/build/./prev-gcc/xgcc -B/tmp/guix-build-gcc-5.3.0.drv-0/build/./prev-gcc/ -B/gnu/store/6xdd64b8343v9vd3nkhkkqg7mayyxvwp-gcc-5.3.0/arm-unknown-linux-gnueabihf/bin/ -B/gnu/store/6xdd64b8343v9vd3nkhkkqg7mayyxvwp-gcc-5.3.0/arm-unknown-linux-gnueabihf/bin/ -B/gnu/store/6xdd64b8343v9vd3nkhkkqg7mayyxvwp-gcc-5.3.0/arm-unknown-linux-gnueabihf/lib/ -isystem /gnu/store/6xdd64b8343v9vd3nkhkkqg7mayyxvwp-gcc-5.3.0/arm-unknown-linux-gnueabihf/include -isystem /gnu/store/6xdd64b8343v9vd3nkhkkqg7mayyxvwp-gcc-5.3.0/arm-unknown-linux-gnueabihf/sys-include -DHAVE_CONFIG_H -I. -I../../../gcc-5.3.0/mpc/src -I.. -I/tmp/guix-build-gcc-5.3.0.drv-0/build/./gmp -I/tmp/guix-build-gcc-5.3.0.drv-0/gcc-5.3.0/mpfr/src -O2 -g0 -gtoggle -MT real.lo -MD -MP -MF .deps/real.Tpo -c ../../../gcc-5.3.0/mpc/src/real.c -o real.o 126915:libtool: compile: /tmp/guix-build-gcc-5.3.0.drv-0/build/./prev-gcc/xgcc -B/tmp/guix-build-gcc-5.3.0.drv-0/build/./prev-gcc/ -B/gnu/store/6xdd64b8343v9vd3nkhkkqg7mayyxvwp-gcc-5.3.0/arm-unknown-linux-gnueabihf/bin/ -B/gnu/store/6xdd64b8343v9vd3nkhkkqg7mayyxvwp-gcc-5.3.0/arm-unknown-linux-gnueabihf/bin/ -B/gnu/store/6xdd64b8343v9vd3nkhkkqg7mayyxvwp-gcc-5.3.0/arm-unknown-linux-gnueabihf/lib/ -isystem /gnu/store/6xdd64b8343v9vd3nkhkkqg7mayyxvwp-gcc-5.3.0/arm-unknown-linux-gnueabihf/include -isystem /gnu/store/6xdd64b8343v9vd3nkhkkqg7mayyxvwp-gcc-5.3.0/arm-unknown-linux-gnueabihf/sys-include -DHAVE_CONFIG_H -I. -I../../../gcc-5.3.0/mpc/src -I.. -I/tmp/guix-build-gcc-5.3.0.drv-0/build/./gmp -I/tmp/guix-build-gcc-5.3.0.drv-0/gcc-5.3.0/mpfr/src -O2 -g0 -MT real.lo -MD -MP -MF .deps/real.Tpo -c ../../../gcc-5.3.0/mpc/src/real.c -o real.o Maybe real.o is not the easiest example, since it also involves gmp and mpfr. Andreas