Hi, With Guix at e217174b7b9046658ac3474d522bde192e9cffb4I have an issue with the "guix shell -p ..." command, where I end up in a environment for a profile I used previously instead of the profile specified in the command line.
I can reproduce the issue this way: --8<---------------cut here---------------start------------->8--- # Clear the profile cache rm ${HOME}/.cache/guix/profiles/* # Make some profiles mkdir a echo "(specifications->manifest '(\"gforth\"))" > a/manifest.scm guix package -m a/manifest.scm -p a/profile mkdir b echo "(specifications->manifest '(\"smalltalk\"))" > b/manifest.scm guix package -m b/manifest.scm -p b/profile # The first attempt at using a profile when the cache is empty fails guix shell -q -p a/profile -- gforth > Backtrace: > 10 (primitive-load "/home/guillaume/.config/guix/current/b…") > In guix/ui.scm: > 2209:7 9 (run-guix . _) > 2172:10 8 (run-guix-command _ . _) > In ice-9/boot-9.scm: > 1752:10 7 (with-exception-handler _ _ #:unwind? _ # _) > In guix/status.scm: > 802:4 6 (call-with-status-report _ _) > In guix/scripts/environment.scm: > 951:12 5 (_) > In guix/store.scm: > 2123:24 4 (run-with-store #f #<procedure 7f27d241c460 at guix/sc…> …) > In guix/scripts/environment.scm: > 968:16 3 (_ _) > In guix/store.scm: > 1995:38 2 (_ #f) > 1473:0 1 (add-indirect-root #f "/home/guillaume/.cache/guix/prof…") > In ice-9/boot-9.scm: > 1685:16 0 (raise-exception _ #:continuable? _) > > ice-9/boot-9.scm:1685:16: In procedure raise-exception: > In procedure struct-vtable: Wrong type argument in position 1 (expecting > struct): #f # Then using the first profile with the same command works guix shell -q -p a/profile -- gforth > Gforth 0.7.3, Copyright (C) 1995-2008 Free Software Foundation, Inc. > Gforth comes with ABSOLUTELY NO WARRANTY; for details type `license' > Type `bye' to exit bye # Using the second profile doesn't work guix shell -q -p b/profile -- gst > guix shell: erreur : gst : commande introuvable > conseil : Vouliez-vous dire « gforth » ? # But the second profile really has the gst program ls b/profile/bin > gst gst-blox gst-browser gst-config gst-convert [...] # In fact, using the second profile creates an environment for # the first profile guix shell -q -p b/profile -- gforth > Gforth 0.7.3, Copyright (C) 1995-2008 Free Software Foundation, Inc. > Gforth comes with ABSOLUTELY NO WARRANTY; for details type `license' > Type `bye' to exit bye # And the profile cache only contains a link for the first profile instead # of links for both profiles ls ${HOME}/.cache/guix/profiles/ > hw7txclxu45xzbt4orha5d6zrgjej5ps4ve5n6je3cnblbg7fz2a > last-expiry-cleanup ls hw7txclxu45xzbt4orha5d6zrgjej5ps4ve5n6je3cnblbg7fz2a/bin > gforth gforth-0.7.3 gforth-fast gforth-fast-0.7.3 [...] --8<---------------cut here---------------end--------------->8---