GNU bug report logs -
#62448
Inconsistent guile enviornment from guix shell
Previous Next
Reported by: Skyler <skyvine <at> protonmail.com>
Date: Sat, 25 Mar 2023 19:12:01 UTC
Severity: normal
Tags: patch
Done: Josselin Poiret <dev <at> jpoiret.xyz>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#62448: Inconsistent guile enviornment from guix shell
which was filed against the guix package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 62448 <at> debbugs.gnu.org.
--
62448: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62448
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
Hi everyone,
Simon Tournier <zimon.toutoune <at> gmail.com> writes:
> Nitpick: Missing double space for sentences.
>
> Otherwise, LGTM.
Pushed as 9f68a2a9c41166ec5ac24c082bcd96c433dd2ede.
Closing.
Best,
--
Josselin Poiret
[signature.asc (application/pgp-signature, inline)]
[Message part 5 (message/rfc822, inline)]
[Message part 6 (text/plain, inline)]
Hello,
The modules available in a guile REPL seem to be inconsistent after running the guix shell command, where using the -D flag to create a development environment behaves as expected, but leaving out that flag to add the package itself to the environment does not. I am experiencing this issue with some random code on my machine, but I will use guile-pubstrate defined in guix code (https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/guile-xyz.scm?id=04724e59971b03f86a410285653d24005c62b924#n340) as an example for reproduction. Note that guile-pubstrate lists guile-webutils as a propagated input.
When I use `guix shell -D guile-pubstrate`, I am able to import the `(webutils bytevectors)` module, as I would expect. I am not able to import `(pubstrate apclient)`, also as I would expect. Inspecting GUILE_LOAD_PATH shows that a new profile path was added which contains the dependencies:
$ guix shell -D guile-pubstrate --checkguix shell: checking the environment variables visible from shell '/gnu/store/d99ykvj3axzzidygsmdmzxah4lvxd6hw-bash-5.1.8/bin/bash'...
guix shell: All is good! The shell gets correct environment variables.
[env]$ guile
GNU Guile 3.0.7
Copyright (C) 1995-2021 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> (use-modules (webutils bytevectors))
scheme@(guile-user)> (use-modules (pubstrate apclient))
While compiling expression:
no code for module (pubstrate apclient)
scheme@(guile-user)> ,q
[env]$ echo $GUILE_LOAD_PATH
/gnu/store/pr4vyrz2xsziv25hrdfyim0wy331p4z5-profile/share/guile/site/3.0:/run/current-system/profile/share/guile/site/3.0:/home/skyler/.guix-profile/share/guile/site/3.0
$ ls /gnu/store/pr4vyrz2xsziv25hrdfyim0wy331p4z5-profile/share/guile/site/3.0
8sync apicheck.scm config debugging fibers gcrypt gnutls graph io match-bind.scm md5.scm rx search sjson.scm term text web
8sync.scm compat container fash.scm fibers.scm gdbm.scm gnutls.scm htmlprag.scm logging math os scheme sjson string texinfo unit-test.scm webutils
However, when I use guix shell guile-pubstrate, neither (webutils bytevectors) nor (pubstrate apclient) are available. I would expect both of them to be, the former because it is a propagated input and the latter because it is the package that was directly added. If guile was able to locate pubstrate's modules, I would expect loading to fail because its runtime dependencies are not available. Inspecting GUILE_LOAD_PATH shows that nothing was added to it:
$ guix shell guile-pubstrate --check
guix shell: checking the environment variables visible from shell '/gnu/store/d99ykvj3axzzidygsmdmzxah4lvxd6hw-bash-5.1.8/bin/bash'...
guix shell: All is good! The shell gets correct environment variables.
[env]$ guile
GNU Guile 3.0.9
Copyright (C) 1995-2023 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> (use-modules (webutils bytevectors))
While compiling expression:
no code for module (webutils bytevectors)
scheme@(guile-user)> (use-modules (pubstrate apclient))
While compiling expression:
no code for module (pubstrate apclient)
scheme@(guile-user)> ,q
[env]$ echo $GUILE_LOAD_PATH
/run/current-system/profile/share/guile/site/3.0:/home/skyler/.guix-profile/share/guile/site/3.0
This is not an issue with the guile-pubstrate definition in particular, because guix shell guile-webutils also fails to add its modules to my environment:
$ guix shell --check guile-webutilsThe following derivation will be built:
/gnu/store/ca8gv3yk2khs0h60kc5v682g7gvfqd23-profile.drv
building CA certificate bundle...
listing Emacs sub-directories...
building fonts directory...
building directory of Info manuals...
building profile with 1 package...
guix shell: checking the environment variables visible from shell '/gnu/store/d99ykvj3axzzidygsmdmzxah4lvxd6hw-bash-5.1.8/bin/bash'...
guix shell: All is good! The shell gets correct environment variables.
[env]$ guile
GNU Guile 3.0.9
Copyright (C) 1995-2023 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guile-user)> (use-modules (webutils bytevectors))
While compiling expression:
no code for module (webutils bytevectors)
My machine is up-to-date as of today:
Generation 32 Mar 25 2023 11:32:38 (current) guix 04724e5
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 04724e59971b03f86a410285653d24005c62b924
rde a7b5944
repository URL: https://git.sr.ht/~abcdw/rde
branch: master
commit: a7b59443405169600a00f0b295a3fb1de360cb0b
Let me know if there is anything I can do to help diagnose or fix this issue.
Thanks,
Skyler
[Message part 7 (text/html, inline)]
[signature.asc (application/pgp-signature, attachment)]
This bug report was last modified 1 year and 329 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.