GNU bug report logs - #29881
Disabled fresh-auto-compile leads to ABI breakage in user config files

Previous Next

Package: guix;

Reported by: Diego Nicola Barbato <dnbarbato <at> posteo.de>

Date: Thu, 28 Dec 2017 22:19:02 UTC

Severity: important

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

Full log


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

From: Mark H Weaver <mhw <at> netris.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 29881 <at> debbugs.gnu.org, Diego Nicola Barbato <dnbarbato <at> posteo.de>
Subject: Re: bug#29881: guix system reconfigure fails if config.scm contains
 LUKS mapped-devices
Date: Wed, 10 Jan 2018 16:47:26 -0500
ludo <at> gnu.org (Ludovic Courtès) writes:

> Diego Nicola Barbato <dnbarbato <at> posteo.de> skribis:
>
>> When running `guix system reconfigure /etc/config.scm' as root I get the
>> following error:
>>
>> guix system: error: failed to load '/etc/config.scm':
>> /etc/config.scm:24:9: /etc/config.scm:24:9: In procedure allocate-struct: Wrong type argument in position 2: 3
>
> I’m afraid you’ll have to “rm -rf ~/.cache/guile/ccache” (Guile’s
> auto-compilation cache) to work around
> e2721a05e7d778bdf845b7cb7a42fd9f76095b69.

FYI, more recently there has been another change that caused "guix
system build" to fail for me, and once again it was fixed by clearing
the auto-compilation cache for my system configuration.

Here's the error I got:

--8<---------------cut here---------------start------------->8---
mhw <at> jojen ~$ (guix system build /etc/config-sddm.scm --keep-going --keep-failed --no-grafts; guix system build /etc/config-sddm.scm --keep-going --keep-failed; guix package -m mhw-manifest.scm --keep-going --keep-failed)
Backtrace:
In guix/store.scm:
  1443:24 19 (run-with-store _ _ #:guile-for-build _ #:system _ # _)
In guix/scripts/system.scm:
  1031:13 18 (_ _)
   736:18 17 (perform-action build #<<operating-system> kernel: #<p…> …)
In gnu/system.scm:
   813:19 16 (operating-system-derivation _ #:container? _)
In gnu/services.scm:
   697:26 15 (loop #<<service> type: #<service-type system 1ac8dc0> …>)
In srfi/srfi-1.scm:
   592:17 14 (map1 (#<<service> type: #<service-type profile 1ac8…> …))
In gnu/services.scm:
   697:26 13 (loop #<<service> type: #<service-type profile 1ac8b40>…>)
In srfi/srfi-1.scm:
   592:17 12 (map1 (#<<service> type: #<service-type shepherd-roo…> …))
In gnu/services.scm:
   698:26 11 (loop #<<service> type: #<service-type shepherd-root 1a…>)
In srfi/srfi-1.scm:
   592:29 10 (map1 (#<<service> type: #<service-type file-systems…> …))
   592:29  9 (map1 (#<<service> type: #<service-type user-file-sy…> …))
   592:29  8 (map1 (#<<service> type: #<service-type root-file-sy…> …))
   592:29  7 (map1 (#<<service> type: #<service-type user-process…> …))
   592:29  6 (map1 (#<<service> type: #<service-type host-name 1b…> …))
   592:29  5 (map1 (#<<service> type: #<service-type account 1ac8…> …))
   592:29  4 (map1 (#<<service> type: #<service-type udev 1bb0780…> …))
   592:29  3 (map1 (#<<service> type: #<service-type nscd 1bb0960…> …))
   592:17  2 (map1 (#<<service> type: #<service-type guix 1bb0870…> …))
In gnu/services/base.scm:
  1471:43  1 (guix-shepherd-service _)
In unknown file:
           0 (symbol->string ("--gc-keep-derivations=yes" "--gc-ke…"))

ERROR: In procedure symbol->string:
ERROR: In procedure symbol->string: Wrong type argument in position 1 (expecting symbol): ("--gc-keep-derivations=yes" "--gc-keep-outputs=yes")
Backtrace:
In guix/store.scm:
  1443:24 19 (run-with-store _ _ #:guile-for-build _ #:system _ # _)
In guix/scripts/system.scm:
  1031:13 18 (_ _)
   736:18 17 (perform-action build #<<operating-system> kernel: #<p…> …)
In gnu/system.scm:
   813:19 16 (operating-system-derivation _ #:container? _)
In gnu/services.scm:
   697:26 15 (loop #<<service> type: #<service-type system 254ffa0> …>)
In srfi/srfi-1.scm:
   592:17 14 (map1 (#<<service> type: #<service-type profile 254f…> …))
In gnu/services.scm:
   697:26 13 (loop #<<service> type: #<service-type profile 254fc80>…>)
In srfi/srfi-1.scm:
   592:17 12 (map1 (#<<service> type: #<service-type shepherd-roo…> …))
In gnu/services.scm:
   698:26 11 (loop #<<service> type: #<service-type shepherd-root 25…>)
In srfi/srfi-1.scm:
   592:29 10 (map1 (#<<service> type: #<service-type file-systems…> …))
   592:29  9 (map1 (#<<service> type: #<service-type user-file-sy…> …))
   592:29  8 (map1 (#<<service> type: #<service-type root-file-sy…> …))
   592:29  7 (map1 (#<<service> type: #<service-type user-process…> …))
   592:29  6 (map1 (#<<service> type: #<service-type host-name 26…> …))
   592:29  5 (map1 (#<<service> type: #<service-type account 254f…> …))
   592:29  4 (map1 (#<<service> type: #<service-type udev 2653820…> …))
   592:29  3 (map1 (#<<service> type: #<service-type nscd 2653a00…> …))
   592:17  2 (map1 (#<<service> type: #<service-type guix 2653910…> …))
In gnu/services/base.scm:
  1471:43  1 (guix-shepherd-service _)
In unknown file:
           0 (symbol->string ("--gc-keep-derivations=yes" "--gc-ke…"))

ERROR: In procedure symbol->string:
ERROR: In procedure symbol->string: Wrong type argument in position 1 (expecting symbol): ("--gc-keep-derivations=yes" "--gc-keep-outputs=yes")
--8<---------------cut here---------------end--------------->8---

and the relevant excerpt from my system configuration:

--8<---------------cut here---------------start------------->8---
       (modify-services (remove (lambda (svc)
                                  (eq? (service-kind svc)
                                       wicd-service-type))
                                %base-services)
         (guix-service-type config =>
                            (guix-configuration
                              (inherit config)
                              (use-substitutes? #f)
                              (authorized-keys '())
                              (substitute-urls '())
                              (extra-options '("--gc-keep-derivations=yes"
                                               "--gc-keep-outputs=yes")))))
--8<---------------cut here---------------end--------------->8---

I guess that maybe the 'guix-configuration' record was changed, but I
haven't taken the time to find the commit that broke my cached
etc/config-sddm.go.

       Mark




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

Previous Next


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