GNU bug report logs - #30879
Stale .go files are loaded when Guile and Guix are in the same prefix

Previous Next

Package: guix;

Reported by: Eric Bavier <bavier <at> cray.com>

Date: Tue, 20 Mar 2018 15:44:01 UTC

Severity: important

Full log


Message #20 received at 30879 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Eric Bavier <bavier <at> cray.com>
Cc: 30879 <at> debbugs.gnu.org
Subject: Re: bug#30879: Commit bc499b113 broke guix on guile <at> 2.0.14,
 improper <operating-system> field initialization
Date: Thu, 22 Mar 2018 00:04:06 +0100
Eric Bavier <bavier <at> cray.com> skribis:

[...]

> In gnu/system.scm:
>  501: 3 [operating-system-services # # #f]
>  476: 2 [essential-services # # #f]
>  576: 1 [operating-system-etc-service #]
> In gnu/system/nss.scm:
>  217: 0 [name-service-switch->string (# # # # ...)]
>
> gnu/system/nss.scm:217:19: In procedure name-service-switch->string:
> gnu/system/nss.scm:217:19: In procedure struct_vtable: Wrong type argument in position 1 (expecting struct): (#<<service> type: #<service-type login ...

This looks like another record issue: the code is accessing the
`services' field instead of the `name-service-switch' field, which is
right next to it.

So it looks like there are still stale .go files somewhere being picked
up.  This time it would mean that nss.go is up-to-date and system.go is
stale, since nss.go assumes an offset for `name-service-switch' that is
+1 compared to that of system.go.

Could you maybe try:

  rm -rf ~/.cache/guile
  make clean-go
  strace -f -o log make

and check in `log' whether .go files outside of the build tree are being
used?

Thanks,
Ludo'.




This bug report was last modified 7 years and 30 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.