Hi, The core-updates branch has been merged into master. As of 5ce3f93bc52280c7c2b1b96097e8cd4a62b53bb0 (committed on 2018/02/18), which is after the merge, the following builds PASS or FAIL when run on an x86_64-linux GuixSD system: FAIL: aarch64-unknown-linux-gnu bootstrap-tarballs grafts FAIL: aarch64-unknown-linux-gnu bootstrap-tarballs no-grafts PASS: aarch64-unknown-linux-gnu guile-static grafts PASS: aarch64-unknown-linux-gnu guile-static no-grafts FAIL: arm-unknown-linux-gnueabihf bootstrap-tarballs grafts FAIL: arm-unknown-linux-gnueabihf bootstrap-tarballs no-grafts PASS: arm-unknown-linux-gnueabihf guile-static grafts PASS: arm-unknown-linux-gnueabihf guile-static no-grafts FAIL: i686-unknown-linux-gnu bootstrap-tarballs grafts FAIL: i686-unknown-linux-gnu bootstrap-tarballs no-grafts PASS: i686-unknown-linux-gnu guile-static grafts PASS: i686-unknown-linux-gnu guile-static no-grafts FAIL: mips64el-unknown-linux-gnu bootstrap-tarballs grafts FAIL: mips64el-unknown-linux-gnu bootstrap-tarballs no-grafts PASS: mips64el-unknown-linux-gnu guile-static grafts PASS: mips64el-unknown-linux-gnu guile-static no-grafts FAIL: x86_64-unknown-linux-gnu bootstrap-tarballs grafts FAIL: x86_64-unknown-linux-gnu bootstrap-tarballs no-grafts FAIL: x86_64-unknown-linux-gnu guile-static grafts FAIL: x86_64-unknown-linux-gnu guile-static no-grafts Here, PASS means it builds successfully. FAIL means it did not. The second column is the target, the third column is the package, and the fourth column is whether or not grafts were enabled. Note that "guile-static" is short-hand for "-e '(@@ (gnu packages make-bootstrap) %guile-static)'". So, for example, the first row means that the following command failed when I tried it: ./pre-inst-env guix build --target=aarch64-unknown-linux-gnu \ bootstrap-tarballs The failures can be grouped as follows: * aarch64, arm, i686: For all of these targets, bootstrap-tarballs fails because grep@3.1 fails. grep@3.1 fails because of errors like the following: --8<---------------cut here---------------start------------->8--- make[2]: Entering directory '/tmp/guix-build-grep-3.1.drv-0/grep-3.1/src' CC dfasearch.o CC grep.o CC kwsearch.o CC kwset.o CC pcresearch.o CC searchutils.o GEN egrep GEN fgrep CCLD grep /gnu/store/p2b76bgsx5pkpc59fvxmkfz47502awg5-pcre-8.41/lib/libpcre.a(libpcre_la-pcre_jit_compile.o): In function `sljit_free_exec': (.text+0x64d): undefined reference to `pthread_mutex_lock' /gnu/store/p2b76bgsx5pkpc59fvxmkfz47502awg5-pcre-8.41/lib/libpcre.a(libpcre_la-pcre_jit_compile.o): In function `sljit_free_exec': (.text+0x6ac): undefined reference to `pthread_mutex_unlock' /gnu/store/p2b76bgsx5pkpc59fvxmkfz47502awg5-pcre-8.41/lib/libpcre.a(libpcre_la-pcre_jit_compile.o): In function `sljit_generate_code': (.text+0x73e4): undefined reference to `pthread_mutex_lock' /gnu/store/p2b76bgsx5pkpc59fvxmkfz47502awg5-pcre-8.41/lib/libpcre.a(libpcre_la-pcre_jit_compile.o): In function `sljit_generate_code': (.text+0x74b0): undefined reference to `pthread_mutex_unlock' /gnu/store/p2b76bgsx5pkpc59fvxmkfz47502awg5-pcre-8.41/lib/libpcre.a(libpcre_la-pcre_jit_compile.o): In function `sljit_generate_code': (.text+0x7847): undefined reference to `pthread_mutex_unlock' /gnu/store/p2b76bgsx5pkpc59fvxmkfz47502awg5-pcre-8.41/lib/libpcre.a(libpcre_la-pcre_jit_compile.o): In function `pcre_jit_free_unused_memory': (.text+0x2462a): undefined reference to `pthread_mutex_lock' /gnu/store/p2b76bgsx5pkpc59fvxmkfz47502awg5-pcre-8.41/lib/libpcre.a(libpcre_la-pcre_jit_compile.o): In function `pcre_jit_free_unused_memory': (.text+0x24692): undefined reference to `pthread_mutex_unlock' /gnu/store/spfsrm8cqxh7qs8j76ml6x989z2hy49y-gcc-cross-i686-unknown-linux-gnu-5.5.0/lib/gcc/i686-unknown-linux-gnu/5.5.0/libgcc_eh.a(unwind-dw2-fde-dip.o): In function `__gthread_mutex_lock': /tmp/guix-build-gcc-cross-i686-unknown-linux-gnu-5.5.0.drv-0/build/i686-unknown-linux-gnu/libgcc/./gthr-default.h:748: undefined reference to `pthread_mutex_lock' /gnu/store/spfsrm8cqxh7qs8j76ml6x989z2hy49y-gcc-cross-i686-unknown-linux-gnu-5.5.0/lib/gcc/i686-unknown-linux-gnu/5.5.0/libgcc_eh.a(unwind-dw2-fde-dip.o): In function `__gthread_mutex_unlock': /tmp/guix-build-gcc-cross-i686-unknown-linux-gnu-5.5.0.drv-0/build/i686-unknown-linux-gnu/libgcc/./gthr-default.h:778: undefined reference to `pthread_mutex_unlock' /gnu/store/spfsrm8cqxh7qs8j76ml6x989z2hy49y-gcc-cross-i686-unknown-linux-gnu-5.5.0/lib/gcc/i686-unknown-linux-gnu/5.5.0/libgcc_eh.a(unwind-dw2-fde-dip.o): In function `__gthread_mutex_lock': /tmp/guix-build-gcc-cross-i686-unknown-linux-gnu-5.5.0.drv-0/build/i686-unknown-linux-gnu/libgcc/./gthr-default.h:748: undefined reference to `pthread_mutex_lock' /gnu/store/spfsrm8cqxh7qs8j76ml6x989z2hy49y-gcc-cross-i686-unknown-linux-gnu-5.5.0/lib/gcc/i686-unknown-linux-gnu/5.5.0/libgcc_eh.a(unwind-dw2-fde-dip.o): In function `__gthread_mutex_unlock': /tmp/guix-build-gcc-cross-i686-unknown-linux-gnu-5.5.0.drv-0/build/i686-unknown-linux-gnu/libgcc/./gthr-default.h:778: undefined reference to `pthread_mutex_unlock' /gnu/store/spfsrm8cqxh7qs8j76ml6x989z2hy49y-gcc-cross-i686-unknown-linux-gnu-5.5.0/lib/gcc/i686-unknown-linux-gnu/5.5.0/libgcc_eh.a(unwind-dw2-fde-dip.o): In function `__gthread_mutex_lock': /tmp/guix-build-gcc-cross-i686-unknown-linux-gnu-5.5.0.drv-0/build/i686-unknown-linux-gnu/libgcc/./gthr-default.h:748: undefined reference to `pthread_mutex_lock' /gnu/store/spfsrm8cqxh7qs8j76ml6x989z2hy49y-gcc-cross-i686-unknown-linux-gnu-5.5.0/lib/gcc/i686-unknown-linux-gnu/5.5.0/libgcc_eh.a(unwind-dw2-fde-dip.o): In function `__gthread_mutex_unlock': /tmp/guix-build-gcc-cross-i686-unknown-linux-gnu-5.5.0.drv-0/build/i686-unknown-linux-gnu/libgcc/./gthr-default.h:778: undefined reference to `pthread_mutex_unlock' /gnu/store/spfsrm8cqxh7qs8j76ml6x989z2hy49y-gcc-cross-i686-unknown-linux-gnu-5.5.0/lib/gcc/i686-unknown-linux-gnu/5.5.0/libgcc_eh.a(unwind-dw2-fde-dip.o): In function `__gthread_mutex_lock': /tmp/guix-build-gcc-cross-i686-unknown-linux-gnu-5.5.0.drv-0/build/i686-unknown-linux-gnu/libgcc/./gthr-default.h:748: undefined reference to `pthread_mutex_lock' /gnu/store/spfsrm8cqxh7qs8j76ml6x989z2hy49y-gcc-cross-i686-unknown-linux-gnu-5.5.0/lib/gcc/i686-unknown-linux-gnu/5.5.0/libgcc_eh.a(unwind-dw2-fde-dip.o): In function `__gthread_mutex_unlock': /tmp/guix-build-gcc-cross-i686-unknown-linux-gnu-5.5.0.drv-0/build/i686-unknown-linux-gnu/libgcc/./gthr-default.h:778: undefined reference to `pthread_mutex_unlock' /gnu/store/spfsrm8cqxh7qs8j76ml6x989z2hy49y-gcc-cross-i686-unknown-linux-gnu-5.5.0/lib/gcc/i686-unknown-linux-gnu/5.5.0/libgcc_eh.a(unwind-dw2-fde-dip.o): In function `__gthread_mutex_lock': /tmp/guix-build-gcc-cross-i686-unknown-linux-gnu-5.5.0.drv-0/build/i686-unknown-linux-gnu/libgcc/./gthr-default.h:748: undefined reference to `pthread_mutex_lock' /gnu/store/spfsrm8cqxh7qs8j76ml6x989z2hy49y-gcc-cross-i686-unknown-linux-gnu-5.5.0/lib/gcc/i686-unknown-linux-gnu/5.5.0/libgcc_eh.a(unwind-dw2-fde-dip.o): In function `__gthread_mutex_unlock': /tmp/guix-build-gcc-cross-i686-unknown-linux-gnu-5.5.0.drv-0/build/i686-unknown-linux-gnu/libgcc/./gthr-default.h:778: undefined reference to `pthread_mutex_unlock' /tmp/guix-build-gcc-cross-i686-unknown-linux-gnu-5.5.0.drv-0/build/i686-unknown-linux-gnu/libgcc/./gthr-default.h:778: undefined reference to `pthread_mutex_unlock' collect2: error: ld returned 1 exit status make[2]: *** [Makefile:1317: grep] Error 1 make[2]: Leaving directory '/tmp/guix-build-grep-3.1.drv-0/grep-3.1/src' make[1]: *** [Makefile:1301: all-recursive] Error 1 make[1]: Leaving directory '/tmp/guix-build-grep-3.1.drv-0/grep-3.1' make: *** [Makefile:1242: all] Error 2 phase `build' failed after 14.3 seconds builder for `/gnu/store/db1xy331abifx0r2jbi6q9zcbcmhf1b1-grep-3.1.drv' failed with exit code 1 --8<---------------cut here---------------end--------------->8--- * mips64el: bootstrap-tarballs fails because pcre@8.41 fails. pcre@8.41 fails because of the following error: --8<---------------cut here---------------start------------->8--- make[1]: Entering directory '/tmp/guix-build-pcre-8.41.drv-0/pcre-8.41' CC libpcre_la-pcre_compile.lo CC libpcre_la-pcre_byte_order.lo CC libpcre_la-pcre_config.lo CC libpcre_la-pcre_dfa_exec.lo CC libpcre_la-pcre_exec.lo CC libpcre_la-pcre_fullinfo.lo CC libpcre_la-pcre_get.lo CC libpcre_la-pcre_globals.lo CC libpcre_la-pcre_jit_compile.lo In file included from sljit/sljitLir.c:1747:0, from pcre_jit_compile.c:62: sljit/sljitNativeMIPS_common.c: In function ?sljit_has_cpu_feature?: sljit/sljitNativeMIPS_common.c:506:3: error: a label can only be part of a statement and a declaration is not a statement sljit_sw fir; ^ make[1]: *** [Makefile:1730: libpcre_la-pcre_jit_compile.lo] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory '/tmp/guix-build-pcre-8.41.drv-0/pcre-8.41' make: *** [Makefile:1322: all] Error 2 phase `build' failed after 29.4 seconds builder for `/gnu/store/16sgy03d1f21qkn8895nq8ddpa7a14vz-pcre-8.41.drv' failed with exit code 1 --8<---------------cut here---------------end--------------->8--- * x86_64: I'm not sure if it makes sense to cross-compile for x86_64 on an x86_64 system, but I tried it anyway, and bootstrap-tarballs and guile-static both fail because of an error like the following: --8<---------------cut here---------------start------------->8--- g++ -g -O2 -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -o cc1 c/c-lang.o c-family/stub-objc.o attribs.o c/c-errors.o c/c-decl.o c/c-typeck.o c/c-convert.o c/c-aux-info.o c/c-objc-common.o c/c-parser.o c/c-array-notation.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o c-family/c-cilkplus.o c-family/array-notation-common.o c-family/cilk.o c-family/c-ubsan.o i386-c.o glibc-c.o \ cc1-checksum.o libbackend.a main.o tree-browser.o libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a libcommon.a ../libcpp/libcpp.a ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -lisl -lmpc -lmpfr -lgmp -rdynamic -ldl -lz g++ -g -O2 -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -o cc1plus \ cp/cp-lang.o c-family/stub-objc.o cp/call.o cp/decl.o cp/expr.o cp/pt.o cp/typeck2.o cp/class.o cp/decl2.o cp/error.o cp/lex.o cp/parser.o cp/ptree.o cp/rtti.o cp/typeck.o cp/cvt.o cp/except.o cp/friend.o cp/init.o cp/method.o cp/search.o cp/semantics.o cp/tree.o cp/repo.o cp/dump.o cp/optimize.o cp/mangle.o cp/cp-objcp-common.o cp/name-lookup.o cp/cxx-pretty-print.o cp/cp-cilkplus.o cp/cp-gimplify.o cp/cp-array-notation.o cp/lambda.o cp/vtable-class-hierarchy.o cp/constexpr.o cp/cp-ubsan.o attribs.o incpath.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o c-family/c-cilkplus.o c-family/array-notation-common.o c-family/cilk.o c-family/c-ubsan.o i386-c.o glibc-c.o cc1plus-checksum.o libbackend.a main.o tree-browser.o libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a libcommon.a ../libcpp/libcpp.a ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -lisl -lmpc -lmpfr -lgmp -rdynamic -ldl -lz echo | /tmp/guix-build-gcc-cross-sans-libc-x86_64-unknown-linux-gnu-5.5.0.drv-0/build/./gcc/xgcc -B/tmp/guix-build-gcc-cross-sans-libc-x86_64-unknown-linux-gnu-5.5.0.drv-0/build/./gcc/ -E -dM - | \ sed -n -e 's/^#define \([^_][a-zA-Z0-9_]*\).*/\1/p' \ -e 's/^#define \(_[^_A-Z][a-zA-Z0-9_]*\).*/\1/p' | \ sort -u > tmp-macro_list /tmp/guix-build-gcc-cross-sans-libc-x86_64-unknown-linux-gnu-5.5.0.drv-0/build/./gcc/cc1: error while loading shared libraries: libisl.so.15: cannot open shared object file: No such file or directory /gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash ../../gcc-5.5.0/gcc/../move-if-change tmp-macro_list macro_list echo timestamp > s-macro_list rm -rf include-fixed; mkdir include-fixed chmod a+rx include-fixed if [ -d ../prev-gcc ]; then \ cd ../prev-gcc && \ make real-install-headers-tar DESTDIR=`pwd`/../gcc/ \ libsubdir=. ; \ else \ set -e; for ml in `cat fixinc_list`; do \ sysroot_headers_suffix=`echo ${ml} | sed -e 's/;.*$//'`; \ multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'`; \ fix_dir=include-fixed${multi_dir}; \ if ! false && test ! -d `echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`; then \ echo The directory that should contain system headers does not exist: >&2 ; \ echo " `echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`" >&2 ; \ tooldir_sysinc=`echo "/gnu/store/7yk3imgyc20dxbq8zn4d61m95d6pyzhr-gcc-cross-sans-libc-x86_64-unknown-linux-gnu-5.5.0/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../x86_64-unknown-linux-gnu/sys-include" | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`; \ if test "x`echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`" = "x${tooldir_sysinc}"; \ then sleep 1; else exit 1; fi; \ fi; \ /gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash ../../gcc-5.5.0/gcc/../mkinstalldirs ${fix_dir}; \ chmod a+rx ${fix_dir} || true; \ (TARGET_MACHINE='x86_64-unknown-linux-gnu'; srcdir=`cd ../../gcc-5.5.0/gcc; ${PWDCMD-pwd}`; \ SHELL='/gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash'; MACRO_LIST=`${PWDCMD-pwd}`/macro_list ; \ gcc_dir=`${PWDCMD-pwd}` ; \ export TARGET_MACHINE srcdir SHELL MACRO_LIST && \ cd ../build-x86_64-unknown-linux-gnu/fixincludes && \ /gnu/store/icz3hd36aqpjz5slyp4hhr8wsfbgiml1-bash-minimal-4.4.12/bin/bash ./fixinc.sh "${gcc_dir}/${fix_dir}" \ `echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta` ); \ rm -f ${fix_dir}/syslimits.h; \ if [ -f ${fix_dir}/limits.h ]; then \ mv ${fix_dir}/limits.h ${fix_dir}/syslimits.h; \ else \ cp ../../gcc-5.5.0/gcc/gsyslimits.h ${fix_dir}/syslimits.h; \ fi; \ chmod a+r ${fix_dir}/syslimits.h; \ done; \ fi The directory that should contain system headers does not exist: /usr/include make[3]: *** [Makefile:2831: stmp-fixinc] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory '/tmp/guix-build-gcc-cross-sans-libc-x86_64-unknown-linux-gnu-5.5.0.drv-0/build/gcc' make[2]: *** [Makefile:4322: all-stage1-gcc] Error 2 make[2]: Leaving directory '/tmp/guix-build-gcc-cross-sans-libc-x86_64-unknown-linux-gnu-5.5.0.drv-0/build' make[1]: *** [Makefile:15652: stage1-bubble] Error 2 make[1]: Leaving directory '/tmp/guix-build-gcc-cross-sans-libc-x86_64-unknown-linux-gnu-5.5.0.drv-0/build' make: *** [Makefile:855: all] Error 2 phase `build' failed after 1398.8 seconds builder for `/gnu/store/g5h8ch1lk9rgljdgrkykr4mhxibwwkj5-gcc-cross-sans-libc-x86_64-unknown-linux-gnu-5.5.0.drv' failed with exit code 1 @ build-failed /gnu/store/g5h8ch1lk9rgljdgrkykr4mhxibwwkj5-gcc-cross-sans-libc-x86_64-unknown-linux-gnu-5.5.0.drv - 1 builder for `/gnu/store/g5h8ch1lk9rgljdgrkykr4mhxibwwkj5-gcc-cross-sans-libc-x86_64-unknown-linux-gnu-5.5.0.drv' failed with exit code 1 --8<---------------cut here---------------end--------------->8--- Earlier in this bug report, on 2017/11/27, I reported that a command like the following failed ("ERROR: In procedure load-thunk-from-memory: No such file or directory"), even though using --no-grafts had been suggested as a work-around: /pre-inst-env guix build --no-grafts --target=mips64el-linux-gnu \ bootstrap-tarballs By using git bisect, I was able to determine that the commit which introduced that specific issue was 2acfe022a740f79b593348cc6362cc4ee8f33bb4, which updated guile-static-stripped to 2.2. In sum, the original errors are no longer occurring, which is great. Now we need to fix the remaining problems listed above. -- Chris