[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#24841: Status: Cross-building bootstrap binaries fail in current mas
From: |
Chris Marusich |
Subject: |
bug#24841: Status: Cross-building bootstrap binaries fail in current master |
Date: |
Thu, 22 Feb 2018 10:47:16 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
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 address@hidden fails. address@hidden 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 address@hidden fails.
address@hidden
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
signature.asc
Description: PGP signature
- bug#24841: Status: Cross-building bootstrap binaries fail in current master,
Chris Marusich <=