Hello! Building 'bootstrap-tarballs' for other architectures fails on core-updates. Here is the comparison to the previous core-updates evaluation in December:
https://hydra.gnu.org/eval/109945?compare=109875#tabs-now-fail There seems to be a couple of different problems here. 'patch' fails to build due to a conflicting declaration of '__mktime_internal': --8<---------------cut here---------------start------------->8--- CCLD patch /gnu/store/9v09kidvqykyk2kh26q297di3lkjc8vy-glibc-cross-arm-linux-gnueabihf-2.27-static/lib/libc.a(mktime.o): In function `__mktime_internal': /tmp/guix-build-glibc-cross-arm-linux-gnueabihf-2.27.drv-0/glibc-2.27/time/mktime.c:353: multiple definition of `__mktime_internal' ../lib/libpatch.a(mktime.o):/tmp/guix-build-patch-2.7.6.drv-0/patch-2.7.6/lib/mktime.c:317: first defined here collect2: error: ld returned 1 exit status make[2]: *** [Makefile:1230: patch] Error 1 --8<---------------cut here---------------end--------------->8--- Note that there is a warning about __mktime_internal earlier: --8<---------------cut here---------------start------------->8--- In file included from timegm.c:20:0: timegm.c: In function 'rpl_timegm': ../config.h:1974:25: warning: implicit declaration of function '__mktime_internal' [-Wimplicit-function-declaration] #define mktime_internal __mktime_internal timegm.c:30:28: note: in expansion of macro 'mktime_internal' # define __mktime_internal mktime_internal timegm.c:39:10: note: in expansion of macro '__mktime_internal' return __mktime_internal (tmp, __gmtime_r, &gmtime_offset); --8<---------------cut here---------------end--------------->8--- Then we have 'ncurses' failing in the install phase with: --8<---------------cut here---------------start------------->8--- make[1]: Entering directory '/tmp/guix-build-ncurses-6.1.drv-0/ncurses-6.1/progs' mkdir -p /gnu/store/553j76738bh6bcr31vsyri0wpxir2wkw-ncurses-6.1/bin /gnu/store/63gkgnixg6xj3m9cgl25ib2zxl51ngw0-coreutils-8.29/bin/install -c -s tic /gnu/store/553j76738bh6bcr31vsyri0wpxir2wkw-ncurses-6.1/bin/`echo tic| sed 's/$//'|sed 's,x,x,'|sed 's/$//'` strip: Unable to recognise the format of the input file `/gnu/store/553j76738bh6bcr31vsyri0wpxir2wkw-ncurses-6.1/bin/tic' /gnu/store/63gkgnixg6xj3m9cgl25ib2zxl51ngw0-coreutils-8.29/bin/install: strip process terminated abnormally make[1]: *** [Makefile:201: install.progs] Error 1 --8<---------------cut here---------------end--------------->8--- The error message here is odd: /gnu/store/.../bin/tic is not installed yet at this point. The built binary looks fine however. Quoth `file`: /dev/shm/guix-build-ncurses-6.1.drv-0/ncurses-6.1/progs/tic: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /gnu/store/jiw5wrjvcipfxnpl56572x4bf6gdvypf-glibc-cross-arm-linux-gnueabihf-2.27/lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, with debug_info, not stripped I'm not sure why these failures happen only when cross-compiling. The respective native builds are okay. Thoughts? For those following along at home, you can reproduce these failures by checking out the core-updates branch, and then run: ./pre-inst-env guix build --target=arm-linux-gnueabihf bootstrap-tarballs (or any other target triplet, they fail in the same way)
signature.asc
Description: PGP signature