Hello, myglc2 skribis: > g1@g1 ~/src/guix [env]$ make > make all-recursive > make[1]: Entering directory '/home/g1/src/guix' > Making all in po/guix > make[2]: Entering directory '/home/g1/src/guix/po/guix' > make[2]: Leaving directory '/home/g1/src/guix/po/guix' > Making all in po/packages > make[2]: Entering directory '/home/g1/src/guix/po/packages' > make[2]: Leaving directory '/home/g1/src/guix/po/packages' > make[2]: Entering directory '/home/g1/src/guix' > Compiling Scheme modules... > LOAD (guix base32) > LOAD (guix base64) > LOAD (guix cpio) > LOAD (guix records) > LOAD (guix gcrypt) > ;;; note: source file ./guix/config.scm > ;;; newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/guix/config.scm.go [...] > ;;; note: source file ./gnu/packages/perl.scm > ;;; newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/gnu/packages/perl.scm.go > ;;; Failed to autoload canonical-package in (gnu packages base): > ;;; ERROR: In procedure struct-ref: Argument 1 out of range: 10 The problem is that ~/.cache/guile contains .go files that get loaded and take precedence over the code being compiled (probably these files exist because you used C-c C-k in Geiser or something similar). However, some of these files are stale and expect a different ABI, hence the error. “rm -rf ~/.cache/guile/ccache” would solve the problem, but could you instead try the attached patch and see if it solves the problem? Thanks, Ludo’.