[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#27284: ‘guix pull’ broken on Guile 2.0
From: |
Ludovic Courtès |
Subject: |
bug#27284: ‘guix pull’ broken on Guile 2.0 |
Date: |
Tue, 10 Apr 2018 23:53:17 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Hello,
Ricardo Wurmus <address@hidden> skribis:
> This is really great! I’m very happy that this is finally in the master
> branch. Thank you!
It’s still not as good as we’d like obviously, but if you’re lucky, you
get pull in 5 minutes now.
> As discussed on IRC, there is a problem when running “guix pull” with an
> older version of Guix that is still using Guile 2.0, which seems to be
> adequately fixed by your patch:
I’ve pushed this as commit e69dd8443ad2b8620c3a3db874dc50e06b0d43d0.
Unfortunately I’m now stuck with this:
--8<---------------cut here---------------start------------->8---
building path(s) `/gnu/store/81dmaf8c1wfzn3lifxsfxn827bgdz8y6-guix-extra'
loading... 0.0% of 106 filesBacktrace:
In unknown file:
?: 19 [primitive-load-path "guix/packages" ...]
In guix/packages.scm:
23: 18 [#<procedure 1067ac0 ()>]
In ice-9/boot-9.scm:
2987: 17 [define-module* (guix packages) #:filename ...]
2962: 16 [resolve-imports (((guix utils)) ((guix records)) ((guix store)) ...)]
2900: 15 [resolve-interface (guix utils) #:select ...]
2825: 14 [#<procedure 84b000 at ice-9/boot-9.scm:2813:4 (name #:optional
autoload version #:key ensure)> # ...]
3101: 13 [try-module-autoload (guix utils) #f]
2412: 12 [save-module-excursion #<procedure 106ffc0 at ice-9/boot-9.scm:3102:17
()>]
3121: 11 [#<procedure 106ffc0 at ice-9/boot-9.scm:3102:17 ()>]
In unknown file:
?: 10 [primitive-load-path "guix/utils" ...]
In guix/utils.scm:
26: 9 [#<procedure 1080740 ()>]
In ice-9/boot-9.scm:
2987: 8 [define-module* (guix utils) #:filename ...]
2962: 7 [resolve-imports (((guix config)) ((srfi srfi-1)) ((srfi srfi-9)) ...)]
2900: 6 [resolve-interface (guix config) #:select ...]
2825: 5 [#<procedure 84b000 at ice-9/boot-9.scm:2813:4 (name #:optional
autoload version #:key ensure)> # ...]
3101: 4 [try-module-autoload (guix config) #f]
2412: 3 [save-module-excursion #<procedure 1086900 at ice-9/boot-9.scm:3102:17
()>]
3121: 2 [#<procedure 1086900 at ice-9/boot-9.scm:3102:17 ()>]
In unknown file:
?: 1 [primitive-load-path "guix/config" ...]
In guix/config.scm:
1: 0 [#<procedure 10856a0 ()>]
guix/config.scm:1:726: In procedure #<procedure 10856a0 ()>:
guix/config.scm:1:726: In procedure module-lookup: Unbound variable: getenv
builder for `/gnu/store/0g3zg87w1dlqv368az3q3a1p57nd4f91-guix-extra.drv' failed
with exit code 1
cannot build derivation
`/gnu/store/gk74rl0k8hj79ckcf6ncg8ikgv8yyawq-guix-20180410.21.drv': 1
dependencies couldn't be built
--8<---------------cut here---------------end--------------->8---
Indeed, on closer inspection, (guix config) is miscompiled and looks for
‘getenv’ and ‘string-append’ in a nonexistent anonymous module (the
#{ g12345}# thing below) instead of (guile):
--8<---------------cut here---------------start------------->8---
$ guix environment --ad-hoc address@hidden -- guild disassemble
/gnu/store/vhb0pps5lnsm4k2f1fg3050x85v8n7xz-guix-core/guix/config.go
[...]
975 (load-string "address@hidden");; "address@hidden"
995 (vector-set)
996 (dup)
997 (make-int8 60) ;; 60
999 (load-string "https://gnu.org/s/guix");; "https://gnu.org/s/guix"
1025 (vector-set)
1026 (dup)
1027 (make-int8 61) ;; 61
1029 (load-symbol " g59791") ;; #{ g59791}#
1040 (vector-set)
1041 (dup)
1042 (make-int8 62) ;; 62
1044 (object-ref 61)
1046 (list 0 1) ;; 1 element
1049 (vector-set)
1050 (dup)
1051 (make-int8 63) ;; 63
1053 (load-symbol "getenv") ;; getenv
1063 (vector-set)
1064 (dup)
1065 (make-int8 64) ;; 64
1067 (object-ref 62)
1069 (object-ref 63)
1071 (make-false)
1072 (list 0 3) ;; 3 elements
1075 (vector-set)
1076 (dup)
1077 (make-int8 65) ;; 65
1079 (object-ref 62)
1081 (object-ref 63)
1083 (make-false)
1084 (list 0 3) ;; 3 elements
1087 (vector-set)
1088 (dup)
1089 (make-int8 66) ;; 66
1091 (load-string "GUIX_REGISTER") ;; "GUIX_REGISTER"
1108 (vector-set)
1109 (dup)
1110 (make-int8 67) ;; 67
1112 (load-symbol "string-append") ;; string-append
1129 (vector-set)
[...]
--8<---------------cut here---------------end--------------->8---
Ludo’.