Cross-building bootstrap binaries fail in current master

  • Done
  • quality assurance status badge
Details
3 participants
  • Chris Marusich
  • Ludovic Courtès
  • zimoun
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote on 31 Oct 2016 22:59
(name . Carlos Sánchez de La Lama)(address . csanchezdll@gmail.com)
87k2conpsp.fsf@gnu.org
Hi Carlos,

csanchezdll@gmail.com (Carlos Sánchez de La Lama) skribis:

Toggle quote (54 lines)
>> Regardless, cross-building ‘bootstrap-tarballs’ to one of the supported
>> target triplets works on master:
>>
>> --8<---------------cut here---------------start------------->8---
>> $ ./pre-inst-env guix build bootstrap-tarballs --target=mips64el-linux-gnu -n
>> substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
>> The following files would be downloaded:
>> /gnu/store/lwn9v9jhsllffpc3d4kii8bldw4hfppa-bootstrap-tarballs-0
>> /gnu/store/6cm18hfwbp8c1mf6wha28f0b0axlcm8k-guile-static-stripped-tarball-2.0.11
>> /gnu/store/f790i196x1ms2ym13pvbazldzicqv4k9-glibc-stripped-tarball-2.23
>> /gnu/store/jj007dw6gc31hnn1qq3yz7rz1ai1z0fa-gcc-stripped-tarball-4.9.3
>> /gnu/store/niqxni4hhjr2wvlabn92z1asqb7xcnsx-static-binaries-tarball-0
>> /gnu/store/pskf0y5q3j5a3k30c0czd2xymwp4224i-binutils-static-stripped-tarball-2.25.1
>> $ git describe
>> v0.11.0-1764-g3ad7dce
>> --8<---------------cut here---------------end--------------->8---
>>
>> See:
>>
>> https://hydra.gnu.org/job/gnu/master/mips64el-linux-gnu.bootstrap-tarballs-0.x86_64-linux
>> https://hydra.gnu.org/job/gnu/master/mips64el-linux-gnuabi64.bootstrap-tarballs-0.x86_64-linux
>
> For efraim and for myself,
>
> guix build --target=mips64el-linux-gnu bootrap-tarballs
>
> got broken with commit
>
> b9bc6e842066b066ebdf9eaf75d41753598d75b5
>
> After some digging, I think I have found the root cause. That commit
> introduces a (otherwise fine) replacement for expat, but this triggers a
> problem:
>
> After package-cross-derivation has (sucesfully) cross-built the
> un-grafted bootstrap-tarballs derivation, it tries to resolve grafts,
> using (bag-grafts), which does:
>
> (define target-grafts
> (if target
> (let ((->graft (input-cross-graft store target system)))
> (fold-bag-dependencies (lambda (package grafts)
> (match (->graft package)
> (#f grafts)
> (graft (cons graft grafts))))
> '()
> bag
> #:native? #f))
>
> Now, (fold-bag-dependencies) goes trhough *all* the dependencies, down to
> make-boot0. The replacement in expat causes this loop to apply
> (package-cross-derivation) to them, including those which are not
> cross-compilable, at which point building fails (make-boot0).

Indeed, looks like a genuine bug. Cc’ing bug-guix so we can keep track
of it.

Toggle quote (5 lines)
> Probably building with --no-grafts is a suitable work-around, or
> cross-building expat beforehand (thus I won't need grafting) but I am
> leaving my store untoched for a while to be able to produce a proper
> fix.

Yeah, I’d suggest using --no-grafts until this is fixed.

Thanks,
Ludo’.
C
C
Chris Marusich wrote on 28 Nov 2017 05:31
Re: bug#24841: Cross-building bootstrap binaries fail in current master
(name . Ludovic Courtès)(address . ludo@gnu.org)
874lpfdnxw.fsf@garuda.local.i-did-not-set--mail-host-address--so-tickle-me
ludo@gnu.org (Ludovic Courtès) writes:

Toggle quote (9 lines)
>> For efraim and for myself,
>>
>> guix build --target=mips64el-linux-gnu bootrap-tarballs
>>
>> got broken with commit
>>
>> b9bc6e842066b066ebdf9eaf75d41753598d75b5
>>

This still fails. The error I see today, using commit
5aa6e0d04a3f9dea06b9d35f04fa709b31e4b343, is the following:

Toggle snippet (28 lines)
$ ./pre-inst-env guix build --substitute-urls='https://mirror.hydra.gnu.org https://hydra.gnu.org' --target=mips64el-linux-gnu bootstrap-tarballs
@ build-started /gnu/store/ybqid1nca0wjf0mvph82hl8f1dav4ann-make-boot0-4.2.1.drv - x86_64-linux /var/log/guix/drvs/yb//qid1nca0wjf0mvph82hl8f1dav4ann-make-boot0-4.2.1.drv.bz2
starting phase `set-SOURCE-DATE-EPOCH'
phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds
starting phase `set-paths'
environment variable `PATH' set to `/gnu/store/bdbi6mlyci8d98szqhyzwxbb2pd6kw9w-gcc-cross-x86_64-linux-5.4.0/bin:/gnu/store/pdl320cy7axlq8ry87jqid7m0sgnm56n-binutils-cross-x86_64-linux-2.28/bin'
environment variable `CROSS_LIBRARY_PATH' set to `/gnu/store/jb6xbkm6jchhbp9l9nm05qnn3jzlnczl-glibc-bootstrap-0/lib:/gnu/store/inwi6s9x140rv8qhn7z3cpl2sj8in4vq-gcc-bootstrap-0/lib:/gnu/store/n47km143d64pbl8r55w741gpplg62jji-glibc-cross-x86_64-linux-2.25/lib'
environment variable `CROSS_C_INCLUDE_PATH' set to `/gnu/store/jb6xbkm6jchhbp9l9nm05qnn3jzlnczl-glibc-bootstrap-0/include:/gnu/store/inwi6s9
x140rv8qhn7z3cpl2sj8in4vq-gcc-bootstrap-0/include:/gnu/store/n47km143d64pbl8r55w741gpplg62jji-glibc-cross-x86_64-linux-2.25/include:/gnu/store/zm415fv9i70ablx8lpz2dmh4iyj7l5hy-linux-libre-headers-cross-x86_64-linux-4.4.47/include'
environment variable `CROSS_CPLUS_INCLUDE_PATH' set to `/gnu/store/jb6xbkm6jchhbp9l9nm05qnn3jzlnczl-glibc-bootstrap-0/include:/gnu/store/inwi6s9x140rv8qhn7z3cpl2sj8in4vq-gcc-bootstrap-0/include:/gnu/store/n47km143d64pbl8r55w741gpplg62jji-glibc-cross-x86_64-linux-2.25/include:/gnu/store/zm415fv9i70ablx8lpz2dmh4iyj7l5hy-linux-libre-headers-cross-x86_64-linux-4.4.47/include'
environment variable `CROSS_OBJC_INCLUDE_PATH' set to `/gnu/store/jb6xbkm6jchhbp9l9nm05qnn3jzlnczl-glibc-bootstrap-0/include:/gnu/store/inwi6s9x140rv8qhn7z3cpl2sj8in4vq-gcc-bootstrap-0/include:/gnu/store/n47km143d64pbl8r55w741gpplg62jji-glibc-cross-x86_64-linux-2.25/include:/gnu/store/zm415fv9i70ablx8lpz2dmh4iyj7l5hy-linux-libre-headers-cross-x86_64-linux-4.4.47/include'
environment variable `CROSS_OBJCPLUS_INCLUDE_PATH' set to `/gnu/store/jb6xbkm6jchhbp9l9nm05qnn3jzlnczl-glibc-bootstrap-0/include:/gnu/store/inwi6s9x140rv8qhn7z3cpl2sj8in4vq-gcc-bootstrap-0/include:/gnu/store/n47km143d64pbl8r55w741gpplg62jji-glibc-cross-x86_64-linux-2.25/include:/gnu/store/zm415fv9i70ablx8lpz2dmh4iyj7l5hy-linux-libre-headers-cross-x86_64-linux-4.4.47/include'
environment variable `GUIX_LOCPATH' unset
environment variable `CPATH' set to `/gnu/store/bdbi6mlyci8d98szqhyzwxbb2pd6kw9w-gcc-cross-x86_64-linux-5.4.0/include'
environment variable `LIBRARY_PATH' set to `/gnu/store/bdbi6mlyci8d98szqhyzwxbb2pd6kw9w-gcc-cross-x86_64-linux-5.4.0/lib'
phase `set-paths' succeeded after 0.0 seconds
starting phase `install-locale'
warning: failed to install 'en_US.utf8' locale: Invalid argument
phase `install-locale' succeeded after 0.0 seconds
starting phase `unpack'
In execvp of tar: No such file or directory
phase `unpack' failed after 0.0 seconds
builder for `/gnu/store/ybqid1nca0wjf0mvph82hl8f1dav4ann-make-boot0-4.2.1.drv' failed with exit code 1
@ build-failed /gnu/store/ybqid1nca0wjf0mvph82hl8f1dav4ann-make-boot0-4.2.1.drv - 1 builder for `/gnu/store/ybqid1nca0wjf0mvph82hl8f1dav4ann-make-boot0-4.2.1.drv' failed with exit code 1
cannot build derivation `/gnu/store/bb8hq0px9ij03nmls8a0j2ak248f9lyx-file-boot0-5.30.drv': 1 dependencies couldn't be built
guix build: error: build failed: build of `/gnu/store/bb8hq0px9ij03nmls8a0j2ak248f9lyx-file-boot0-5.30.drv' failed

Toggle quote (7 lines)
>> Probably building with --no-grafts is a suitable work-around, or
>> cross-building expat beforehand (thus I won't need grafting) but I am
>> leaving my store untoched for a while to be able to produce a proper
>> fix.
>
> Yeah, I’d suggest using --no-grafts until this is fixed.

Are you sure this work-around works? When I add --no-grafts, I get the
following error:

Toggle snippet (97 lines)
$ ./pre-inst-env guix build --substitute-urls='https://mirror.hydra.gnu.org https://hydra.gnu.org' --no-grafts --target=mips64el-linux-gnu bootstrap-tarballs
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://hydra.gnu.org'... 100.0%
The following derivations will be built:
/gnu/store/x9wixafhlhrwaimp5dyf4g3m4b900h9y-bootstrap-tarballs-0.drv
/gnu/store/hi7magp0zhkrd7fy25vwv2skl2x3j2lv-guile-static-2.2.2.drv
/gnu/store/yil4gm5maipjf1yb5fw9gy8l2hy975mr-guile-static-stripped-2.2.2.drv
/gnu/store/qb3s4zi7j22s8awrlck1872myivxr1rg-guile-static-stripped-tarball-2.2.2.drv
237.1 MB will be downloaded:
/gnu/store/3fkfgpw2px7dshl2rfjbng6ddsyr6k4f-linux-libre-headers-cross-mips64el-linux-gnu-4.4.47
/gnu/store/3ymkvl8nmk80w05vv77y45mf4nv4qa1j-gmp-6.1.2
/gnu/store/pbrwkg2lzscphkyjxzdphr63bqcm20r8-glibc-cross-mips64el-linux-gnu-2.25
/gnu/store/wxyf3y3bsrw77fi6r0505hwlzmanyj26-gcc-cross-mips64el-linux-gnu-5.4.0
/gnu/store/9fnprlh8fwnfyjnmp3n6ybx58mwy8260-readline-7.0
/gnu/store/4kjvw1mfg8300vgxx97x0vvarjb0yzss-ncurses-6.0
/gnu/store/bx9qvznmzq39h8gb1zv4c28kdnkbd8ls-pkg-config-mips64el-linux-gnu-0.29.2
/gnu/store/pp3w43w92a8kbnaj87zfc53bwsr7vsz4-binutils-cross-mips64el-linux-gnu-2.28
/gnu/store/bymc1f0i3wkhhwwf20ffp6i1gmxq892a-libltdl-2.4.6
/gnu/store/smfrwm4qfj77l6ynq9d7awyjjqwas648-guile-static-2.2.2
/gnu/store/h3nyn8p99b9m9y353prn497zpvw4z2jr-gcc-cross-mips64el-linux-gnu-5.4.0
/gnu/store/5mr2hikzw7bp7h1q4xabqbjqqx558hn5-glibc-cross-mips64el-linux-gnu-2.25
/gnu/store/04kqafjrc2raiq7dzdkbpm31i5awrmqw-libffi-3.2.1
/gnu/store/31pi2pm80mm2w03hy3cbg7xc6adqjsvm-libgc-7.6.0
/gnu/store/mzcz5clxs7kiqrz7570wvj8gd6zj4wc9-bash-minimal-4.4.12
/gnu/store/n2ha7xz4690mm7n5zjr8fg46va56ny9f-libunistring-0.9.7
/gnu/store/l5wwzf579w7p2xgvymqxrwjcg6h9r4jr-linux-libre-headers-cross-mips64el-linux-gnu-4.4.47
/gnu/store/jinmblfjidfxlgdljpnx9dgbb0pwc6gf-binutils-static-stripped-tarball-2.28
/gnu/store/hrn7px45c3frag4djmqf3ykknybwcrjz-linux-libre-headers-4.4.47
/gnu/store/35ik0amrcfjg3fql64v3ylr1yyqj9d63-gcc-stripped-tarball-5.4.0
/gnu/store/wvyqv1jazydcglfnqq8v7nxjwn8cf1f1-glibc-stripped-tarball-2.25
/gnu/store/ip0k6kiams7sj4l2q6zlv3ih6mjf539s-static-binaries-tarball-0
/gnu/store/5sdf53qnqwdsvnvk6vg01yiz9wxjx082-glibc-cross-mips64el-linux-gnu-2.25
/gnu/store/0qsh7cxkmpbdmmc48ks6ba4i3c28gncx-gcc-cross-sans-libc-mips64el-linux-gnu-5.4.0
/gnu/store/xnj1538h60rh679v05847g0bkwlj8x9a-ld-wrapper-mips64el-linux-gnu-0
/gnu/store/kqic8p5d41k2m9a2la5ljx8h7f8rgd4z-libffi-3.2.1
/gnu/store/2ks7gskdfc3yk493kga79z0ik2kvw3n5-libatomic-ops-7.4.4
@ substituter-started /gnu/store/jinmblfjidfxlgdljpnx9dgbb0pwc6gf-binutils-static-stripped-tarball-2.28 /gnu/store/d0xkr3d3zyqrnsh31vp0qdavp3anh6ml-guix-0.13.0-10.0b4c385/libexec/guix/substitute
...
@ build-started /gnu/store/hi7magp0zhkrd7fy25vwv2skl2x3j2lv-guile-static-2.2.2.drv - x86_64-linux /var/log/guix/drvs/hi//7magp0zhkrd7fy25vwv2skl2x3j2lv-guile-static-2.2.2.drv.bz2
...
wrote `web/http.go'
GUILEC web/uri.go
wrote `web/server/http.go'
GUILEC language/elisp/boot.go
Backtrace:
In srfi/srfi-1.scm:
640:9 19 (for-each #<procedure cc8a00 at scripts/compile.scm:24?> ?)
In scripts/compile.scm:
251:26 18 (_ _)
In system/base/target.scm:
57:6 17 (with-target _ _)
In system/base/compile.scm:
139:28 16 (compile-file "language/elisp/boot.el" #:output-file _ # ?)
In system/base/language.scm:
110:30 15 (default-environment _)
62:11 14 (lookup-language elisp)
In ice-9/boot-9.scm:
2718:10 13 (_ (language elisp spec) _ _ #:ensure _)
2986:16 12 (try-module-autoload _ _)
2316:4 11 (save-module-excursion _)
3006:22 10 (_)
In unknown file:
9 (primitive-load-path "language/elisp/spec" #<procedure ?>)
In system/base/compile.scm:
165:4 8 (compile-and-load _ #:from _ #:to _ #:env _ #:opts _ # _)
235:18 7 (read-and-compile #<input: language/elisp/boot.el 13> # ?)
183:32 6 (compile-fold (#<procedure compile-tree-il (expr env ?>) ?)
In language/elisp/compile-tree-il.scm:
805:5 5 (compile-tree-il (defmacro @ (module symbol) (#{`}# ?)) ?)
705:11 4 (_ _ _)
In system/base/compile.scm:
255:6 3 (compile _ #:from _ #:to _ #:env _ #:opts _)
183:32 2 (compile-fold _ #<tree-il (seq (call (@ (language elis?> ?)
In language/bytecode/spec.scm:
28:15 1 (bytecode->value #vu8(127 69 76 70 1 1 1 255 0 0 0 0 ?) ?)
In unknown file:
0 (load-thunk-from-memory #vu8(127 69 76 70 1 1 1 255 0 ?))

ERROR: In procedure load-thunk-from-memory:
ERROR: In procedure load-thunk-from-memory: No such file or directory
make[2]: *** [Makefile:2266: language/elisp/boot.go] Error 1
make[2]: *** Waiting for unfinished jobs....
wrote `web/uri.go'
make[2]: Leaving directory '/tmp/guix-build-guile-static-2.2.2.drv-0/guile-2.2.2/module'
make[1]: *** [Makefile:1857: all-recursive] Error 1
make[1]: Leaving directory '/tmp/guix-build-guile-static-2.2.2.drv-0/guile-2.2.2'
make: *** [Makefile:1743: all] Error 2
phase `build' failed after 732.1 seconds
builder for `/gnu/store/hi7magp0zhkrd7fy25vwv2skl2x3j2lv-guile-static-2.2.2.drv' failed with exit code 1
@ build-failed /gnu/store/hi7magp0zhkrd7fy25vwv2skl2x3j2lv-guile-static-2.2.2.drv - 1 builder for `/gnu/store/hi7magp0zhkrd7fy25vwv2skl2x3j2lv-guile-static-2.2.2.drv' failed with exit code 1
cannot build derivation `/gnu/store/yil4gm5maipjf1yb5fw9gy8l2hy975mr-guile-static-stripped-2.2.2.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/qb3s4zi7j22s8awrlck1872myivxr1rg-guile-static-stripped-tarball-2.2.2.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/x9wixafhlhrwaimp5dyf4g3m4b900h9y-bootstrap-tarballs-0.drv': 1 dependencies couldn't be built
guix build: error: build failed: build of `/gnu/store/x9wixafhlhrwaimp5dyf4g3m4b900h9y-bootstrap-tarballs-0.drv' failed


Does the --no-grafts workaround actually work?

Or, is it that the work-around works, but for some other reason
guile-static-2.2.2 fails to cross-build on an x86_64-linux Guix system
for the mips64el-linux-gnu target?

--
Chris
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAloc5owACgkQ3UCaFdgi
Rp1WFxAAgAfYTT8AGsw2sKmYz1LW6+ZSFOEbmGe6bZYqzqMXyt11iw5faJECLTpY
q5SqTgnVb8TKTN71jBOU8ONqbjK1Wn2WVZFymtOWK8tkE8YDCEnOl4njpG1b7Xp4
C1k2n3GJOSQd8ghk+Nc+eBaQSilOXgosbWkahIxgtwjtRcAJyIAfT670KnImIv28
67vo2lkkPsMtZglGFA7Vg7SpSk2S47gaAbdaFAf+OVaF2qaSBAQC5ktYZ0nlQSyh
aPzjapPZ2LVJ6UqZ9UHPf+qnpLW2ZLHtdjyb1gN0oYLRF+dLm3VsagCRTyNduviu
0DY/d84YyZ3qaFxXaDxXdYbfldDCkzEhoATlMBqvqXuc+rKpMVcVXLi1e1uynRU6
jZxt12vwjdLgfQRcg63m3ubRmOUEUOfC9IUP2w/OF1mm2Vnywk2Wz6r3B9fPRziE
1J5OqOz5z8KPUqaJRU6Kk31M+nKTbbLxVAlAzHDQKpVbOBkOVMBysAhfy4ZY6H3c
YW4Eq6jNmmXZdMdCAdabdpIJnxMdAabOmu8zlXh8Ag4UtkAVkbiEcpbJTc90W+32
hrSI3WqKOxBqXCryTN8ZzzR0ZVxZZoKt2v6H9f7gjSjMABMjW564pK3oAM/vbTyE
nkFAUbXbD1PhlMpnabtP2QYdvOBDQYUb8pjnwMPYLYGONWnL9l8=
=kbFN
-----END PGP SIGNATURE-----

C
C
Chris Marusich wrote on 22 Feb 2018 10:47
Re: Status: Cross-building bootstrap binaries fail in current master
(name . bug#24841)(address . 24841@debbugs.gnu.org)
87a7w18ifv.fsf@garuda.local.i-did-not-set--mail-host-address--so-tickle-me
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:

Toggle snippet (55 lines)
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

* mips64el: bootstrap-tarballs fails because pcre@8.41 fails. pcre@8.41
fails because of the following error:

Toggle snippet (24 lines)
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

* 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:

Toggle snippet (63 lines)
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

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
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAlqOkaUACgkQ3UCaFdgi
Rp2SSBAApQau6oB9GADfFVe9n3N4SzuvgZDvYB9kh8pAn0QIaXXK0uXECu1Q36hM
iRfYaUYgQJU71Bh0gk/homeBjhX1k1cX71XgebYZD7PaNV1CD+6A+3HpSRHgJwaA
PcIPbqr+f4+tIVZ9YmszauN+D3dURJKRDOXnr+wYHpxIOZxJBtZtAKdisGPRycHq
UOW9cTlfkA5bgGnBg4k8TGOqZ1Nvp5TgRr1m/QVaj/K4YTODWEnTGUbWk4cQ289k
T59Eqf0S0c+BRu1+t/kVMQqCyYF0ip6mGAcpoA5rYpJBUmYpZk6uvYQY9ATvuMAQ
AO2hRacJ0s7IWJb3/O+M7cDpmOpMUqzNa6+uTQ+ZvoJUjGS0a9Hnue94ZvZJCKZq
ZMQXJHmMNA+hNyr5Iat1NTndQoFqG0jzBuRrzE7N/UU7I9qrp6sTVT9P1tOQI7CO
1okXePHUaG0cfgBbbJsYSfkxooKYsXfjozlvfs6w8GjGaq/YmYIUbtxBOE1whrLD
MHU+QtFUoxTyw4oZIHmyOPdZkmL9rqYG8dHpwenyv+6cn223L/+EacCcPGBxKl6Z
X0ttnKHaeDf9/ee6NxBSGZtGoksZbvr4BHcnRkaWBqxWXHu1XUywc0rY9nuya/We
vlCCSPeeSJIi0JcyXlWBYIYWDjC6FdipJ98QxIsfft3N4MWkAEU=
=VBYJ
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 28 Feb 2018 00:36
Re: bug#24841: Status: Cross-building bootstrap binaries fail in current master
(name . Chris Marusich)(address . cmmarusich@gmail.com)(name . bug#24841)(address . 24841@debbugs.gnu.org)
87k1uyuhs8.fsf@gnu.org
Hello,

Thanks for testing and providing a clear summary!

Chris Marusich <cmmarusich@gmail.com> skribis:

Toggle quote (58 lines)
> * 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:
>
> 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

Commit 29d37e999c495431eafde90027d2b97b16d0db4e fixes this one:

Toggle snippet (6 lines)
$ ./pre-inst-env guix build --target=aarch64-unknown-linux-gnu bootstrap-tarballs
/gnu/store/yai6wip6qcqgwlxwgvfqwab8gi9yks1s-bootstrap-tarballs-0
$ git describe
v0.14.0-2653-g29d37e999

Ludo’.
Z
Z
zimoun wrote on 2 Jul 2021 10:47
Re: bug#24841: Cross-building bootstrap binaries fail in current master
(name . Chris Marusich)(address . cmmarusich@gmail.com)
85lf6p85kz.fsf_-_@gmail.com
Hi,

What is the status of this bug#24841 report [1]?



On jeu., 22 févr. 2018 at 10:47, Chris Marusich <cmmarusich@gmail.com> wrote:
Toggle quote (38 lines)
> 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

Using Guix 3694c0d on x86_64 and the line,

time guix build --target=$arch bootstrap-tarballs -q --no-grafts
time guix build --target=$arch bootstrap-tarballs -q

I get this:

PASS: aarch64-unknown-linux-gnu bootstrap-tarballs grafts
PASS: 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
PASS: arm-unknown-linux-gnueabihf bootstrap-tarballs grafts
PASS: 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
PASS: i686-unknown-linux-gnu bootstrap-tarballs grafts
PASS: 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
PASS: mips64el-unknown-linux-gnu bootstrap-tarballs grafts
PASS: 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


In other words, it is not a cross-compilation issue. :-)

WDYT to close this old report and open another one addressing the
current issues; if they are.

All the best,
simon
C
C
Chris Marusich wrote on 6 Jul 2021 05:36
(name . zimoun)(address . zimon.toutoune@gmail.com)
875yxow1tl.fsf@gmail.com
zimoun <zimon.toutoune@gmail.com> writes:

Toggle quote (4 lines)
> What is the status of this bug#24841 report [1]?
>
> 1: <http://issues.guix.gnu.org/issue/24841>

I agree we can close this old bug report. As you mentioned, it is now
possible to build bootstrap binaries for various architectures.

If someone needs to build bootstrap binaries for a specific
architecture, and they are unable to do so, then they should open a new
bug report for that problem specifically. Currently, I have no need to
do this, since I am not bootstrapping any new architectures at the
moment, or updating any bootstrap binaries.

If nobody else comments, I'll close this bug report in a week or two.

--
Chris
-----BEGIN PGP SIGNATURE-----

iQJJBAEBCAAzFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAmDjz8YVHGNtbWFydXNp
Y2hAZ21haWwuY29tAAoJEN1AmhXYIkaddQYQANXOQZFyvm+qOIZTpPc1P9lKgsUc
MNrbdAQXepel0vKJ9MSY8npUAXaL78d57TE44YjND6teqMlSrJCfLgpUEX5eQK3e
aaxjDqrAew0q84krCPhGIp8S3QyuQEYO13jjN67w9EwtNAUHFZoLqWMqlXlH6imF
c0+tmzB/M0MaU8JmlR6p8RZsu468worj6dDuJTs6JEgLkJB8aNA5/hU8dIUQ6cV4
kNi0O2dvsxyiuNXAA7EmxiEl6ERmhPudvz69h8FDKKoz3U+YlY/wWWNxB56rv3IR
FWdDSYxoxBw93FaTZHyrrJkG2CQvUUN5znatav9sr9C0BcBRBLbkUDAIXveEAY1t
bhKhbptEl3tGCxu5JEeK8GA2EkzIQzWKxnZt2NUT6pXAugk1hVfQ+Un/OGAsJXtk
ijN/UvWqjULGn8Vv9UamEhhpDB+YW8qmwVLRlveLObRyIxFHgVgnQfrJXC9K0T2H
fViNAEwfdrUDmzkGTXfPUdof7n6kbsS+pd4Bk3XC4jDviUIwapvx+NPDrwVZhRg3
/ZIH8MJp7v1omxQxg82FHKE6C6u3nOvbfPS+CqL9CIBPipuwhmgdBq2fPuhb2W2K
SykybGgI+5I7fFDZluu0YvQbe/U6hLDzno61Xoa5oOyLfHn2lczm0IaGZjRPfIll
DZgffKgBht9OxIks
=Jhp5
-----END PGP SIGNATURE-----

Z
Z
zimoun wrote on 6 Jul 2021 10:31
(name . Chris Marusich)(address . cmmarusich@gmail.com)
86zguz3ktb.fsf@gmail.com
Hi Chris,

On Mon, 05 Jul 2021 at 20:36, Chris Marusich <cmmarusich@gmail.com> wrote:

Toggle quote (2 lines)
> If nobody else comments, I'll close this bug report in a week or two.

Thanks. :-)

Cheers,
simon
C
C
Chris Marusich wrote on 30 Jul 2021 08:43
close 24841
(address . 24841-close@debbugs.gnu.org)
87im0si9oq.fsf@gmail.com
Hi,

As there has been no more feedback recently, I will now close this bug
report.

--
Chris
-----BEGIN PGP SIGNATURE-----

iQJJBAEBCAAzFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAmEDn3UVHGNtbWFydXNp
Y2hAZ21haWwuY29tAAoJEN1AmhXYIkadaQoP/jzPayNT6tAnFxt4hFDZxUjCJaaM
G11b3q2wTZXfp/ko7i7hFh7Fjl5zzOYYz+5fWop5PsxgvnvXccWs/9UJOfMYNcqp
YIjtHlZ5ykdC52byWhl2+mI73ocZtpQJ5qSVZF6OTqBlJBmdAF04H7igx8Xj3mGK
gfsFxjsoYuEJ4m0WgRt9ManqkoPDcr1Mp+DZNwqDMSSQtdsZvIhRjLIMt0gMuFzS
tOqyo6NS+S02wpdb3WZZGyqQvpONZg8Wm4KSrTekKQFV4cVAHbxD2swObkNi9mqb
K5Bj+VgUDiOcwa96dZbq8ichYx5Ik8hQgGljrWJAj9VfgKBavgRgo7Br22PetR8e
IMx7iaJlvszgzfncy40M79uGenHD6CRIcmnQP/lulJfiW3jnjwOdkQgee48K/DS4
Ov5Ul8ENZb2A4UyeotQRd7ygZ/fBXJ1+/PSrKDcAhJtQFC6I8GBYD/rGCVAjGV1M
xtVJZx85IHFPc15rmJKB4SwstlB21nIfSpOOKR6QdzTeFnRWehlQAg3XSNltDeLF
C78QTYroBhPAAmyjc9WE+qNjgNxBmISzh14Ds/Lla6x742D6cvKJFeY2AsE8PNdL
yXEhs2gSwlVZNZXq/5S67hYrlr3f6JokE5dHNHPHclpfCyuoSHrTpDV6Z09JPOCj
x2v4GaIb54KL682h
=iXYp
-----END PGP SIGNATURE-----

?