Hello,

Ricardo Wurmus <rek...@elephly.net> 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 guile@2.0 -- guild disassemble 
/gnu/store/vhb0pps5lnsm4k2f1fg3050x85v8n7xz-guix-core/guix/config.go

[...]

 975    (load-string "bug-guix@gnu.org");; "bug-guix@gnu.org"
 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’.



Reply via email to