unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#24120: ERROR: In procedure struct-ref: Argument 1 out of range: 10
@ 2016-07-31 21:09 myglc2
  2016-08-01  8:20 ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: myglc2 @ 2016-07-31 21:09 UTC (permalink / raw)
  To: 24120


building guix from git checkout on GuixSD using guix pull.

Please see details below.

Commentary: In bug#23973 'make clean-go' fixed this error. Am I missing
something?

PS: posted similar bugs twice over the last 2 days via gmane, which is
swallowing my bug-guix posts, but not other ones. If gmane ever lets
loose, it may be a duplicate or triplicate for which I am _Sorry_ in
advance !-)

Version info:

g1@g1 ~/src$ ./mkguix.sh
+ cd /home/g1/src/guix
+ git log -n 1 --oneline
2fa66f4 gnu: mutt: Update to 1.6.2.
+ git describe
v0.10.0-2062-g2fa66f4
+ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
+ stat /home/g1/.config/guix/latest
+ grep File:
  File: ‘/home/g1/.config/guix/latest’ -> ‘/gnu/store/xi604iz72jfmjd4r9sa9aif48a1jk2mz-guix-latest’
+ guix --version
guix (GNU Guix) 20160731.20
Copyright (C) 2016 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.
+ guix environment guix

make attempt:

g1@g1 ~/src/guix [env]$ make clean-go
*** output flushed ***
g1@g1 ~/src/guix [env]$ ./bootstrap
*** output flushed ***
g1@g1 ~/src/guix [env]$ ./configure --localstatedir=/var
*** output flushed ***
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
  LOAD     (guix hash)
  LOAD     (guix pk-crypto)
  LOAD     (guix pki)
  LOAD     (guix combinators)
  LOAD     (guix utils)
  LOAD     (guix sets)
  LOAD     (guix download)
;;; note: source file ./guix/packages.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/guix/packages.scm.go
  LOAD     (guix git-download)
  LOAD     (guix hg-download)
  LOAD     (guix monads)
  LOAD     (guix monad-repl)
  LOAD     (guix gexp)
  LOAD     (guix profiles)
;;; note: source file ./guix/profiles.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/guix/profiles.scm.go
  LOAD     (guix serialization)
  LOAD     (guix nar)
  LOAD     (guix derivations)
  LOAD     (guix grafts)
  LOAD     (guix gnu-maintenance)
  LOAD     (guix upstream)
  LOAD     (guix licenses)
  LOAD     (guix graph)
  LOAD     (guix cve)
  LOAD     (guix zlib)
  LOAD     (guix build-system)
  LOAD     (guix build-system ant)
  LOAD     (guix build-system cmake)
  LOAD     (guix build-system emacs)
  LOAD     (guix build-system glib-or-gtk)
  LOAD     (guix build-system gnu)
  LOAD     (guix build-system haskell)
  LOAD     (guix build-system perl)
  LOAD     (guix build-system python)
  LOAD     (guix build-system waf)
  LOAD     (guix build-system r)
  LOAD     (guix build-system ruby)
  LOAD     (guix build-system trivial)
  LOAD     (guix ftp-client)
  LOAD     (guix http-client)
  LOAD     (guix gnupg)
  LOAD     (guix elf)
  LOAD     (guix store)
  LOAD     (guix cvs-download)
  LOAD     (guix svn-download)
  LOAD     (guix ui)
  LOAD     (guix build ant-build-system)
  LOAD     (guix build download)
  LOAD     (guix build cmake-build-system)
  LOAD     (guix build emacs-build-system)
  LOAD     (guix build git)
  LOAD     (guix build hg)
  LOAD     (guix build glib-or-gtk-build-system)
  LOAD     (guix build gnu-build-system)
  LOAD     (guix build gnu-dist)
  LOAD     (guix build perl-build-system)
  LOAD     (guix build python-build-system)
  LOAD     (guix build r-build-system)
  LOAD     (guix build ruby-build-system)
  LOAD     (guix build waf-build-system)
  LOAD     (guix build haskell-build-system)
  LOAD     (guix build store-copy)
  LOAD     (guix build utils)
  LOAD     (guix build union)
  LOAD     (guix build profiles)
  LOAD     (guix build pull)
  LOAD     (guix build rpath)
  LOAD     (guix build cvs)
  LOAD     (guix build svn)
  LOAD     (guix build gremlin)
  LOAD     (guix build emacs-utils)
  LOAD     (guix build graft)
  LOAD     (guix build bournish)
  LOAD     (guix search-paths)
  LOAD     (guix packages)
  LOAD     (guix import utils)
  LOAD     (guix import gnu)
  LOAD     (guix import snix)
  LOAD     (guix import cabal)
  LOAD     (guix import cran)
  LOAD     (guix import hackage)
  LOAD     (guix import elpa)
  LOAD     (guix scripts)
;;; note: source file ./guix/scripts.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/guix/scripts.scm.go
  LOAD     (guix scripts download)
  LOAD     (guix scripts build)
  LOAD     (guix scripts archive)
;;; note: source file ./gnu/packages.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/gnu/packages.scm.go
  LOAD     (guix scripts import)
  LOAD     (guix scripts package)
;;; note: source file ./guix/scripts/package.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/guix/scripts/package.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
;;; note: source file ./gnu/packages/flex.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/gnu/packages/flex.scm.go
;;; note: source file ./gnu/packages/bison.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/gnu/packages/bison.scm.go
;;; note: source file ./gnu/packages/linux.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/gnu/packages/linux.scm.go
;;; note: source file ./gnu/packages/admin.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/gnu/packages/admin.scm.go
;;; note: source file ./gnu/packages/databases.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/gnu/packages/databases.scm.go
;;; note: source file ./gnu/packages/gnome.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/gnu/packages/gnome.scm.go
;;; note: source file ./gnu/packages/python.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/gnu/packages/python.scm.go
;;; note: source file ./gnu/packages/xorg.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/gnu/packages/xorg.scm.go
;;; note: source file ./gnu/packages/image.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/gnu/packages/image.scm.go
;;; note: source file ./gnu/packages/ssh.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/gnu/packages/ssh.scm.go
;;; note: source file ./gnu/packages/protobuf.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/gnu/packages/protobuf.scm.go
;;; note: source file ./gnu/packages/qt.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/gnu/packages/qt.scm.go
;;; Failed to autoload guile-2.0 in (gnu packages guile):
;;; ERROR: In procedure struct-ref: Argument 1 out of range: 10
  LOAD     (guix scripts gc)
  LOAD     (guix scripts hash)
  LOAD     (guix scripts pull)
  LOAD     (guix scripts substitute)
  LOAD     (guix scripts authenticate)
  LOAD     (guix scripts refresh)
;;; note: source file ./gnu/packages/commencement.scm
;;;       newer than compiled /home/g1/.cache/guile/ccache/2.0-LE-8-2.0/home/g1/src/guix/gnu/packages/commencement.scm.go
Backtrace:
In ice-9/boot-9.scm:
2789: 19 [#<procedure 12116e0 at ice-9/boot-9.scm:2777:4 (name #:optional autoload version #:key ensure)> # ...]
3065: 18 [try-module-autoload (guix scripts refresh) #f]
2401: 17 [save-module-excursion #<procedure 30711b0 at ice-9/boot-9.scm:3066:17 ()>]
3085: 16 [#<procedure 30711b0 at ice-9/boot-9.scm:3066:17 ()>]
In unknown file:
   ?: 15 [primitive-load-path "guix/scripts/refresh" ...]
In /home/g1/.config/guix/latest/guix/scripts/refresh.scm:
  23: 14 [#<procedure 44baaa0 ()>]
In ice-9/boot-9.scm:
2951: 13 [define-module* (guix scripts refresh) #:filename ...]
2926: 12 [resolve-imports (((guix ui)) ((guix hash)) ((guix scripts)) ...)]
2864: 11 [resolve-interface (gnu packages commencement) #:select ...]
2789: 10 [#<procedure 12116e0 at ice-9/boot-9.scm:2777:4 (name #:optional autoload version #:key ensure)> # ...]
3065: 9 [try-module-autoload (gnu packages commencement) #f]
2401: 8 [save-module-excursion #<procedure 30751b0 at ice-9/boot-9.scm:3066:17 ()>]
3085: 7 [#<procedure 30751b0 at ice-9/boot-9.scm:3066:17 ()>]
In unknown file:
   ?: 6 [primitive-load-path "gnu/packages/commencement" ...]
In ice-9/eval.scm:
 453: 5 [eval # ()]
 387: 4 [eval # ()]
 387: 3 [eval # #]
 387: 2 [eval # #]
 393: 1 [eval # #]
In unknown file:
   ?: 0 [memoize-variable-access! #<memoized gnu-make> #<directory # 382b240>]

ERROR: In procedure memoize-variable-access!:
ERROR: Unbound variable: gnu-make
Makefile:4851: recipe for target 'make-go' failed
make[2]: *** [make-go] Error 1
make[2]: Leaving directory '/home/g1/src/guix'
Makefile:3997: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/g1/src/guix'
Makefile:2626: recipe for target 'all' failed
make: *** [all] Error 2
g1@g1 ~/src/guix [env]$ exit
exit
g1@g1 ~/src$ exit
exit

Process shell exited abnormally with code 2

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#24120: ERROR: In procedure struct-ref: Argument 1 out of range: 10
  2016-07-31 21:09 bug#24120: ERROR: In procedure struct-ref: Argument 1 out of range: 10 myglc2
@ 2016-08-01  8:20 ` Ludovic Courtès
  2016-08-01 14:08   ` myglc2
  0 siblings, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2016-08-01  8:20 UTC (permalink / raw)
  To: myglc2; +Cc: 24120

[-- Attachment #1: Type: text/plain, Size: 1599 bytes --]

Hello,

myglc2 <myglc2@gmail.com> 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’.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 849 bytes --]

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)"		\

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* bug#24120: ERROR: In procedure struct-ref: Argument 1 out of range: 10
  2016-08-01  8:20 ` Ludovic Courtès
@ 2016-08-01 14:08   ` myglc2
  2016-08-01 21:23     ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: myglc2 @ 2016-08-01 14:08 UTC (permalink / raw)
  To: 24120

ludo@gnu.org (Ludovic Courtès) writes:

> “rm -rf ~/.cache/guile/ccache” would solve the problem, but could you
> instead try the attached patch and see if it solves the problem?

The patch works, Thank you! - George

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#24120: ERROR: In procedure struct-ref: Argument 1 out of range: 10
  2016-08-01 14:08   ` myglc2
@ 2016-08-01 21:23     ` Ludovic Courtès
  0 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2016-08-01 21:23 UTC (permalink / raw)
  To: myglc2; +Cc: 24120-done

myglc2 <myglc2@gmail.com> skribis:

> ludo@gnu.org (Ludovic Courtès) writes:
>
>> “rm -rf ~/.cache/guile/ccache” would solve the problem, but could you
>> instead try the attached patch and see if it solves the problem?
>
> The patch works, Thank you! - George

Pushed as d92e23dc9dcc90f2fbf2c956201ae194d6d31742, thanks!

Ludo'.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-08-01 21:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-31 21:09 bug#24120: ERROR: In procedure struct-ref: Argument 1 out of range: 10 myglc2
2016-08-01  8:20 ` Ludovic Courtès
2016-08-01 14:08   ` myglc2
2016-08-01 21:23     ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).