‘tests/guix-shell-export-manifest.sh’ fails on aarch64-linux

  • Done
  • quality assurance status badge
Details
7 participants
  • Efraim Flashner
  • Ludovic Courtès
  • Maxime Devos
  • Pavel Shlyak
  • raingloom
  • Sébastien Lerique
  • Vagrant Cascadian
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
important
L
L
Ludovic Courtès wrote on 6 May 2022 00:50
‘tests/guix-shell-export-manifest.sh ’ fails on aarch64-linux
(address . bug-guix@gnu.org)
87ee1761ci.fsf@inria.fr
The log goes like this:

Toggle snippet (292 lines)
FAIL: tests/guix-shell-export-manifest
======================================

accepted connection from pid 12311, user nixbld
+ guix shell --version
guix shell (GNU Guix) 1.3.0-25.c1719a0
Copyright (C) 2022 the Guix authors
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
+ tmpdir=t-guix-manifest-12319
+ trap 'rm -r "$tmpdir"' EXIT
+ mkdir t-guix-manifest-12319
+ manifest=t-guix-manifest-12319/manifest.scm
+ guix shell --export-manifest guile-bootstrap
hint: Consider passing the `--check' option once to make sure your shell does not
clobber environment variables.

++ guix build -m t-guix-manifest-12319/manifest.scm
accepted connection from pid 12331, user nixbld
++ guix build guile-bootstrap
accepted connection from pid 12336, user nixbld
+ test /tmp/guix-tests/store/8y8j1d6v8j3l2x9ys9zldg77k094i9ar-guile-bootstrap-2.0 = /tmp/guix-tests/store/8y8j1d6v8j3l2x9ys9zldg77k094i9ar-guile-bootstrap-2.0
+ guix shell -m t-guix-manifest-12319/manifest.scm --bootstrap -- /gnu/store/lzf5zg0diw2bhh2qji4bl2v46wd8pylc-bash-minimal-5.1.8/bin/sh -c 'guix package --export-manifest -p "$GUIX_ENVIRONMENT"'
accepted connection from pid 12341, user nixbld
+ for m in "$manifest" "$manifest.second"
+ grep -v '^;'
+ mv t-guix-manifest-12319/manifest.scm.new t-guix-manifest-12319/manifest.scm
+ for m in "$manifest" "$manifest.second"
+ grep -v '^;'
+ mv t-guix-manifest-12319/manifest.scm.second.new t-guix-manifest-12319/manifest.scm.second
+ cat t-guix-manifest-12319/manifest.scm

(specifications->manifest
(list "guile-bootstrap"))
+ cat t-guix-manifest-12319/manifest.scm.second

(specifications->manifest
(list "guile-bootstrap"))
+ cmp t-guix-manifest-12319/manifest.scm t-guix-manifest-12319/manifest.scm.second
+ guix shell --export-manifest -m t-guix-manifest-12319/manifest.scm gash gash-utils
hint: Consider passing the `--check' option once to make sure your shell does not
clobber environment variables.

+ guix build -m t-guix-manifest-12319/manifest.scm.second -d
++ guix build guile-bootstrap -d
accepted connection from pid 12361, user nixbld
accepted connection from pid 12363, user nixbld
+ grep /tmp/guix-tests/store/xkrmqbvzk212g2fm3abszip4gdprmqsp-guile-bootstrap-2.0.drv
/tmp/guix-tests/store/xkrmqbvzk212g2fm3abszip4gdprmqsp-guile-bootstrap-2.0.drv
+ guix build -m t-guix-manifest-12319/manifest.scm.second -d
++ guix build gash -d
accepted connection from pid 12372, user nixbld
accepted connection from pid 12374, user nixbld
+ grep /tmp/guix-tests/store/5fhx9ml0famifh6kp644x6ayn9zxw98z-gash-0.2.0.drv
/tmp/guix-tests/store/5fhx9ml0famifh6kp644x6ayn9zxw98z-gash-0.2.0.drv
+ guix shell --export-manifest guile guix --with-input=guile-json@3=guile-json
hint: Consider passing the `--check' option once to make sure your shell does not
clobber environment variables.

+ grep 'options->transformation' t-guix-manifest-12319/manifest.scm
(options->transformation
+ grep '(with-input . "guile-json@3=guile-json")' t-guix-manifest-12319/manifest.scm
'((with-input . "guile-json@3=guile-json"))))
+ guix shell --export-manifest -D guile git
hint: Consider passing the `--check' option once to make sure your shell does not
clobber environment variables.

+ grep 'package->development-manifest' t-guix-manifest-12319/manifest.scm
(package->development-manifest
+ grep '"guile"' t-guix-manifest-12319/manifest.scm
(specification->package "guile"))))
+ guix build -m t-guix-manifest-12319/manifest.scm -d
++ guix build -e '(@@ (gnu packages commencement) gcc-final)' -d
accepted connection from pid 12397, user nixbld
accepted connection from pid 12395, user nixbld
+ grep /tmp/guix-tests/store/l5514bwycid2v0f0pkmqlx8nfpr50xqi-gcc-10.3.0.drv
/tmp/guix-tests/store/l5514bwycid2v0f0pkmqlx8nfpr50xqi-gcc-10.3.0.drv
++ guix build git -d
+ guix build -m t-guix-manifest-12319/manifest.scm -d
accepted connection from pid 12406, user nixbld
accepted connection from pid 12408, user nixbld
+ grep /tmp/guix-tests/store/hi8w6wzxgvd1v8aawcjpjkh0s9nkchrm-git-2.36.0.drv
/tmp/guix-tests/store/hi8w6wzxgvd1v8aawcjpjkh0s9nkchrm-git-2.36.0.drv
+ for options in "coreutils grep sed" "gsl openblas gcc-toolchain --tune" "guile -m $manifest.previous" "git:send-email gdb guile:debug" "git -D coreutils"
+ guix shell --export-manifest coreutils grep sed
hint: Consider passing the `--check' option once to make sure your shell does not
clobber environment variables.

+ cat t-guix-manifest-12319/manifest.scm
;; What follows is a "manifest" equivalent to the command line you gave.
;; You can store it in a file that you may then pass to any 'guix' command
;; that accepts a '--manifest' (or '-m') option.

(specifications->manifest
(list "coreutils" "grep" "sed"))
+ guix shell -m t-guix-manifest-12319/manifest.scm -n
hint: Consider passing the `--check' option once to make sure your shell does not
clobber environment variables.

accepted connection from pid 12422, user nixbld
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
substitute: guix substitute: warning: authentication and authorization of substitutes disabled!
The following derivations would be built:
/tmp/guix-tests/store/j44phxaqkljr2nrjglh879y9xlv6kmjx-profile.drv
/tmp/guix-tests/store/3bhvxnjqjdlk0031ldj4llbif057fggy-module-import-compiled.drv
/tmp/guix-tests/store/51934b4lnw9r73c85p5na809zasg0y63-guile-3.0.7.drv
/tmp/guix-tests/store/3y19pd9h1vmi1iyp64mpvq8fgbr4771a-linux-libre-headers-5.10.35.drv
/tmp/guix-tests/store/43rxpwdrlf0z6rwgd6c8xz4j2yzc6xc8-bison-boot0-3.7.6.drv
/tmp/guix-tests/store/49n7csn3ilylk199xc3d4vxsnz0q09h4-m4-boot0-1.4.18.drv
/tmp/guix-tests/store/6qlqvvw404vshsvjbpa6vaqq2davswgs-bootstrap-binaries-0.drv
/tmp/guix-tests/store/p5f0c3yyj24nlg5wsxcyw438amfsscdi-static-binaries.tar.xz.drv
/tmp/guix-tests/store/8dsrjf8a5gamki6c697gllx6q8qna73z-make-boot0-4.3.drv
/tmp/guix-tests/store/hmb9f1pbhqny9796s802h8y3iwk3kz37-binutils-bootstrap-0.drv
/tmp/guix-tests/store/s15zhng95dfhmmsppjp47an8acj7gfsi-binutils-2.27.tar.xz.drv
/tmp/guix-tests/store/sydzvl8j9vwmcrdyay9k86aax6ngf5ck-make-4.3.tar.xz.drv
/tmp/guix-tests/store/j0afanhb3zk4wn2nzm0s9aapj84pwj3r-make-4.3.tar.gz.drv
/tmp/guix-tests/store/v49f60fsvscmjc8wcp8ili9x5qf4nlnd-module-import-compiled.drv
/tmp/guix-tests/store/vksq172hzh69gvxgvmx7bjx7anacqx5y-glibc-bootstrap-0.drv
/tmp/guix-tests/store/wqw5ni6za51d5nx6higbz1fpvrfqw8m8-glibc-2.25.tar.xz.drv
/tmp/guix-tests/store/ymm8r90f0j042947n0d47d0svfj1mkdk-gcc-bootstrap-0.drv
/tmp/guix-tests/store/xyanz4j2lib2znm9qahh22c5r1zi4kzw-gcc-5.4.0.tar.xz.drv
/tmp/guix-tests/store/a91igvpyfhnnpbh0iar6w76y0p37qxf0-file-boot0-5.39.drv
/tmp/guix-tests/store/1ihb86mpxbi2z8dshhdr9cnrb7455cgy-file-5.39.tar.gz.drv
/tmp/guix-tests/store/llwqp3j35n9y27l8riygq8q2bvvfrb3x-m4-1.4.18.tar.xz.drv
/tmp/guix-tests/store/ylw40g9f2j7ljb80jbmf2mcm4c61hmnf-m4-1.4.18.tar.xz.drv
/tmp/guix-tests/store/n2xcz9fr99a5pn7jfp3mgdnv4qm3g4i8-diffutils-boot0-3.8.drv
/tmp/guix-tests/store/52i2m607lnr0yl32ivldjxbzcd3md727-diffutils-3.8.tar.xz.drv
/tmp/guix-tests/store/y2f2d6c1z2b970isd6mrwh99k4g3hq7h-findutils-boot0-4.8.0.drv
/tmp/guix-tests/store/qyslw5fkbb5pgwfy9j4mfpbbz3sx10wz-findutils-4.8.0.tar.xz.drv
/tmp/guix-tests/store/3ysw1klvdxl163qd4vw1wv1xqrgs0w2z-findutils-4.8.0.tar.xz.drv
/tmp/guix-tests/store/s48i4aj731swgkyszbj2qrfmxxmlgm12-bison-3.7.6.tar.xz.drv
/tmp/guix-tests/store/y2172vjy9k29kgfqqgw2m5p8424x7g68-perl-boot0-5.34.0.drv
/tmp/guix-tests/store/qpynhlclasqz4sj5fgmb8g52n87zn8m6-perl-5.34.0.tar.xz.drv
/tmp/guix-tests/store/m13ajlpd855cpa0pa3pzwmyz9qpsiydp-perl-5.34.0.tar.gz.drv
/tmp/guix-tests/store/9c1748nx0haiknyvr74ywmnbzkqmfhdw-linux-libre-5.10.35-gnu.tar.xz.drv
/tmp/guix-tests/store/rmmvpxhrafchpbvrqnmddficcybx6aci-flex-2.6.4.drv
/tmp/guix-tests/store/13y4vrdbczrklywmk8n0z0h66hjqyn45-flex-2.6.4.tar.gz.drv
/tmp/guix-tests/store/84ajk7l1alajaps5slg3ijdb4qdjyv2p-libgc-8.0.4.drv
/tmp/guix-tests/store/a4gmh3m2bg0ngaq7xdrggd3mcc6307jk-ld-wrapper-boot3-0.drv
/tmp/guix-tests/store/iyz1ji29z40y1hdx6kjb9cxgxxsh3p4b-binutils-2.37.drv
/tmp/guix-tests/store/818wm0x329ziwvjvgvqqpwdm1z0n0wyi-binutils-2.37.tar.xz.drv
/tmp/guix-tests/store/vqbav7r30ybqg1fx4smc4i004yrfqx24-binutils-2.37.tar.bz2.drv
/tmp/guix-tests/store/alp18kisxfg857fn6daw0s1qzwjk18qb-binutils-cross-boot0-2.37.drv
/tmp/guix-tests/store/k34s5i2plvyy7ykgk1cmj6ki1j33ygbg-ld-wrapper-boot0-0.drv
/tmp/guix-tests/store/v7yvidxadrikqmsx7m50g710n655kxhm-gcc-cross-boot0-wrapped-10.3.0.drv
/tmp/guix-tests/store/c94ihfwngqn863rg4nkip7ald1fj0mvy-gcc-cross-boot0-10.3.0.drv
/tmp/guix-tests/store/2c0jsi6w5d9wpyb9cdi6d6w9w26vgx66-gmp-6.0.0a.tar.xz.drv
/tmp/guix-tests/store/30x63km6gkfav97fxpqiyvk6jzbzjq15-gmp-6.0.0a.tar.xz.drv
/tmp/guix-tests/store/a372j588drh0q5n1h7pwsdc1f9yh9wmm-libstdc++-boot0-4.9.4.drv
/tmp/guix-tests/store/nhq0k1z03miis2jvc73cvm7x06b5fdgb-gcc-4.9.4.tar.xz.drv
/tmp/guix-tests/store/9ggiq60zjjl0bq6ph1kbcgxl5i1an2l8-gcc-4.9.4.tar.bz2.drv
/tmp/guix-tests/store/gcchalaqabxiz0ddwl5975a2b0hlabw9-gcc-10.3.0.tar.xz.drv
/tmp/guix-tests/store/jrm2x6dwmd7bmhcnh0pg2vbz89i4jfln-gcc-10.3.0.tar.xz.drv
/tmp/guix-tests/store/sb96xryswlm5cjvx5w231srblxfzy2li-mpfr-4.1.0.tar.xz.drv
/tmp/guix-tests/store/sbim7iprglwrb2qk8yzspr8kb289ag2k-mpc-1.2.1.tar.gz.drv
/tmp/guix-tests/store/yx1xzrqlsglpnj3q6ywbmb89x8jsgica-glibc-2.33.drv
/tmp/guix-tests/store/1q493yljpawsdhp8568jgppwpj8aarp9-bash-static-5.1.8.drv
/tmp/guix-tests/store/29540jn4v3g7fdp5kl0dp3gdmjf0zfjk-gcc-cross-boot0-wrapped-10.3.0.drv
/tmp/guix-tests/store/dfxx2ysnkh2dc7833ljxwcz5062xpwab-glibc-intermediate-2.33.drv
/tmp/guix-tests/store/3wr8zpcycb21p18m3k4hk269zhphcn6p-texinfo-6.7.drv
/tmp/guix-tests/store/jbimq5n2i3g1kn1kd3c5xkz68289dx68-texinfo-6.7.tar.xz.drv
/tmp/guix-tests/store/b5nrcks863bx079q9z3cq1g9d0fxk6hg-glibc-2.33.tar.xz.drv
/tmp/guix-tests/store/lwxxlyj997lwj1bl2cmv9d59zlp7srij-glibc-2.33.tar.xz.drv
/tmp/guix-tests/store/sgyhw8xh89vcsxh4dv6cbnz23cyhs16s-python-minimal-3.5.9.drv
/tmp/guix-tests/store/fb08f16sbppkzx0f24lcnp4fjiwqfzn4-Python-3.5.9.tar.xz.drv
/tmp/guix-tests/store/wlgikmav2mfh8smddkdlsipzn1zq0f1p-Python-3.5.9.tar.xz.drv
/tmp/guix-tests/store/kdd1zvxhimmmfzpibd4s27bx0igqc56c-expat-2.4.1.drv
/tmp/guix-tests/store/fnwrp6dzlrydalb9h1r10jbi71xs3q8n-expat-2.4.1.tar.xz.drv
/tmp/guix-tests/store/2kf0z31ff0gb5d4c1iyfnf8d22w3ml5z-bash-5.1.tar.xz.drv
/tmp/guix-tests/store/3ahys9k9r0wni47m3s3lkrmxw90d0gms-bash51-002.drv
/tmp/guix-tests/store/4g3jlvf7s55wcbr0mwk521pn8h5n1n97-bash51-001.drv
/tmp/guix-tests/store/6h2x54k6gqxj4gf15m88fas2vb0qshcc-bash51-005.drv
/tmp/guix-tests/store/7ypxxx5hfr0bd1fi2b6p3v0wj2y9vgmg-bash51-007.drv
/tmp/guix-tests/store/bc5gg0dq6r36y9cp26xznv4zq3974yaw-bash-5.1.tar.gz.drv
/tmp/guix-tests/store/pr6dki42lpvkwl6nz4qn6ygvvw4nby31-bash51-006.drv
/tmp/guix-tests/store/rc3n2paf3d1saf2wsz3s13y1kvppw09q-bash51-004.drv
/tmp/guix-tests/store/rddb70qzdjc157c6kqi8275s7dk6a6rx-bash51-008.drv
/tmp/guix-tests/store/yfbn6dh6r3vh33rsr7p5rcwkz6lphf5w-bash51-003.drv
/tmp/guix-tests/store/dfxx2ysnkh2dc7833ljxwcz5062xpwab-glibc-intermediate-2.33.drv
/tmp/guix-tests/store/w2gx4az6grnxd73sdp62jdbf1r6wagyy-gettext-boot0-0.19.8.1.drv
/tmp/guix-tests/store/6gdxqdl100j20ad6yqvls0h872ra1d0f-gettext-0.19.8.1.tar.gz.drv
/tmp/guix-tests/store/yx1xzrqlsglpnj3q6ywbmb89x8jsgica-glibc-2.33.drv
/tmp/guix-tests/store/dv5lqag76smhccqcpv4gmrkph0xransj-bash-minimal-5.1.8.drv
/tmp/guix-tests/store/l5514bwycid2v0f0pkmqlx8nfpr50xqi-gcc-10.3.0.drv
/tmp/guix-tests/store/jmnfmbzk1qpj7m89k1lpjvbs3p03w92z-zlib-1.2.11.drv
/tmp/guix-tests/store/cg3zn90rxamszpjh3arlhz6sqx18gbr7-zlib-1.2.11.tar.gz.drv
/tmp/guix-tests/store/kgfpqrxcjqrdn5srs9i5czpqkj97dqc4-libstdc++-10.3.0.drv
/tmp/guix-tests/store/f98xnd46k8czhgfh9fd7541hmzlmaq8y-gc-8.0.4.tar.gz.drv
/tmp/guix-tests/store/zy3d62n5qpq5in0gdv7wbs6fcifz6wp8-pkg-config-0.29.2.drv
/tmp/guix-tests/store/vh9zq87pbsp3pynn03ff50yrcnzgihgv-pkg-config-0.29.2.tar.gz.drv
/tmp/guix-tests/store/ic5xliv5ly9yp4lwbl79w0rfa3m6mk76-libffi-3.3.drv
/tmp/guix-tests/store/b2sj0lgxl8kj3z4cq1c7vvk9d6kdr0f0-libffi-3.3.tar.xz.drv
/tmp/guix-tests/store/qa5m68pkpnk595kc7q8ppbyk6gb09zm4-libffi-3.3.tar.gz.drv
/tmp/guix-tests/store/sq6pc7qys3n3ax9m52y6md02dnz1fwfw-guile-3.0.7.tar.xz.drv
/tmp/guix-tests/store/6vjgb9y9q4mdmdjnfk39133f46yw4jr5-guile-3.0.7.tar.xz.drv
/tmp/guix-tests/store/z7z01rw922gm491j19jl9jpnd867mjfl-libunistring-0.9.10.drv
/tmp/guix-tests/store/jyh9sqdqm9nicgw1am9b8qv433yh1mrr-libunistring-0.9.10.tar.xz.drv
/tmp/guix-tests/store/ag4amxg15xfpkv850zqilfm8k4qknkrx-gzip-1.10.drv
/tmp/guix-tests/store/0yzhbyykfp3y7a1wzd245k5a1cm1d0jg-xz-5.2.5.drv
/tmp/guix-tests/store/9cjmcz6kpdpj2zyhays2lhzca65jjiqq-grep-3.6.drv
/tmp/guix-tests/store/q3jyhhq1f63z8szdbvpjar9k96w5gidr-module-import-compiled.drv
/tmp/guix-tests/store/qqrjqy0hczi02p1qz6vngj88qdwbcf3q-glibc-utf8-locales-2.33.drv
/tmp/guix-tests/store/g6hs8m77j44jpzl407c4a1lnrcbmxvy5-gzip-1.10.drv
/tmp/guix-tests/store/5lxl075fyk6zwl403gz0cljmwsqj1qhw-gzip-1.10.tar.xz.drv
/tmp/guix-tests/store/r8i7j8900swv21pyfhsjril9k2ifalr8-grep-3.6.tar.xz.drv
/tmp/guix-tests/store/s3nayskvvkiyzc4vmswxk4z23y9wxif1-grep-3.6.tar.xz.drv
/tmp/guix-tests/store/nrn4lngnd0rynmi2v4nxvpp7qg8q2shd-xz-5.2.5.tar.gz.drv
/tmp/guix-tests/store/phfb2w5ifmwkav2kg8pip3pnrlbkkxxw-coreutils-8.32.drv
/tmp/guix-tests/store/pjw86qak71vxi5vr9snxmna7z31zc644-coreutils-8.32.tar.xz.drv
/tmp/guix-tests/store/07ixyjvfrbbmil56i3lrh5vk9jynkjl6-coreutils-8.32.tar.xz.drv
/tmp/guix-tests/store/8gdb3gipskiyrgvwx02kr3364np0bbcg-ld-wrapper-0.drv
/tmp/guix-tests/store/8rrzd2cphdvdnx5q0yxfw4llyrb22kam-tar-1.34.drv
/tmp/guix-tests/store/blbmcdkapz3jlgswdqvalrck50vzlyf1-tar-1.34.tar.xz.drv
/tmp/guix-tests/store/pdnllx46j3rl9mvmw6fhf9bz1s3dnzdg-tar-1.34.tar.xz.drv
/tmp/guix-tests/store/99asq9idmfk5ifv3pb24ahklsls911vc-diffutils-3.8.drv
/tmp/guix-tests/store/f89xggrcs8cq8v3i15mb85f7lnpdahi6-diffutils-3.8.tar.xz.drv
/tmp/guix-tests/store/yayvypf19rkbbzsn2xi9n9wzxycfq5nh-perl-5.34.0.drv
/tmp/guix-tests/store/psrk3l1xisd32z6ifdldbrcpf3gcm7gl-coreutils-minimal-8.32.drv
/tmp/guix-tests/store/abh4j4wl32p6f2i78qiis0kgsy7razk3-make-4.3.drv
/tmp/guix-tests/store/n43d1gkl3qfqf6dkjfifanlmhwn53v6l-pkg-config-0.29.2.drv
/tmp/guix-tests/store/dck98fl1d4y2w761547laxdq0zix8vyi-bzip2-1.0.8.drv
/tmp/guix-tests/store/5hgx7y1w3jr8i2b89xxix8wd1ji2814i-bzip2-1.0.8.tar.gz.drv
/tmp/guix-tests/store/fizvdc3wiw1ysxf4f4bcwqihc0i2i6kl-sed-4.8.drv
/tmp/guix-tests/store/9y335nr187bkjbdsbgrscnfmh7375jjv-sed-4.8.tar.xz.drv
/tmp/guix-tests/store/wl4vw9raqk91g7vbrx37yykypcmbp7zn-sed-4.8.tar.gz.drv
/tmp/guix-tests/store/lzr7aslw4090qjpd20wffniidz2mwpvg-patch-2.7.6.drv
/tmp/guix-tests/store/8pxxy5qm5mwn4iwymnnd7x1m246y54i8-ed-1.17.drv
/tmp/guix-tests/store/py3c6m2xqb12xw9x6sgvpgwp2x39szm3-ed-1.17.tar.lz.drv
/tmp/guix-tests/store/r1i088hs6awawq9v3q74bjfqn2cjwjzq-lzip-1.22.drv
/tmp/guix-tests/store/jj50yy8p425nvfjs861jisk3yjmmny5d-lzip-1.22.tar.gz.drv
/tmp/guix-tests/store/bgzrlrmin6pg495cw1zrfmhzspq9334y-patch-2.7.6.tar.xz.drv
/tmp/guix-tests/store/9iz8w95gkcfqvslq2ggiyr7l7j418p2h-patch-2.7.6.tar.xz.drv
/tmp/guix-tests/store/njh2q6jh30ir65f9jfizszdgh4cws459-gzip-1.10.drv
/tmp/guix-tests/store/vba66mj7a6br9l1m3zvh2b4df4zifljr-file-5.39.drv
/tmp/guix-tests/store/xf8ib1prxmd0alc0wb5a2lqvwa80x09z-gawk-5.1.0.drv
/tmp/guix-tests/store/8i6daxjks420vgi249hg6d8srh147c9a-gawk-5.1.0.tar.xz.drv
/tmp/guix-tests/store/b7y69zhla11p6mrnqjc5qcka6hsdz3na-libsigsegv-2.13.drv
/tmp/guix-tests/store/ddlp4jv9ga49yi3jirqiayd1kzw56pqx-libsigsegv-2.13.tar.gz.drv
/tmp/guix-tests/store/zl919yhli8x70swq2rjnjd6idlr2kksy-findutils-4.8.0.drv
/tmp/guix-tests/store/gn7lpfk8l0jgng99m0pxz8qgbn02al9s-grep-3.6.drv
/tmp/guix-tests/store/1a3wpp31av41pwwm7hv6rv5rawwygdiv-grep-3.6.tar.xz.drv
/tmp/guix-tests/store/8n0x19a6gfg3yfkbdyxsa60pfsly2hfr-perl-5.34.0.drv
/tmp/guix-tests/store/ra0w6z0gak8d467vpg2cxkzw4s1nwk8l-coreutils-minimal-8.32.drv
/tmp/guix-tests/store/kv0h9wzahk2bin4lkfd57w0gwn5rhna4-coreutils-8.32.tar.xz.drv
/tmp/guix-tests/store/v78axsby58bj5hx2c52g79zvnrrc2b2z-perl-5.34.0.tar.xz.drv
/tmp/guix-tests/store/8s6m5d22xnnaq3wxfighgqpjj219qlks-pcre-8.45.drv
/tmp/guix-tests/store/1jgc0pkprmhzyi4mc673s4r3w16zghig-zlib-1.2.11.drv
/tmp/guix-tests/store/5rsf6wrlssjfll1safbkacs7af7l2d5b-readline-8.1.1.drv
/tmp/guix-tests/store/fqyrnavjbkhi77n5vqhdid2k8w6mg9a0-readline-8.1.tar.xz.drv
/tmp/guix-tests/store/bbv6h06m4jp3rrpdcg7badfx4gx5rcm6-readline81-001.drv
/tmp/guix-tests/store/smzqvnsz6f25008m8d37naymwqr2dhv0-readline-8.1.tar.gz.drv
/tmp/guix-tests/store/nl65h4cp6kyxhi96wa9zcqhqrr343pk5-ncurses-6.2.20210619.drv
/tmp/guix-tests/store/9v7hgmsbj8kysszv4412v464cf69g9zv-pkg-config-0.29.2.drv
/tmp/guix-tests/store/mffc11c9cdsr8fvi55gf59z97g26ckhh-ncurses-6.2-20210619-patch.sh.bz2.drv
/tmp/guix-tests/store/xjihk2qi6mpba93zsxf5g2nm0i1318bc-ncurses-6.2.tar.gz.drv
/tmp/guix-tests/store/p2g94kwd7mmqafp1yw5il1hwi6jwr20b-bzip2-1.0.8.drv
/tmp/guix-tests/store/xf9x7c8yh63asby6d3kklalmvvh962cp-pcre-8.45.tar.bz2.drv
/tmp/guix-tests/store/hpc4la1fkmy44lx7rwgjfjqsqi8rxl2j-coreutils-8.32.drv
/tmp/guix-tests/store/1dh8cn5iygs9bpgmg9422wzpddsq5vlq-acl-2.3.1.drv
/tmp/guix-tests/store/ascirri4w1yr85b079z71jiyvxx3rc0n-acl-2.3.1.tar.gz.drv
/tmp/guix-tests/store/b2q1rxgpg5w274mdi9i4dwn8sz86bcpv-attr-2.5.1.drv
/tmp/guix-tests/store/ma64likl414c3wbw7qq2bggg6cbrnhnr-gettext-minimal-0.21.drv
/tmp/guix-tests/store/baa0x06g8s70hkyf6m4kfi74f2s6652l-libxml2-2.9.12.drv
/tmp/guix-tests/store/9y54l679x2c0w4vmpyi0jcx93qkffvnn-xz-5.2.5.drv
/tmp/guix-tests/store/xaiq1b7ddb5zz2cd179nx56qmrdaxlqa-libxml2-2.9.12.tar.xz.drv
/tmp/guix-tests/store/w24472jz9vxqa4bjmz7477973jhkd9ik-libxml2-2.9.12.tar.gz.drv
/tmp/guix-tests/store/ls6ibkawnxg13713lc436n94ilqkib8g-gettext-0.21.tar.gz.drv
/tmp/guix-tests/store/x9grx0ibyn1kk9q1a431w8v27zvpqvsa-libunistring-0.9.10.drv
/tmp/guix-tests/store/x86a0j6kp821gxrk12hmvp7wqyya6hmr-attr-2.5.1.tar.gz.drv
/tmp/guix-tests/store/470s1b7yc5xq8ayc5z4xm2pnaic6k5kc-gmp-6.2.1.drv
/tmp/guix-tests/store/4dcf5wa7575sj1yd5d3khq2z4vc8ixx7-m4-1.4.18.drv
/tmp/guix-tests/store/wp2lv1144dkj204fr98g4vdvh5khg5sm-m4-1.4.18.tar.xz.drv
/tmp/guix-tests/store/wy18gfwdnypqij236p495cd0sp923v23-gmp-6.2.1.tar.xz.drv
/tmp/guix-tests/store/926ff4vmwvm0m6vjxl41jdx358f9rraa-gmp-6.2.1.tar.xz.drv
/tmp/guix-tests/store/y40qi9cdy4bsvjblzzky7bi5dnm76ld4-libcap-2.62.drv
/tmp/guix-tests/store/4qn3bp2kx2ga709x4s3iknkkmazfcbjn-libcap-2.62.tar.xz.drv
/tmp/guix-tests/store/k6qncrds25lcqgzr1vxwvp1fnfzsdhmz-texinfo-6.7.drv
/tmp/guix-tests/store/pbs5yhvd2gl1jyp9glw3kj35yrkbhxnp-glibc-utf8-locales-2.33.drv
/tmp/guix-tests/store/8fxqqkarqq9lm37gj749gvh6zanzslbh-linux-libre-headers-5.10.35.drv
/tmp/guix-tests/store/5iwdqn8y8p172pdlpw4pi2qmja10s16l-bison-3.7.6.drv
/tmp/guix-tests/store/mr6ldfhd1k18jn4qj5jgghj77lyxrbd8-flex-2.6.4.drv
/tmp/guix-tests/store/8h12chr1yka2n23xys95sssiav8pq91n-help2man-1.48.5.drv
/tmp/guix-tests/store/hm8nn50kdhd4hkbbnsqy45gci2iaazyw-help2man-1.48.5.tar.xz.drv
/tmp/guix-tests/store/vw4wpcy1wbf6k3ag2zmcw25v4qcqnq3h-perl-gettext-1.07.drv
/tmp/guix-tests/store/a3272isvax52i5qh5w19q5b1zd09xdly-gettext-1.07.tar.gz.drv
/tmp/guix-tests/store/r45lzycmjc8jcvxci9sqwws8h0k9h6vb-module-import-compiled.drv
/tmp/guix-tests/store/8myba7wg6h88rf4k5sm328xl84c9jx5f-bison-3.7.6.drv
/tmp/guix-tests/store/pr1j63rh4zg1ww4gb03qvchkb869mvp7-glibc-2.33.drv
/tmp/guix-tests/store/alxf0h9wmjf6mjw3xwc6r7394aqaq08x-python-minimal-3.9.9.drv
/tmp/guix-tests/store/0ph1pyqb4dwjrby0r58kdv8nxpjvg5j2-ope
This message was truncated. Download the full message here.
R
R
raingloom wrote on 6 May 2022 02:28
Re: bug#55283: ‘tests/guix-shell-export-man ifest.sh’ fails on aarch64-linux
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 55283@debbugs.gnu.org)
20220506022826.5089eb2c@riseup.net
On Fri, 06 May 2022 00:50:21 +0200
Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (4 lines)
> The log goes like this:
> ...
> + guix shell --export-manifest gsl openblas gcc-toolchain --tune

This seems to be the important part, it looks like the CPU arch isn't
being detected.

Toggle quote (27 lines)
> Backtrace:
> In ice-9/boot-9.scm:
> 1752:10 13 (with-exception-handler _ _ #:unwind? _ # _)
> In unknown file:
> 12 (apply-smob/0 #<thunk 5bd2e0>)
> In ice-9/boot-9.scm:
> 724:2 11 (call-with-prompt _ _ #<procedure
> default-prompt-handle…>) In ice-9/eval.scm:
> 619:8 10 (_ #(#(#<directory (guile-user) 5c2c80>)))
> In guix/ui.scm:
> 2230:7 9 (run-guix . _)
> 2193:10 8 (run-guix-command _ . _)
> In guix/scripts/shell.scm:
> 160:17 7 (guix-shell . _)
> In ice-9/boot-9.scm:
> 1747:15 6 (with-exception-handler #<procedure 4bd7b0 at ice-9/bo…>
> …) In srfi/srfi-37.scm:
> 201:16 5 (next-arg)
> 113:18 4 (invoke-option-processor _ _ _ _ _)
> In unknown file:
> 3 (_ #<procedure 4bd660 at srfi/srfi-37.scm:114:22 ()> # #)
> 2 (_ #<procedure 9aa9c0 at ice-9/boot-9.scm:798:28 ()> # #)
> In guix/transformations.scm:
> 864:25 1 (_ _ _ _ ((package ad-hoc-package "gcc-toolchain") (…)
> …)) In guix/cpu.scm:
> 94:2 0 (cpu->gcc-architecture #f)

This indicates the same to me.
But I don't know the internals of --tune well enough, so it's just a
hunch.

Toggle quote (10 lines)
> guix/cpu.scm:94:2: In procedure cpu->gcc-architecture:
> In procedure struct-vtable: Wrong type argument in position 1
> (expecting struct): #f
> + rm -r t-guix-manifest-12319
> FAIL tests/guix-shell-export-manifest.sh (exit status: 1)
> --8<---------------cut here---------------end--------------->8---
>
> This is ca. 312879fddcf0713c0f1dafcc6faa089edbbb6e04.
>
> Ludo’.
V
V
Vagrant Cascadian wrote on 6 May 2022 22:43
Re: bug#55283: ‘tests/guix-shell-export-manif est.sh’ fails on aarch64-linux
(address . 55283@debbugs.gnu.org)
874k228k8s.fsf@contorta
On 2022-05-06, raingloom@riseup.net wrote:
Toggle quote (48 lines)
> On Fri, 06 May 2022 00:50:21 +0200
> Ludovic Courtès <ludo@gnu.org> wrote:
>
>> The log goes like this:
>> ...
>> + guix shell --export-manifest gsl openblas gcc-toolchain --tune
>
> This seems to be the important part, it looks like the CPU arch isn't
> being detected.
>
>> Backtrace:
>> In ice-9/boot-9.scm:
>> 1752:10 13 (with-exception-handler _ _ #:unwind? _ # _)
>> In unknown file:
>> 12 (apply-smob/0 #<thunk 5bd2e0>)
>> In ice-9/boot-9.scm:
>> 724:2 11 (call-with-prompt _ _ #<procedure
>> default-prompt-handle…>) In ice-9/eval.scm:
>> 619:8 10 (_ #(#(#<directory (guile-user) 5c2c80>)))
>> In guix/ui.scm:
>> 2230:7 9 (run-guix . _)
>> 2193:10 8 (run-guix-command _ . _)
>> In guix/scripts/shell.scm:
>> 160:17 7 (guix-shell . _)
>> In ice-9/boot-9.scm:
>> 1747:15 6 (with-exception-handler #<procedure 4bd7b0 at ice-9/bo…>
>> …) In srfi/srfi-37.scm:
>> 201:16 5 (next-arg)
>> 113:18 4 (invoke-option-processor _ _ _ _ _)
>> In unknown file:
>> 3 (_ #<procedure 4bd660 at srfi/srfi-37.scm:114:22 ()> # #)
>> 2 (_ #<procedure 9aa9c0 at ice-9/boot-9.scm:798:28 ()> # #)
>> In guix/transformations.scm:
>> 864:25 1 (_ _ _ _ ((package ad-hoc-package "gcc-toolchain") (…)
>> …)) In guix/cpu.scm:
>> 94:2 0 (cpu->gcc-architecture #f)
>
> This indicates the same to me.
> But I don't know the internals of --tune well enough, so it's just a
> hunch.
>
>> guix/cpu.scm:94:2: In procedure cpu->gcc-architecture:
>> In procedure struct-vtable: Wrong type argument in position 1
>> (expecting struct): #f
>> + rm -r t-guix-manifest-12319
>> FAIL tests/guix-shell-export-manifest.sh (exit status: 1)
>> --8<---------------cut here---------------end--------------->8---

I'm getting this same error too; happy to test any proposed patches.


live well,
vagrant
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCYnWIhAAKCRDcUY/If5cW
qtz7AQC2yIxTj9IA7IPIpYhOtc6kD7cNeN/2k26GgSV22CmP/QEApMw1GmE6Cg8G
UTAyNnbkp3JpgZedDpKouRwDHqdIzAk=
=mu9V
-----END PGP SIGNATURE-----

M
M
Maxime Devos wrote on 6 May 2022 23:12
Re: bug#55283: ‘tests/guix-shell-export-manifest.sh’ fails on aarch64-linux
(address . 55283@debbugs.gnu.org)
5d219586c7a9a5ed2d89b12db73385d9d55adeb9.camel@telenet.be
raingloom schreef op vr 06-05-2022 om 02:28 [+0200]:
Toggle quote (7 lines)
> > …)) In guix/cpu.scm:
> >       94:2  0 (cpu->gcc-architecture #f)
>
> This indicates the same to me.
> But I don't know the internals of --tune well enough, so it's just a
> hunch.

Could anyone who encounters the issue on aarch64-linux send their
/proc/cpuinfo, such that other people can test the body of 'current-
cpu' on that copy?

Also, why doesn't 'current-cpu' throw some kind of exception instead of
#false? No users of 'current-cpu' appear to handle #false and
returning #false is not documented in the docstring.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYnWPQRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7t0wAQCBkoUckLK9x1U7FU0+mNEfnzZu
Mxo8jrdMNfFjhpkxxgEAupIeYrRduPK2WP4NegP6Okm+i29hjhQIWkWlO8imGgs=
=wo5b
-----END PGP SIGNATURE-----


V
V
Vagrant Cascadian wrote on 7 May 2022 00:13
Re: bug#55283: ‘tests/guix-shell-export-manif est.sh’ fails on aarch64-linux
(address . 55283@debbugs.gnu.org)
871qx68g33.fsf@contorta
On 2022-05-06, Maxime Devos wrote:
Toggle quote (12 lines)
> raingloom schreef op vr 06-05-2022 om 02:28 [+0200]:
>> > …)) In guix/cpu.scm:
>> >       94:2  0 (cpu->gcc-architecture #f)
>>
>> This indicates the same to me.
>> But I don't know the internals of --tune well enough, so it's just a
>> hunch.
>
> Could anyone who encounters the issue on aarch64-linux send their
> /proc/cpuinfo, such that other people can test the body of 'current-
> cpu' on that copy?

On a rockpro64:

$ cat /proc/cpuinfo
processor : 0
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 1
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 2
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 3
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 4
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 2

processor : 5
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 2


I'll test on some other hardware with a very different cpu and see if it
has the same problem too.


live well,
vagrant
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCYnWdkQAKCRDcUY/If5cW
qljWAP4mPSzoTBSwZuBQRnzX14dS85ytmGAWrr8uLgJbYm+UHAD7BgjRL+xvAgZj
O0R4zrTnqkD80vBojkjk75AkeeWZ1wk=
=QhG5
-----END PGP SIGNATURE-----

V
V
Vagrant Cascadian wrote on 7 May 2022 02:14
(address . 55283@debbugs.gnu.org)
87wney6vwq.fsf@contorta
On 2022-05-06, Vagrant Cascadian wrote:
Toggle quote (13 lines)
> On 2022-05-06, Maxime Devos wrote:
>> raingloom schreef op vr 06-05-2022 om 02:28 [+0200]:
>>> > …)) In guix/cpu.scm:
>>> >       94:2  0 (cpu->gcc-architecture #f)
>>>
>>> This indicates the same to me.
>>> But I don't know the internals of --tune well enough, so it's just a
>>> hunch.
>>
>> Could anyone who encounters the issue on aarch64-linux send their
>> /proc/cpuinfo, such that other people can test the body of 'current-
>> cpu' on that copy?

What is reading from /proc/cpuinfo? I've heard it suggested that
/proc/cpuinfo was more informational and not something to be relied on
for anything that actually matters... ?

Well, I guess I answered my initial question by reading the error
message... guix/cpu.scm ... how did that work before for things like
cross-building, where /proc/cpuinfo is *definitely* wrong to get
information about the architecture you're building for?


Toggle quote (11 lines)
> On a rockpro64:
>
> $ cat /proc/cpuinfo
> processor : 0
> BogoMIPS : 48.00
> Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
> CPU implementer : 0x41
> CPU architecture: 8
> CPU variant : 0x0
> CPU part : 0xd03
> CPU revision : 4
...
Toggle quote (3 lines)
> I'll test on some other hardware with a very different cpu and see if it
> has the same problem too.

And on an APM mustang:

$ cat /proc/cpuinfo
processor : 0
BogoMIPS : 100.00
Features : fp asimd evtstrm cpuid
CPU implementer : 0x50
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 1
BogoMIPS : 100.00
Features : fp asimd evtstrm cpuid
CPU implementer : 0x50
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 2
BogoMIPS : 100.00
Features : fp asimd evtstrm cpuid
CPU implementer : 0x50
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 3
BogoMIPS : 100.00
Features : fp asimd evtstrm cpuid
CPU implementer : 0x50
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 4
BogoMIPS : 100.00
Features : fp asimd evtstrm cpuid
CPU implementer : 0x50
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 5
BogoMIPS : 100.00
Features : fp asimd evtstrm cpuid
CPU implementer : 0x50
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 6
BogoMIPS : 100.00
Features : fp asimd evtstrm cpuid
CPU implementer : 0x50
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 7
BogoMIPS : 100.00
Features : fp asimd evtstrm cpuid
CPU implementer : 0x50
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0


Both exhibit the same error when building guix, just like the original
report, basically:

guix/cpu.scm:94:2: In procedure cpu->gcc-architecture:
In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f
+ rm -r t-guix-manifest-18135
FAIL tests/guix-shell-export-manifest.sh (exit status: 1)



live well,
vagrant
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCYnW59QAKCRDcUY/If5cW
qpbXAQDwQQZdshAbA1HqIj5qXC/kaCZXfu11nr200kNaMhgULAD9FbldCtZV7ihp
CapckMxdyQUnlO4SCSOhyKT/vcxOlAY=
=d3JD
-----END PGP SIGNATURE-----

V
V
Vagrant Cascadian wrote on 7 May 2022 02:45
(address . 55283@debbugs.gnu.org)
87tua26uhw.fsf@contorta
On 2022-05-06, Vagrant Cascadian wrote:
Toggle quote (23 lines)
> On 2022-05-06, Vagrant Cascadian wrote:
>> On 2022-05-06, Maxime Devos wrote:
>>> raingloom schreef op vr 06-05-2022 om 02:28 [+0200]:
>>>> > …)) In guix/cpu.scm:
>>>> >       94:2  0 (cpu->gcc-architecture #f)
>>>>
>>>> This indicates the same to me.
>>>> But I don't know the internals of --tune well enough, so it's just a
>>>> hunch.
>>>
>>> Could anyone who encounters the issue on aarch64-linux send their
>>> /proc/cpuinfo, such that other people can test the body of 'current-
>>> cpu' on that copy?
>
> What is reading from /proc/cpuinfo? I've heard it suggested that
> /proc/cpuinfo was more informational and not something to be relied on
> for anything that actually matters... ?
>
> Well, I guess I answered my initial question by reading the error
> message... guix/cpu.scm ... how did that work before for things like
> cross-building, where /proc/cpuinfo is *definitely* wrong to get
> information about the architecture you're building for?

So, the simplest reproducer is just to call what was in the test,
essentially:

$ guix shell --export-manifest gsl openblas gcc-toolchain --tune
Backtrace:
10 (primitive-load "/home/vagrant/.config/guix/current/bin…")
In guix/ui.scm:
2230:7 9 (run-guix . _)
2193:10 8 (run-guix-command _ . _)
In guix/scripts/shell.scm:
160:17 7 (guix-shell . _)
In ice-9/boot-9.scm:
1747:15 6 (with-exception-handler #<procedure 3cb7d8d0 at ice-9/…> …)
In srfi/srfi-37.scm:
201:16 5 (next-arg)
113:18 4 (invoke-option-processor _ _ _ _ _)
In unknown file:
3 (_ #<procedure 3cb7d780 at srfi/srfi-37.scm:114:22 ()> # …)
2 (_ #<procedure 3cc05060 at ice-9/boot-9.scm:798:28 ()> # …)
In guix/transformations.scm:
864:25 1 (_ _ _ _ ((package ad-hoc-package "gcc-toolchain") (…) …))
In guix/cpu.scm:
94:2 0 (cpu->gcc-architecture #f)
guix/cpu.scm:94:2: In procedure cpu->gcc-architecture:
In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f

Calling "guix shell --export-manifest gsl openblas gcc-toolchain"
without the "--tune" argument works fine. So whatever codepath is not
handling cpu->gcc-architecture being #f should somehow... handle that
reasonably. Not sure what that is, as calling --tune you asked for somet
tuning and failing makes sense...

So apparently --tune is broken on aarch64 (and presumably any other
architecture that doesn't return anything). Seems cpu->gcc-architecture
should always at least return a safe baseline for all supported
architectures, maybe?


live well,
vagrant
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCYnXBGwAKCRDcUY/If5cW
qr/6AQDabeCXVUj4xrA8G08o0GlcjvTWA4XLWzHnxfIdxnQZ3wEArP7CAuvlDoDm
l+/SQLByxJZ8CcQOUOKiIt/iugCJGQ0=
=88GV
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 9 May 2022 00:14
(name . Vagrant Cascadian)(address . vagrant@debian.org)
87wnevu0x1.fsf@gnu.org
Hi!

Vagrant Cascadian <vagrant@debian.org> skribis:

Toggle quote (5 lines)
> Well, I guess I answered my initial question by reading the error
> message... guix/cpu.scm ... how did that work before for things like
> cross-building, where /proc/cpuinfo is *definitely* wrong to get
> information about the architecture you're building for?

(guix cpu) is used when passing ‘--tune’, which is used for native
builds:


Ludo’.
L
L
Ludovic Courtès wrote on 9 May 2022 00:15
control message for bug #55283
(address . control@debbugs.gnu.org)
87v8ufu0wd.fsf@gnu.org
severity 55283 important
quit
E
E
Efraim Flashner wrote on 9 May 2022 10:44
Re: bug#55283: ‘tests/gui x-shell-export-manifest.sh’ fails on aarch64-linux
(name . Ludovic Courtès)(address . ludo@gnu.org)
YnjUbBWxpVMnANHc@3900XT
On Mon, May 09, 2022 at 12:14:50AM +0200, Ludovic Courtès wrote:
Toggle quote (14 lines)
> Hi!
>
> Vagrant Cascadian <vagrant@debian.org> skribis:
>
> > Well, I guess I answered my initial question by reading the error
> > message... guix/cpu.scm ... how did that work before for things like
> > cross-building, where /proc/cpuinfo is *definitely* wrong to get
> > information about the architecture you're building for?
>
> (guix cpu) is used when passing ‘--tune’, which is used for native
> builds:
>
> https://hpc.guix.info/blog/2022/01/tuning-packages-for-a-cpu-micro-architecture/

I have a WIP patch for adding CPU detection for aarch64. Perhaps it'll
help with the issues?

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
From 26894a74e7a1ed861a170239e26d13f1298fe5ac Mon Sep 17 00:00:00 2001
Message-Id: <26894a74e7a1ed861a170239e26d13f1298fe5ac.1644401681.git.efraim@flashner.co.il>
In-Reply-To: <cover.1644401681.git.efraim@flashner.co.il>
References: <cover.1644401681.git.efraim@flashner.co.il>
From: Efraim Flashner <efraim@flashner.co.il>
Date: Wed, 9 Feb 2022 12:07:55 +0200
Subject: [PATCH 5/5] WIP: guix: cpu: Add detection for aarch64 CPUs.

* guix/cpu.scm (current-cpu): Extend existing implementation to also
read cpuinfo from aarch64 machines.
(cpu->gcc-architecture): Add case for aarch64.
---
guix/cpu.scm | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 70 insertions(+)

Toggle diff (109 lines)
diff --git a/guix/cpu.scm b/guix/cpu.scm
index 6d44599822..d4dbd5f6b8 100644
--- a/guix/cpu.scm
+++ b/guix/cpu.scm
@@ -66,25 +66,47 @@ (define (prefix? prefix)
(match (read-line port)
((? eof-object?)
#f)
+ ;; vendor for x86_64 and i686
((? (prefix? "vendor_id") str)
(match (string-tokenize str)
(("vendor_id" ":" vendor)
(loop vendor family model))))
+ ;; vendor for aarch64 and armhf
+ ((? (prefix? "CPU implementer") str)
+ (match (string-tokenize str)
+ (("CPU" "implementer" ":" vendor)
+ (loop vendor family model))))
+ ;; family for x86_64 and i686
((? (prefix? "cpu family") str)
(match (string-tokenize str)
(("cpu" "family" ":" family)
(loop vendor (string->number family) model))))
+ ;; model for x86_64 and i686
((? (prefix? "model") str)
(match (string-tokenize str)
(("model" ":" model)
(loop vendor family (string->number model)))
(_
(loop vendor family model))))
+ ;; model for aarch64 and armhf
+ ((? (prefix? "CPU part") str)
+ (match (string-tokenize str)
+ (("CPU" "part" ":" model)
+ (loop vendor family (string->number (string-append "#x" (string-drop model 2)))))
+ (_
+ (loop vendor family model))))
+ ;; flags for x86_64 and i686
((? (prefix? "flags") str)
(match (string-tokenize str)
(("flags" ":" flags ...)
(cpu (utsname:machine (uname))
vendor family model (list->set flags)))))
+ ;; flags for aarch64 and armhf
+ ((? (prefix? "Features") str)
+ (match (string-tokenize str)
+ (("Features" ":" flags ...)
+ (cpu (utsname:machine (uname))
+ vendor family model (list->set flags)))))
(_
(loop vendor family model))))))))
@@ -192,6 +214,54 @@ (define (cpu->gcc-architecture cpu)
;; TODO: Recognize CENTAUR/CYRIX/NSC?
"x86_64"))
+ ("aarch64"
+ (pk (cpu-architecture cpu)(cpu-vendor cpu)(cpu-family cpu) (cpu-model cpu)(cpu-flags cpu))
+ ;; Currently returns ("aarch64" #f #f #f #<<set> vhash: #<vhash 329666c0 9 pairs> insert: #<procedure %insert (t-5ce36f5c768e728-317 t-5ce36f5c768e728-319)> ref: #<procedure vhash-assoc (key vhash #:optional equal? hash)>>)
+ ;; Transcribed from GCC's list of aarch64 processors in aarch64-cores.def
+ (match (cpu-vendor cpu)
+ ("0x41"
+ (match (cpu-model cpu)
+ ((or #xd02 #xd04 #xd03 #xd07 #xd08 #xd09)
+ "armv8-a")
+ ((or #xd05 #xd0a #xd0b #xd0e #xd0d #xd41 #xd42 #xd4b #xd46 #xd43 #xd44 #xd41 #xd0c #xd4a)
+ "armv8.2-a")
+ (#xd40
+ "armv8.4-a")
+ (#xd15
+ "armv8-r")
+ ((or #xd46 #xd47 #xd48)
+ "armv9-a")))
+ ("0x42"
+ "armv8.1-a")
+ ("0x43"
+ (match (cpu-model cpu)
+ ((or #x0a0 #x0a1 #x0a2 #x0a3)
+ "armv8-a")
+ ((or #x0b0 #x0b1 #x0b2 #x0b3 #x0b4 #x0b5)
+ "armv8.2-a")
+ (#x0b8
+ "armv8.3-a")))
+ ("0x46"
+ "armv8.2-a")
+ ("0x48"
+ "armv8.2-a")
+ ("0x50"
+ "armv8-a")
+ ("0x51"
+ (match (cpu-model cpu)
+ (#xC00
+ "armv8-a")
+ (#x516
+ "armv8.1-a")
+ (#xC01
+ "armv8.4-a")))
+ ("0x53"
+ "armv8-a")
+ ("0x68"
+ "armv8-a")
+ (_
+ "armv8-a"))
+ "armv8-a")
(architecture
;; TODO: AArch64.
architecture)))
--
2.34.0
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmJ41GkACgkQQarn3Mo9
g1FReg/+LBEz33awnHfDF0FJfsmyGqAiGVThIOnn8qcRaSvniHT/RZuHOF1mVMgB
KsCYbrFo15OByZ3BzE8FvPlstfGMeOwD3HtVDhT32RMdZtf1zFpA4wZ3aCTwC3/4
Q8gcl/jHN7zdg6WhZcsdMBAzc7UmbDIVx5fEKkxcKNhXQoGwTiS8EkUiCYVOwhtI
qLHv1N7BDPfjGmeLEEpcMnTiusV2XgEMTikarmprF5JiVY4xbj7p2kj2poQMi3ab
VgLh5ClQE6rkAWNUwrEQUj+uQXwkHtg7jC/Fr9//Q3ksfhIhLwbqPdOMRJdpkU5f
ZdxPJPhPQPQq3wASt97mrVGfQi6pKisZPZIh+8G4zKIjyhssxihf67mvpHTgQvW/
StVg6XqnEQNi6d8zKz3sQuCP6wL/aVz2ZujhalQd5GtNmew5faAJdpgXSCVf5fo8
XohUVlyX6VQV6NYvpaQCVqEkTPaDGWe4+OR6ftQ9/ZZBouNWZCjFK5QcfhVdzmYM
fA2sC5Gg8xC5X6rSxc+/VU20rhGN3+iaIFEBqPC+xh5YT/X/LhpyPbXxrCH9AVR3
O7Tvzy7XejHu/0myy3z4J+3eOzhVfswVOATX4uoTvL7doXcyGHmWl7qCHSkppog+
108Tjmnu20NdeaghhkRqHHxihrL/DwAsbUdiEboJoOxITSCw46s=
=h0QV
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 9 May 2022 10:57
YnjXXesbodCxPt17@3900XT
On Mon, May 09, 2022 at 11:44:28AM +0300, Efraim Flashner wrote:
Toggle quote (18 lines)
> On Mon, May 09, 2022 at 12:14:50AM +0200, Ludovic Courtès wrote:
> > Hi!
> >
> > Vagrant Cascadian <vagrant@debian.org> skribis:
> >
> > > Well, I guess I answered my initial question by reading the error
> > > message... guix/cpu.scm ... how did that work before for things like
> > > cross-building, where /proc/cpuinfo is *definitely* wrong to get
> > > information about the architecture you're building for?
> >
> > (guix cpu) is used when passing ‘--tune’, which is used for native
> > builds:
> >
> > https://hpc.guix.info/blog/2022/01/tuning-packages-for-a-cpu-micro-architecture/
>
> I have a WIP patch for adding CPU detection for aarch64. Perhaps it'll
> help with the issues?

(ins)[efraim@pbp guix]$ ./pre-inst-env guix shell --export-manifest gsl openblas gcc-toolchain --tune
;;; note: source file /home/efraim/workspace/guix/guix/cpu.scm
;;; newer than compiled /home/efraim/workspace/guix/guix/cpu.go

;;; ("aarch64" #f #f #f #<<set> vhash: #<vhash 1602dca0 9 pairs> insert: #<procedure %insert (t-5ce36f5c768e728-317 t-5ce36f5c768e728-319)> ref: #<procedure vhash-assoc (key vhash #:optional equal? hash)>>)
hint: Consider passing the `--check' option once to make sure your shell does not clobber environment variables.

guix shell: tuning gsl@2.7 for CPU armv8-a
;; What follows is a "manifest" equivalent to the command line you gave.
;; You can store it in a file that you may then pass to any 'guix' command
;; that accepts a '--manifest' (or '-m') option.

(use-modules (guix transformations))

(define transform1
(options->transformation '((tune . "armv8-a"))))

(packages->manifest
(list (transform1 (specification->package "gsl"))
(transform1 (specification->package "openblas"))
(transform1
(specification->package "gcc-toolchain"))))


--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmJ411oACgkQQarn3Mo9
g1HezhAAshSK9V0NUlcJ3NAJZE09pAOVJeuWudp7Qjjd0o2+JVgOOFf66gePgpbq
e8sKXbKZcCAMYlKDE66ufSwXPL800u7WK5HgsUvVq2ckr0BvZkimPlUNWhFD4S67
W6PW2muzOqplQJ/fm6SH8I6V5byYF6Wko9xg2cojiwIt6mbJGf0tf9Z4o0zGLIn7
KN7sQbeUICdc9xHHvInucNaXGrQG7L0Q5IcmSzUzQuUDJwoqDyyRENcqsaEd3kT7
5qDmLh/IxeWbNRcoE1RUJdFjgOFsNqsBO9WxSRpCQDxNMhOo5t0MJ1fz7d4frBxV
Fo53/i2gOQXdEZ+hNEtbxc5hAo9+tzP+wqn7l4p0GTm72ahPAtv5GZQPCeyyf+JL
iMALtEiro8k2McenDp3Xg7IKwsy4Gurm9VhfsmPzznQOyFkRCZFjU081SNxOJVKt
mXbesz0q54J/xL94eYKL3pvhazZzQe4VfFGYRqYh04xxELoOH8CTpwNTe28JTUjU
nNp6zYtMyUO1C2y1CU+8h2gdVs/henKbSrlb/VSgw6CH5WOgpKHr9LaFHI8+nqCc
m5Q36rVXoTND5/EzYfeMSQc4VQ2Fce/11S6DxYmpf+cUZOH0fVUwCiRx6EX29Hdc
zurqL+Xd0NLTByNUJeiBHiKi+g7kN85at/HnsHv++WAo/ebiBwc=
=ffwf
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 9 May 2022 12:03
Re: bug#55283: ‘tests/guix-shell-export-manifest.sh’ fails on aarch64-linux
4d2747729262ac3e3f27d7e75f1dfb50da4c7fed.camel@telenet.be
Efraim Flashner schreef op ma 09-05-2022 om 11:44 [+0300]:
Toggle quote (3 lines)
> +                (loop vendor family (string->number (string-append
> "#x" (string-drop model 2)))))

#x is for hexadecimal, right? If so, this can be simplified by using
the second argument of string->number: (string->number (string-drop
model 2) 16).


Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYnjnAhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7r8LAQDyxvOCEv8qeUguAWADUEGaKNfF
Obav7XcVvxFOdW+5NQEA5YkHjUIJVRM+8LCpYMGw2Y84gqMWlXSJCJIuwFenvg4=
=h+rd
-----END PGP SIGNATURE-----


S
S
Sébastien Lerique wrote on 9 May 2022 14:04
‘tests/guix-shell-export-manifest.sh ’ fails on aarch64-linux
(address . 55283@debbugs.gnu.org)
87zgjqc2p2.fsf@eauchat.org
Hello all,

Toggle quote (4 lines)
> I have a WIP patch for adding CPU detection for aarch64. Perhaps it'll
> help with the issues?
>

Just confirming this works on rock64.

---
sl@matrixbox ~/guix [env]$ ./pre-inst-env guix shell --export-manifest gsl openblas gcc-toolchain --tune

;;; ("aarch64" #f #f #f #<<set> vhash: #<vhash 8d0ff60 9 pairs> insert: #<procedure %insert (t-5ce36f5c768e728-317 t-5ce36f5c768e728-319)> ref: #<procedure vhash-assoc (key vhash #:optional equal? hash)>>)
guix shell: tuning gsl@2.7 for CPU armv8-a
;; What follows is a "manifest" equivalent to the command line you gave.
;; You can store it in a file that you may then pass to any 'guix' command
;; that accepts a '--manifest' (or '-m') option.

(use-modules (guix transformations))

(define transform1
(options->transformation '((tune . "armv8-a"))))

(packages->manifest
(list (transform1 (specification->package "gsl"))
(transform1 (specification->package "openblas"))
(transform1
(specification->package "gcc-toolchain"))))
---

In case this is still useful, on the same rock64 /proc/cpuinfo is:

sl@matrixbox ~$ cat /proc/cpuinfo
processor : 0
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 1
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 2
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 3
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4


Cheers!
Sébastien
S
S
Sébastien Lerique wrote on 9 May 2022 14:32
(address . 55283@debbugs.gnu.org)
87sfpic26f.fsf@eauchat.org
Toggle quote (5 lines)
> #x is for hexadecimal, right? If so, this can be simplified by using
> the second argument of string->number: (string->number (string-drop
> model 2) 16).
>

So does this:

Toggle snippet (20 lines)
sl@matrixbox ~/guix [env]$ ./pre-inst-env guix shell --export-manifest gsl openblas gcc-toolchain --tune

;;; ("aarch64" #f #f #f #<<set> vhash: #<vhash 36d16e00 9 pairs> insert: #<procedure %insert (t-5ce36f5c768e728-317 t-5ce36f5c768e728-319)> ref: #<procedure vhash-assoc (key vhash #:optional equal? hash)>>)
guix shell: tuning gsl@2.7 for CPU armv8-a
;; What follows is a "manifest" equivalent to the command line you gave.
;; You can store it in a file that you may then pass to any 'guix' command
;; that accepts a '--manifest' (or '-m') option.

(use-modules (guix transformations))

(define transform1
(options->transformation '((tune . "armv8-a"))))

(packages->manifest
(list (transform1 (specification->package "gsl"))
(transform1 (specification->package "openblas"))
(transform1
(specification->package "gcc-toolchain"))))

(I'm happy to provide ssh access to this rock64 if that can help.)

Best,
Sébastien
E
E
Efraim Flashner wrote on 9 May 2022 16:17
Re: bug#55283: ‘tests/gui x-shell-export-manifest.sh’ fails on aarch64-linux
(name . Maxime Devos)(address . maximedevos@telenet.be)
Ynkik6ZOXoVH4XHK@3900XT
On Mon, May 09, 2022 at 12:03:46PM +0200, Maxime Devos wrote:
Toggle quote (8 lines)
> Efraim Flashner schreef op ma 09-05-2022 om 11:44 [+0300]:
> > +                (loop vendor family (string->number (string-append
> > "#x" (string-drop model 2)))))
>
> #x is for hexadecimal, right? If so, this can be simplified by using
> the second argument of string->number: (string->number (string-drop
> model 2) 16).

I hadn't realized that. I took the chance to take another look at it and
now it actually works, not just fills in each field with #f. I also
added more chips based on gcc-12 and fixed the fallback case.


--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
Toggle diff (125 lines)
diff --git a/guix/cpu.scm b/guix/cpu.scm
index a44cd082f1..37ed6f0a18 100644
--- a/guix/cpu.scm
+++ b/guix/cpu.scm
@@ -62,31 +62,51 @@ (define (prefix? prefix)
(lambda (port)
(let loop ((vendor #f)
(family #f)
- (model #f))
+ (model #f)
+ (flags (list->set '())))
(match (read-line port)
((? eof-object?)
- #f)
+ (cpu (utsname:machine (uname))
+ vendor family model flags))
+ ;; vendor for x86_64 and i686
((? (prefix? "vendor_id") str)
(match (string-tokenize str)
(("vendor_id" ":" vendor)
- (loop vendor family model))))
+ (loop vendor family model flags))))
+ ;; vendor for aarch64 and armhf
+ ((? (prefix? "CPU implementer") str)
+ (match (string-tokenize str)
+ (("CPU" "implementer" ":" vendor)
+ (loop vendor family model flags))))
+ ;; family for x86_64 and i686
((? (prefix? "cpu family") str)
(match (string-tokenize str)
(("cpu" "family" ":" family)
- (loop vendor (string->number family) model))))
+ (loop vendor (string->number family) model flags))))
+ ;; model for x86_64 and i686
((? (prefix? "model") str)
(match (string-tokenize str)
(("model" ":" model)
- (loop vendor family (string->number model)))
+ (loop vendor family (string->number model flags)))
(_
- (loop vendor family model))))
+ (loop vendor family model flags))))
+ ;; model for aarch64 and armhf
+ ((? (prefix? "CPU part") str)
+ (match (string-tokenize str)
+ (("CPU" "part" ":" model)
+ (loop vendor family (string->number (string-drop model 2) 16) flags))))
+ ;; flags for x86_64 and i686
((? (prefix? "flags") str)
(match (string-tokenize str)
(("flags" ":" flags ...)
- (cpu (utsname:machine (uname))
- vendor family model (list->set flags)))))
+ (loop vendor family model (list->set flags)))))
+ ;; flags for aarch64 and armhf
+ ((? (prefix? "Features") str)
+ (match (string-tokenize str)
+ (("Features" ":" flags ...)
+ (loop vendor family model (list->set flags)))))
(_
- (loop vendor family model))))))))
+ (loop vendor family model flags))))))))
(define (cpu->gcc-architecture cpu)
"Return the architecture name, suitable for GCC's '-march' flag, that
@@ -191,6 +211,57 @@ (define (cpu->gcc-architecture cpu)
;; TODO: Recognize CENTAUR/CYRIX/NSC?
"x86_64"))
+ ("aarch64"
+ ;; Transcribed from GCC's list of aarch64 processors in aarch64-cores.def
+ ;; What to do with big.LITTLE cores?
+ (match (cpu-vendor cpu)
+ ("0x41"
+ (match (cpu-model cpu)
+ ((or #xd02 #xd04 #xd03 #xd07 #xd08 #xd09)
+ "armv8-a")
+ ((or #xd05 #xd0a #xd0b #xd0e #xd0d #xd41 #xd42 #xd4b #xd46 #xd43 #xd44 #xd41 #xd0c #xd4a)
+ "armv8.2-a")
+ (#xd40
+ "armv8.4-a")
+ (#xd15
+ "armv8-r")
+ ((or #xd46 #xd47 #xd48 #xd49 #xd4f)
+ "armv9-a")))
+ ("0x42"
+ "armv8.1-a")
+ ("0x43"
+ (match (cpu-model cpu)
+ ((or #x0a0 #x0a1 #x0a2 #x0a3)
+ "armv8-a")
+ (#x0af
+ "armv8.1-a")
+ ((or #x0b0 #x0b1 #x0b2 #x0b3 #x0b4 #x0b5)
+ "armv8.2-a")
+ (#x0b8
+ "armv8.3-a")))
+ ("0x46"
+ "armv8.2-a")
+ ("0x48"
+ "armv8.2-a")
+ ("0x50"
+ "armv8-a")
+ ("0x51"
+ (match (cpu-model cpu)
+ (#xC00
+ "armv8-a")
+ (#x516
+ "armv8.1-a")
+ (#xC01
+ "armv8.4-a")))
+ ("0x53"
+ "armv8-a")
+ ("0x68"
+ "armv8-a")
+ ("0xC0"
+ "armv8.6-a")
+ (_
+ "armv8-a"))
+ "armv8-a")
(architecture
- ;; TODO: AArch64.
- architecture)))
+ ;; TODO: More architectures
+ (utsname:machine (uname)))))
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmJ5IpEACgkQQarn3Mo9
g1Frzw//SdUQiTrvGcFDeJqqVWDhzx2lJrcx15t2AJK+/RvsGQBA5fGGthZahiMJ
Q1kXIqfaMTTiwqL6UjqYce6Bg1BunDKVYvIx1LUNGgKv5zOIge9doUOLTKrgzTp8
Bhi3U0uPRopAXwIE/BisOuAdmA+0OOEFwq9K0rpW4uy04R4UecomDH7eG4+G2Xf8
4jqFbQJjsCLruFi8bpQhHhYGCMlK5KYrFUBHzdZh9lOVieShfnj8kYRx4E+XUFSO
w+FiSU1/qGhdkLeZI0n08fJelXhTbwuHZUpP+nOwMBtthig4Qbgg3zeC7mSwc3ON
h2WgzdGSuU4Ig/wlYVfh/SRU5R+KQJDb/2UiTLSX/CiLhLo0vY5wHA9ApdDNCg2l
YOd2OvXsrfnPozubRZ2qpoxhcwCtFmG6EI6tWBA3mmH/9Mo7RtKR4/3AX3C4PC/w
OKww4KxMSegaOIRtJjwG6MCUOTZaJ3T+36pu+LJkZkaNir0jDV4Z5a3TFriNUEaE
5nkJDbsIuHp48AzizMAH8GyGve3aPwO5hLwC7k1v9ddGyHS6T7Rtpf+u6e5ssFkb
1QDw1HNIek2lzRuRcxcNAgMJSnFLdP/GfX/1nmCXRQ+xS+ZiyfUxuObSS5Kdlzaz
zv+PyxiSnB77GjYRgTYjbJMVQGPT/k7t3mMQzNZ5m3M7yxvK9FE=
=O+x1
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 10 May 2022 17:40
Re: bug#55283: ‘tests/guix-shell-export-manif est.sh’ fails on aarch64-linux
(name . Efraim Flashner)(address . efraim@flashner.co.il)
87v8udpf9v.fsf@gnu.org
Hello!

Nice to have AArch64 support in (guix cpu)!

Efraim Flashner <efraim@flashner.co.il> skribis:

Toggle quote (12 lines)
> diff --git a/guix/cpu.scm b/guix/cpu.scm
> index a44cd082f1..37ed6f0a18 100644
> --- a/guix/cpu.scm
> +++ b/guix/cpu.scm
> @@ -62,31 +62,51 @@ (define (prefix? prefix)
> (lambda (port)
> (let loop ((vendor #f)
> (family #f)
> - (model #f))
> + (model #f)
> + (flags (list->set '())))

You can replace (list->set '()) by (set).

Toggle quote (6 lines)
> + ("aarch64"
> + ;; Transcribed from GCC's list of aarch64 processors in aarch64-cores.def
> + ;; What to do with big.LITTLE cores?
> + (match (cpu-vendor cpu)
> + ("0x41"

Is /proc/cpuinfo more or less guaranteed to return hex numbers like
this?

Toggle quote (6 lines)
> (architecture
> - ;; TODO: AArch64.
> - architecture)))
> + ;; TODO: More architectures
> + (utsname:machine (uname)))))

We can return ‘architecture’ as is, no need to re-call ‘uname’.

I haven’t run the code but at first sight it LGTM!

(The bug reported at the beginning of this thread looks rather basic
though; I’ll follow up on that.)

Thanks,
Ludo’.
L
L
Ludovic Courtès wrote on 10 May 2022 17:43
(name . Efraim Flashner)(address . efraim@flashner.co.il)
87r151pf4g.fsf@gnu.org
Ludovic Courtès <ludo@gnu.org> skribis:

Toggle quote (3 lines)
> (The bug reported at the beginning of this thread looks rather basic
> though; I’ll follow up on that.)

Actually no. :-)

I guess the first hunk of your patch, which modifies ‘current-cpu’ so
that it does not return #f on AArch64, is the actual fix (it can be a
patch of its own).

The second hunk, which modifies ‘cpu->gcc-architecture’, is an
enhancement.

Ludo’.
E
E
Efraim Flashner wrote on 10 May 2022 17:50
Re: bug#55283: ‘tests/gui x-shell-export-manifest.sh’ fails on aarch64-linux
(name . Ludovic Courtès)(address . ludo@gnu.org)
YnqJ3s4a72ZYm2hI@3900XT
On Tue, May 10, 2022 at 05:40:28PM +0200, Ludovic Courtès wrote:
Toggle quote (29 lines)
> Hello!
>
> Nice to have AArch64 support in (guix cpu)!
>
> Efraim Flashner <efraim@flashner.co.il> skribis:
>
> > diff --git a/guix/cpu.scm b/guix/cpu.scm
> > index a44cd082f1..37ed6f0a18 100644
> > --- a/guix/cpu.scm
> > +++ b/guix/cpu.scm
> > @@ -62,31 +62,51 @@ (define (prefix? prefix)
> > (lambda (port)
> > (let loop ((vendor #f)
> > (family #f)
> > - (model #f))
> > + (model #f)
> > + (flags (list->set '())))
>
> You can replace (list->set '()) by (set).
>
> > + ("aarch64"
> > + ;; Transcribed from GCC's list of aarch64 processors in aarch64-cores.def
> > + ;; What to do with big.LITTLE cores?
> > + (match (cpu-vendor cpu)
> > + ("0x41"
>
> Is /proc/cpuinfo more or less guaranteed to return hex numbers like
> this?

I'm almost certain it is on aarch64. I don't have an armhf machine to
check with.

Toggle quote (8 lines)
> > (architecture
> > - ;; TODO: AArch64.
> > - architecture)))
> > + ;; TODO: More architectures
> > + (utsname:machine (uname)))))
>
> We can return ‘architecture’ as is, no need to re-call ‘uname’.

That's what we had before and we got the error.

Toggle quote (8 lines)
> I haven’t run the code but at first sight it LGTM!
>
> (The bug reported at the beginning of this thread looks rather basic
> though; I’ll follow up on that.)
>
> Thanks,
> Ludo’.

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmJ6idwACgkQQarn3Mo9
g1FXMw//cuJvvPe3HGpgKfkgcKvJOM8UcMSoAQJugxUDgooQjPXjDYCFKoWS79Uf
chm3UxxAevPpqzsAEC0eJz7McyiTh2Dhog9gromZ/8hUWOsYfXi9qLvfJ02EB8Js
HBOCsFIxVYv/c978gPvCMNXYPeEZ2k1g4FTV60MESAAVQPqHj+tH69xg1R84f6qY
yJEfGEUzW51Qiu5aoG1q87BVMdklhycPtFmYy1eNsGc0ug6upgbehoZHiuNmoBy2
rf/Z29o5lYRgL216GDiCVq/8z8Tbpnh11DcTtTJUUno2oc6zPT/CJeWj1PazPklw
Km6AxmEHuEH96aslJW/PK2wSFQZcF2xo6792AyZfptU/Mme3zHd0EgIUk8wHd17i
Pgmin5ZuXxxYrStp1offrsRug4cHftJkTDvBngPopprnZHaJdDx90YptIgzJWpPL
yVAYID82yZvcOaAlqMS+cu2lwLGA0MGrTwLpoUItPF2CpQbvNbLv/SchRPFs4Wx4
5cS+mWhPVNUXfgKD6ltPukhmg5jBV94MqmBbYdnVyfT0guGfbcKIMb1zO3UhmryO
iGcVYNmxdV5/SLDw6omUmoHBs4Z/oWSxylJKt8SwOUSA0Jy7rHQ/U1QdwrOIiO3G
DDPZuWMsZabSCXDy2ZXcxb+m5/SNG7LziLxwBD0a1e99v/0fLME=
=vW9G
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 10 May 2022 17:55
(name . Ludovic Courtès)(address . ludo@gnu.org)
YnqK1fnn0Zo7EzFo@3900XT
On Tue, May 10, 2022 at 05:43:43PM +0200, Ludovic Courtès wrote:
Toggle quote (16 lines)
> Ludovic Courtès <ludo@gnu.org> skribis:
>
> > (The bug reported at the beginning of this thread looks rather basic
> > though; I’ll follow up on that.)
>
> Actually no. :-)
>
> I guess the first hunk of your patch, which modifies ‘current-cpu’ so
> that it does not return #f on AArch64, is the actual fix (it can be a
> patch of its own).
>
> The second hunk, which modifies ‘cpu->gcc-architecture’, is an
> enhancement.
>
> Ludo’.

On aarch64 Features (flags on x86_64) isn't last, so I changed the loop
to keep running until the end of the file. I suppose I could've changed
it to run until it hit a blank line and left the eof-object? for #f.

the change from (architecture architecture) at the end I tossed in at
the last minute. It was more to keep it from erroring on untuned
architectures.

(ins)efraim@3900XT ~$ ssh pbp cat /proc/cpuinfo
processor : 0
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer: 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 1
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer: 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 2
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer: 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 3
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer: 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 4
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer: 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 2

processor : 5
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer: 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 2

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmJ6itUACgkQQarn3Mo9
g1HgzhAAtliN+MGipiLbDCEw6p2fn+Q6wodcooCiDUJSynm1ZtWDR1m2Bw6rM12+
fp60xIyWnqMjUmY2+oW9R71WRX37bZQiT6LPfKVugwAEqNmZelXzBglttJXNEbfz
3pcPo72eGK3du+UDcSX7APTU3ON3xlTLW2R1m9ha0vwlmqgk9Hoan9/VcR+qj43n
DhxNE8dCMlA1lEoLmKjreWSyVoeZ+AywH53wxKuw0wTNUyA7NrYiC3xq8poZMfvf
wK5Yo5uZWGY+J+kGhIpUcqxQE7AmfqrSN1h0oJEiOY8EK3A1Z526pJDZW3B0MO5t
AZNOX15oxLGC2BncjMyo6wlbC1FCn25qAs/8jkf2YnLhH/N8c4gJlPoTj7UxmCr/
4mqexVqM3Z2+TCEgqqQ8uMw2G+WkkznmkaHUUMCFBxsQ8YTMCdT8D6lI/6+lY+rl
Vp7fb/A/syEWYqZ/9hKxwzM35ePJcm/Aa40tNVMQ5t8wWfvavXPU+4fr1wbbnDJp
c7HNePwZlgFq2sL2lW9EdaHUzuvErcNlzL3cK1pCyfkmwoyRXnEciOnF2Hi44Iz6
4xbT/wyHqzScQ5y7fUp7YlpqXUw447zYbovHWlW7dTxeqfVVzCLfW8RyR2WlU2vR
1ZX4PyVQypQiY3VkuyweWJAPK71SSgsSCj7Nr+widtbSWqsoa3A=
=/gT9
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 12 May 2022 10:09
Re: bug#55283: ‘tests/guix-shell-export-manif est.sh’ fails on aarch64-linux
(name . Efraim Flashner)(address . efraim@flashner.co.il)
87fslfmat0.fsf@gnu.org
Efraim Flashner <efraim@flashner.co.il> skribis:

Toggle quote (2 lines)
> On Tue, May 10, 2022 at 05:40:28PM +0200, Ludovic Courtès wrote:

[...]

Toggle quote (10 lines)
>> > (architecture
>> > - ;; TODO: AArch64.
>> > - architecture)))
>> > + ;; TODO: More architectures
>> > + (utsname:machine (uname)))))
>>
>> We can return ‘architecture’ as is, no need to re-call ‘uname’.
>
> That's what we had before and we got the error.

The error reported at the beginning of this thread was different: it
came from the fact that (current-cpu) would return #f on aarch64,
whereas ‘current-cpu’ is meant to always return a <cpu> record.

Thanks,
Ludo’.
E
E
Efraim Flashner wrote on 17 May 2022 14:29
Re: bug#55283: ‘tests/gui x-shell-export-manifest.sh’ fails on aarch64-linux
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 55283-done@debbugs.gnu.org)
YoOVPCmd+mr815VN@3900XT
This is now fixed with 41ed6db81e7b52673e5f973a1edc88b69a274614, with
fd00ac7e27c8a6d4b4d4719b4f8797bdce204623 adding actual detection for
aarch64 CPUs.

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmKDlTgACgkQQarn3Mo9
g1G94A//SfygXE5skJi42mR9OEayexQY7EjwWlEqDXro7V5Mn8CubYsKJ5zqyKcr
mdQPyHLGT4n/+1rFTsTGPg5qeCOXwo4p/I/UnLyaQau5qSyGz6lSP7HJiARdwX3D
sePDGg1w5l29Z+uoKDIkLrjMMERMbMHrwdIVYGFPjgZ41cdTjnYY/cczyIs/EGiz
xa6gWZ7ZqyLYqnIe/nlLGBwor2maiszfOkxzcBwZaMqT8NK++O0lG3EJohH+mFGh
v25k4KfWGnVEqT8jcl8tg0r54YFdHuyWZF2iVpPzTaZ/TIEXM4/GrFPILBMNbK8N
syB+GTiHBofOOTnTRHk4g6xUEWUkGAHBZPeucVETvFRN/LX8WahGb5TW9wlLxFGf
fFZ3zVj+t1CRDxBYf3uy8KtAQi8EaOjyRyDLz/UuL/h3SCt0VBlFldvnSt9NegNV
EPUBIhIHQE0/E21xvp6hodYGXI9NIGYvKGwjDaLBzMZMgIyKG8DOpN7O1Ekto0on
wqe9cvg2NAXIFXucgSr01afreGxVV5eAzcI2y3hXVc2zoXxv0fZJWqxAOZ5FAomt
5UVl30m9IbQmQaB5COlqy+7g8J9hOQ9b47DbKzeO9yKzIV808Hz+LT3TOzUCAgLB
dVWt/32viqHJ13vQqUM/1T9wGPW9xDeBbLmTQdrSLWv4HWk/NQQ=
=ZIWF
-----END PGP SIGNATURE-----


Closed
P
P
Pavel Shlyak wrote on 17 May 2022 17:01
Re: bug#55283: ‘tests/guix-shell-export-m anifest.sh’ fails on aarch64-linux
(name . Efraim Flashner)(address . efraim@flashner.co.il)
3F664CA8-1944-4068-ADEB-03C574D69284@pantherx.org
[pavel@alarm factory]$ cat /proc/cpuinfo
processor : 0
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint
CPU implementer : 0x00
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

processor : 1
BogoMIPS : 48.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint
CPU implementer : 0x00
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0

The issue is still there.

Toggle quote (10 lines)
> 17 ??? 2022 ?., ? 15:29, Efraim Flashner <efraim@flashner.co.il> ???????(?):
>
> This is now fixed with 41ed6db81e7b52673e5f973a1edc88b69a274614, with
> fd00ac7e27c8a6d4b4d4719b4f8797bdce204623 adding actual detection for
> aarch64 CPUs.
>
> --
> Efraim Flashner <efraim@flashner.co.il> ????? ?????
> GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted
Closed
P
P
Pavel Shlyak wrote on 17 May 2022 18:38
(name . Efraim Flashner)(address . efraim@flashner.co.il)
A3173FD5-2CA4-4085-8590-10B840F0C49D@pantherx.org
Issue’s not there!
My fault I didn’t wait til guix package is updated.

PASS: tests/guix-shell-export-manifest.sh

Thank you!

Toggle quote (37 lines)
> 17 ??? 2022 ?., ? 18:01, Pavel Shlyak <p.shlyak@pantherx.org> ???????(?):
>
> [pavel@alarm factory]$ cat /proc/cpuinfo
> processor : 0
> BogoMIPS : 48.00
> Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint
> CPU implementer : 0x00
> CPU architecture: 8
> CPU variant : 0x0
> CPU part : 0x000
> CPU revision : 0
>
> processor : 1
> BogoMIPS : 48.00
> Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint
> CPU implementer : 0x00
> CPU architecture: 8
> CPU variant : 0x0
> CPU part : 0x000
> CPU revision : 0
>
> The issue is still there.
>
>> 17 ??? 2022 ?., ? 15:29, Efraim Flashner <efraim@flashner.co.il> ???????(?):
>>
>> This is now fixed with 41ed6db81e7b52673e5f973a1edc88b69a274614, with
>> fd00ac7e27c8a6d4b4d4719b4f8797bdce204623 adding actual detection for
>> aarch64 CPUs.
>>
>> --
>> Efraim Flashner <efraim@flashner.co.il> ????? ?????
>> GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
>> Confidentiality cannot be guaranteed on emails sent or received unencrypted
>
>
>
>
Closed
?