From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#24120: ERROR: In procedure struct-ref: Argument 1 out of range: 10 Date: Mon, 01 Aug 2016 10:20:46 +0200 Message-ID: <87twf4ucgx.fsf@gnu.org> References: <86poptv7k7.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54082) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bU8TB-0001E4-7H for bug-guix@gnu.org; Mon, 01 Aug 2016 04:21:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bU8T8-0000sY-BS for bug-guix@gnu.org; Mon, 01 Aug 2016 04:21:04 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:55233) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bU8T8-0000sU-7o for bug-guix@gnu.org; Mon, 01 Aug 2016 04:21:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bU8T7-0002gD-Ve for bug-guix@gnu.org; Mon, 01 Aug 2016 04:21:01 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <86poptv7k7.fsf@gmail.com> (myglc2@gmail.com's message of "Sun, 31 Jul 2016 17:09:12 -0400") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: myglc2 Cc: 24120@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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/h= ome/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/h= ome/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. =E2=80=9Crm -rf ~/.cache/guile/ccache=E2=80=9D would solve the problem, but= could you instead try the attached patch and see if it solves the problem? Thanks, Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/Makefile.am b/Makefile.am index d18e330..1f01465 100644 --- a/Makefile.am +++ b/Makefile.am @@ -402,11 +402,13 @@ CLEANFILES = \ # there that are newer than the local .scm files (for instance because the # user ran 'make install' recently). When that happens, we end up loading # those previously-installed .go files, which may be stale, thereby breaking -# the whole thing. +# the whole thing. Likewise, set 'XDG_CACHE_HOME' to avoid loading possibly +# stale files from ~/.cache/guile/ccache. %.go: make-go ; @: make-go: $(MODULES) guix/config.scm guix/tests.scm $(AM_V_at)echo "Compiling Scheme modules..." ; \ unset GUILE_LOAD_COMPILED_PATH ; \ + XDG_CACHE_HOME=/nowhere \ host=$(host) srcdir="$(top_srcdir)" \ $(top_builddir)/pre-inst-env \ $(GUILE) -L "$(top_builddir)" -L "$(top_srcdir)" \ --=-=-=--