Jeff Mickey <[email protected]> skribis: > * Ludovic Courtès <[email protected]> [2016-01-21 01:02]: >> guix build -K hello > > This fails with the exact same error, it can't build gcc. > > g++ -g -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables > -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format > -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros > -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE > -Wl,-rpath=/nix/store/dbdj046q2ybl01ld56ywr0rkpy91g0xz-glibc-2.22/lib > -Wl,-dynamic-linker > -Wl,/nix/store/dbdj046q2ybl01ld56ywr0rkpy91g0xz-glibc-2.22/lib/ld-linux-x86-64.so.2 > -L/nix/store/df8qyymanigrki2rgcmwbpkygg7c5n2g-libstdc++-4.9.3/lib -o > build/genhooks \ > build/genhooks.o build/errors.o > ../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a > g++ -g -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables > -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format > -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros > -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE > -Wl,-rpath=/nix/store/dbdj046q2ybl01ld56ywr0rkpy91g0xz-glibc-2.22/lib > -Wl,-dynamic-linker > -Wl,/nix/store/dbdj046q2ybl01ld56ywr0rkpy91g0xz-glibc-2.22/lib/ld-linux-x86-64.so.2 > -L/nix/store/df8qyymanigrki2rgcmwbpkygg7c5n2g-libstdc++-4.9.3/lib -o > build/genchecksum \ > build/genchecksum.o > ../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a > /nix/store/xw7xz3cr8nhw24m6cchiha8g6lslwv1j-binutils-cross-boot0-2.25.1/bin/x86_64-guix-linux-gnu-ld: > cannot find -lstdc++ > collect2: error: ld returned 1 exit status > Makefile:2532: recipe for target 'build/genhooks' failed > make[3]: *** [build/genhooks] Error 1 > make[3]: *** Waiting for unfinished jobs.... > /nix/store/xw7xz3cr8nhw24m6cchiha8g6lslwv1j-binutils-cross-boot0-2.25.1/bin/x86_64-guix-linux-gnu-ld: > cannot find -lstdc++ > collect2: error: ld returned 1 exit status > Makefile:2532: recipe for target 'build/genchecksum' failed > > > If I look in > /nix/store/df8qyymanigrki2rgcmwbpkygg7c5n2g-libstdc++-4.9.3/lib I see > the following: > > $ ls /nix/store/df8qyymanigrki2rgcmwbpkygg7c5n2g-libstdc++-4.9.3/lib > $ ls /nix/store/df8qyymanigrki2rgcmwbpkygg7c5n2g-libstdc++-4.9.3/ > include lib lib64 share > $ ls /nix/store/df8qyymanigrki2rgcmwbpkygg7c5n2g-libstdc++-4.9.3/lib64 > libstdc++.a libstdc++.a-gdb.py libstdc++.la libsupc++.a libsupc++.la
I think there’s an impurity leading the build system to use lib64/ instead of lib/. Compare with what we get with “real” Guix: --8<---------------cut here---------------start------------->8--- $ ls $(guix build -e '(@@ (gnu packages commencement) libstdc++)') include/ lib/ share/ --8<---------------cut here---------------end--------------->8--- >> Also, make sure nix-daemon uses pristine chroot builds. > > [...] > > Yes, had to add nix.useChroot to true in my > /etc/nixos/configuration.nix. God I miss some s-exp. Heh. Could it be that the above libstdc++ was built before you had enabled chroot builds? Are you sure the chroot doesn’t contain /bin or anything like that? (Are you sure you don’t want to use guix-daemon? :-)) Ludo’.
