* Heads-up: New dependency on Guile-Gcrypt
@ 2018-09-02 16:35 Ludovic Courtès
2018-09-03 10:36 ` Christopher Lemmer Webber
0 siblings, 1 reply; 22+ messages in thread
From: Ludovic Courtès @ 2018-09-02 16:35 UTC (permalink / raw)
To: guix-devel
Hello Guix!
Coming soon: Guix will no longer provide its own crypto modules and will
instead depend on Guile-Gcrypt:
https://issues.guix.info/issue/32606
‘guix pull’ will happily perform the transition.
If you’re used to working on a Git checkout with “guix environment
guix”, you’ll have to add ‘guile-gcrypt’ to the environment. If your
“guix” is too old and lacks the ‘guile-gcrypt’ package, you have a
chicken-and-egg problem that you can solve either by running ‘guix pull’
or by running this from your checkout:
$(make as-derivation)/bin/guix environment guix
or:
$(make as-derivation)/bin/guix package -i guile-gcrypt
Besides, our friends at openSuSE have already created a ‘guile-gcrypt’
package. :-)
Ludo’.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-02 16:35 Ludovic Courtès
@ 2018-09-03 10:36 ` Christopher Lemmer Webber
2018-09-04 20:07 ` Alex Vong
0 siblings, 1 reply; 22+ messages in thread
From: Christopher Lemmer Webber @ 2018-09-03 10:36 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
Ludovic Courtès writes:
> Hello Guix!
>
> Coming soon: Guix will no longer provide its own crypto modules and will
> instead depend on Guile-Gcrypt:
>
> https://issues.guix.info/issue/32606
>
> ‘guix pull’ will happily perform the transition.
>
> If you’re used to working on a Git checkout with “guix environment
> guix”, you’ll have to add ‘guile-gcrypt’ to the environment. If your
> “guix” is too old and lacks the ‘guile-gcrypt’ package, you have a
> chicken-and-egg problem that you can solve either by running ‘guix pull’
> or by running this from your checkout:
>
> $(make as-derivation)/bin/guix environment guix
>
> or:
>
> $(make as-derivation)/bin/guix package -i guile-gcrypt
>
> Besides, our friends at openSuSE have already created a ‘guile-gcrypt’
> package. :-)
>
> Ludo’.
Woohoo! Really nice to see that package put to good use!
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-03 10:36 ` Christopher Lemmer Webber
@ 2018-09-04 20:07 ` Alex Vong
2018-09-04 20:14 ` Leo Famulari
2018-09-04 21:33 ` Ludovic Courtès
0 siblings, 2 replies; 22+ messages in thread
From: Alex Vong @ 2018-09-04 20:07 UTC (permalink / raw)
To: Christopher Lemmer Webber; +Cc: guix-devel
[-- Attachment #1: Type: text/plain, Size: 4649 bytes --]
Is master FTBFS because of this update? I get the following error when
running make:
======================================================================
Updating ./doc/version.texi
MAKEINFO doc/guix.info
Updating ./doc/version-fr.texi
MAKEINFO doc/guix.fr.info
CXX nix/nix-daemon/guix_daemon-nix-daemon.o
CXX nix/nix-daemon/guix_daemon-guix-daemon.o
CXX nix/libstore/libstore_a-gc.o
CXX nix/libstore/libstore_a-globals.o
CXX nix/libstore/libstore_a-misc.o
CXX nix/libstore/libstore_a-references.o
CXX nix/libstore/libstore_a-store-api.o
CXX nix/libstore/libstore_a-optimise-store.o
CXX nix/libstore/libstore_a-local-store.o
CXX nix/libstore/libstore_a-build.o
CXX nix/libstore/libstore_a-pathlocks.o
CXX nix/libstore/libstore_a-derivations.o
CXX nix/libstore/libstore_a-builtins.o
CXX nix/libstore/libstore_a-sqlite.o
AR libstore.a
ar: `u' modifier ignored since `D' is the default (see `U')
CXX nix/libutil/libutil_a-archive.o
CXX nix/libutil/libutil_a-affinity.o
CXX nix/libutil/libutil_a-serialise.o
CXX nix/libutil/libutil_a-util.o
CXX nix/libutil/libutil_a-hash.o
CXX nix/libutil/libutil_a-gcrypt-hash.o
AR libutil.a
ar: `u' modifier ignored since `D' is the default (see `U')
CXX nix/boost/format/libformat_a-free_funcs.o
CXX nix/boost/format/libformat_a-parsing.o
CXX nix/boost/format/libformat_a-format_implementation.o
AR libformat.a
ar: `u' modifier ignored since `D' is the default (see `U')
CXXLD guix-daemon
/usr/bin/ld: nix/nix-daemon/guix_daemon-guix-daemon.o: in function `main':
/home/alexvong1995/scm/guix/nix/nix-daemon/guix-daemon.cc:434: undefined reference to `gcry_check_version'
/usr/bin/ld: /home/alexvong1995/scm/guix/nix/nix-daemon/guix-daemon.cc:442: undefined reference to `gcry_control'
/usr/bin/ld: libutil.a(libutil_a-hash.o): in function `nix::HashSink::currentHash()':
/home/alexvong1995/scm/guix/./nix/libutil/gcrypt-hash.hh:35: undefined reference to `gcry_md_copy'
/usr/bin/ld: /home/alexvong1995/scm/guix/./nix/libutil/gcrypt-hash.hh:35: undefined reference to `gcry_md_copy'
/usr/bin/ld: /home/alexvong1995/scm/guix/./nix/libutil/gcrypt-hash.hh:35: undefined reference to `gcry_md_copy'
/usr/bin/ld: /home/alexvong1995/scm/guix/./nix/libutil/gcrypt-hash.hh:35: undefined reference to `gcry_md_copy'
/usr/bin/ld: libutil.a(libutil_a-gcrypt-hash.o): in function `guix_hash_init':
/home/alexvong1995/scm/guix/nix/libutil/gcrypt-hash.cc:31: undefined reference to `gcry_md_open'
/usr/bin/ld: libutil.a(libutil_a-gcrypt-hash.o): in function `guix_hash_final':
/home/alexvong1995/scm/guix/nix/libutil/gcrypt-hash.cc:46: undefined reference to `gcry_md_get_algo_dlen'
/usr/bin/ld: /home/alexvong1995/scm/guix/nix/libutil/gcrypt-hash.cc:45: undefined reference to `gcry_md_read'
/usr/bin/ld: /home/alexvong1995/scm/guix/nix/libutil/gcrypt-hash.cc:47: undefined reference to `gcry_md_close'
/usr/bin/ld: libutil.a(libutil_a-gcrypt-hash.o): in function `guix_hash_update':
/home/alexvong1995/scm/guix/nix/libutil/gcrypt-hash.cc:38: undefined reference to `gcry_md_write'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:3422: guix-daemon] Error 1
make[2]: Leaving directory '/home/alexvong1995/scm/guix'
make[1]: *** [Makefile:4549: all-recursive] Error 1
make[1]: Leaving directory '/home/alexvong1995/scm/guix'
make: *** [Makefile:3200: all] Error 2
======================================================================
Christopher Lemmer Webber <cwebber@dustycloud.org> writes:
> Ludovic Courtès writes:
>
>> Hello Guix!
>>
>> Coming soon: Guix will no longer provide its own crypto modules and will
>> instead depend on Guile-Gcrypt:
>>
>> https://issues.guix.info/issue/32606
>>
>> ‘guix pull’ will happily perform the transition.
>>
>> If you’re used to working on a Git checkout with “guix environment
>> guix”, you’ll have to add ‘guile-gcrypt’ to the environment. If your
>> “guix” is too old and lacks the ‘guile-gcrypt’ package, you have a
>> chicken-and-egg problem that you can solve either by running ‘guix pull’
>> or by running this from your checkout:
>>
>> $(make as-derivation)/bin/guix environment guix
>>
>> or:
>>
>> $(make as-derivation)/bin/guix package -i guile-gcrypt
>>
>> Besides, our friends at openSuSE have already created a ‘guile-gcrypt’
>> package. :-)
>>
>> Ludo’.
>
> Woohoo! Really nice to see that package put to good use!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-04 20:07 ` Alex Vong
@ 2018-09-04 20:14 ` Leo Famulari
2018-09-04 21:33 ` Ludovic Courtès
1 sibling, 0 replies; 22+ messages in thread
From: Leo Famulari @ 2018-09-04 20:14 UTC (permalink / raw)
To: Alex Vong; +Cc: guix-devel
[-- Attachment #1: Type: text/plain, Size: 406 bytes --]
On Wed, Sep 05, 2018 at 04:07:41AM +0800, Alex Vong wrote:
> Is master FTBFS because of this update? I get the following error when
> running make:
It works for me after I did `make clean` and made sure that guile-gcrypt
was available.
Basically:
$ guix environment --pure guix --ad-hoc guile-gcrypt
$ make clean && ./configure --localstatedir=/var && make
What happens if you try something like that?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-04 20:07 ` Alex Vong
2018-09-04 20:14 ` Leo Famulari
@ 2018-09-04 21:33 ` Ludovic Courtès
2018-09-05 23:24 ` Alex Vong
1 sibling, 1 reply; 22+ messages in thread
From: Ludovic Courtès @ 2018-09-04 21:33 UTC (permalink / raw)
To: Alex Vong; +Cc: guix-devel
Hi Alex,
Alex Vong <alexvong1995@gmail.com> skribis:
> CXXLD guix-daemon
> /usr/bin/ld: nix/nix-daemon/guix_daemon-guix-daemon.o: in function `main':
> /home/alexvong1995/scm/guix/nix/nix-daemon/guix-daemon.cc:434: undefined reference to `gcry_check_version'
> /usr/bin/ld: /home/alexvong1995/scm/guix/nix/nix-daemon/guix-daemon.cc:442: undefined reference to `gcry_control'
What does “grep LIBGCRYPT config.log” return?
‘nix/local.mk’ expects $(LIBGCRYPT_LIBS) to contain at least “-lgcrypt”,
but in your case this variable seems to be empty.
Ludo’.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
@ 2018-09-05 11:19 Paul Garlick
2018-09-05 20:58 ` Ludovic Courtès
0 siblings, 1 reply; 22+ messages in thread
From: Paul Garlick @ 2018-09-05 11:19 UTC (permalink / raw)
To: ludo; +Cc: guix-devel
[-- Attachment #1: Type: text/plain, Size: 837 bytes --]
Hi Ludo,
> ‘guix pull’ will happily perform the transition.
For me, I have an older Guix (16th May) that fails to install guile-
gcrypt. As root:
$ guix --version
guix (GNU Guix) 6f84dc4314cd84550d9fc7e7afa11c495edc45a5
When I try 'guix pull' there is an attempt to build guile-gcrypt
locally that fails with the message './configure: No such file or
directory'. I can see that the build procedure moves from the 'unpack'
phase straight to the 'patch-usr-bin-file' phase with no 'bootstrap'
phase in between.
Aha, another chicken-and-egg, I thought; my older Guix does not have a
'bootstrap' phase. However, I can see that the commit for adding the
new phase was made on 11th March, so perhaps 'guix pull' is failing for
a different reason.
Maybe there is a workaround for this scenario. WDYT?
Best regards,
Paul.
[-- Attachment #2: Type: text/html, Size: 1119 bytes --]
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-05 11:19 Heads-up: New dependency on Guile-Gcrypt Paul Garlick
@ 2018-09-05 20:58 ` Ludovic Courtès
2018-09-06 9:24 ` Paul Garlick
2018-09-06 10:06 ` Ludovic Courtès
0 siblings, 2 replies; 22+ messages in thread
From: Ludovic Courtès @ 2018-09-05 20:58 UTC (permalink / raw)
To: Paul Garlick; +Cc: guix-devel
[-- Attachment #1: Type: text/plain, Size: 1074 bytes --]
Hi Paul,
Paul Garlick <pgarlick@tourbillion-technology.com> skribis:
>> ‘guix pull’ will happily perform the transition.
>
> For me, I have an older Guix (16th May) that fails to install guile-
> gcrypt. As root:
>
> $ guix --version
> guix (GNU Guix) 6f84dc4314cd84550d9fc7e7afa11c495edc45a5
>
> When I try 'guix pull' there is an attempt to build guile-gcrypt
> locally that fails with the message './configure: No such file or
> directory'. I can see that the build procedure moves from the 'unpack'
> phase straight to the 'patch-usr-bin-file' phase with no 'bootstrap'
> phase in between.
Hmm…
> Aha, another chicken-and-egg, I thought; my older Guix does not have a
> 'bootstrap' phase. However, I can see that the commit for adding the
> new phase was made on 11th March, so perhaps 'guix pull' is failing for
> a different reason.
Indeed, that may well be the reason. Can you try to apply the patch
below in a local branch, and then run “make as-derivation”?
TIA, and apologies for the breakage!
Ludo’.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 1039 bytes --]
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm
index f472724f1..f91b43987 100644
--- a/build-aux/build-self.scm
+++ b/build-aux/build-self.scm
@@ -216,6 +216,16 @@ person's version identifier."
"1gir7ifknbmbvjlql5j6wzk7bkb5lnmq80q59ngz43hhpclrk5k3"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
+ (arguments
+ ;; The 'bootstrap' phase appeared in 'core-updates', which was merged
+ ;; into 'master' ca. June 2018.
+ '(#:phases (modify-phases %standard-phases
+ (delete 'bootstrap)
+ (add-before 'configure 'bootstrap
+ (lambda _
+ (unless (zero? (system* "autoreconf" "-vfi"))
+ (error "autoreconf failed"))
+ #t)))))
(native-inputs
`(("pkg-config" ,(specification->package "pkg-config"))
("autoconf" ,(specification->package "autoconf"))
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-04 21:33 ` Ludovic Courtès
@ 2018-09-05 23:24 ` Alex Vong
2018-09-06 9:21 ` Ludovic Courtès
0 siblings, 1 reply; 22+ messages in thread
From: Alex Vong @ 2018-09-05 23:24 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
[-- Attachment #1: Type: text/plain, Size: 2114 bytes --]
Hello everyone,
I think I figure out why it is failing! Firstly, I am building on debian
testing, so the issue may not appear when building guix within
guix. Secondly, I run 'git clean -fdx && git reset --hard' and install
guile-gcrypt before I build, so dirty build dir and missing deps
shouldn't be cause.
ludo@gnu.org (Ludovic Courtès) writes:
> Hi Alex,
>
> Alex Vong <alexvong1995@gmail.com> skribis:
>
>> CXXLD guix-daemon
>> /usr/bin/ld: nix/nix-daemon/guix_daemon-guix-daemon.o: in function `main':
>> /home/alexvong1995/scm/guix/nix/nix-daemon/guix-daemon.cc:434:
>> undefined reference to `gcry_check_version'
>> /usr/bin/ld:
>> /home/alexvong1995/scm/guix/nix/nix-daemon/guix-daemon.cc:442:
>> undefined reference to `gcry_control'
>
> What does “grep LIBGCRYPT config.log” return?
>
It returns:
======================================================================
ac_cv_path_LIBGCRYPT_CONFIG=/usr/bin/libgcrypt-config
LIBGCRYPT='libgcrypt'
LIBGCRYPT_CFLAGS=''
LIBGCRYPT_CONFIG='/usr/bin/libgcrypt-config'
LIBGCRYPT_LIBDIR=''
LIBGCRYPT_LIBS='-L -lgcrypt'
LIBGCRYPT_PREFIX='no'
======================================================================
I think the problem is in '-L -lgcrypt'. Here '-lgcrypt' is interpreted
as a dir instead of a flag. To check this is indeed the case, I run
'make V=1'. Indeed, the command causing the failure is:
======================================================================
g++ -Wall -std=c++11 -g -O2 -o guix-daemon nix/nix-daemon/guix_daemon-nix-daemon.o nix/nix-daemon/guix_daemon-guix-daemon.o libstore.a libutil.a libformat.a -lz -lsqlite3 -L -lgcrypt -lbz2
======================================================================
And after the I remove the '-L' flag, it compiles! However, I don't know
what is the root cause of this problem. Is there a bug in configure.ac /
Makefile.am or a bug in autotools itself?
> ‘nix/local.mk’ expects $(LIBGCRYPT_LIBS) to contain at least “-lgcrypt”,
> but in your case this variable seems to be empty.
>
> Ludo’.
Cheers,
Alex
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-05 23:24 ` Alex Vong
@ 2018-09-06 9:21 ` Ludovic Courtès
0 siblings, 0 replies; 22+ messages in thread
From: Ludovic Courtès @ 2018-09-06 9:21 UTC (permalink / raw)
To: Alex Vong; +Cc: guix-devel
Hi,
Alex Vong <alexvong1995@gmail.com> skribis:
> It returns:
>
> ======================================================================
> ac_cv_path_LIBGCRYPT_CONFIG=/usr/bin/libgcrypt-config
> LIBGCRYPT='libgcrypt'
> LIBGCRYPT_CFLAGS=''
> LIBGCRYPT_CONFIG='/usr/bin/libgcrypt-config'
> LIBGCRYPT_LIBDIR=''
> LIBGCRYPT_LIBS='-L -lgcrypt'
> LIBGCRYPT_PREFIX='no'
> ======================================================================
>
> I think the problem is in '-L -lgcrypt'. Here '-lgcrypt' is interpreted
> as a dir instead of a flag.
Indeed. I believe 888b64038db00c73467a05320c7c7f03070e5621 fixes it.
Thanks!
Ludo’.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-05 20:58 ` Ludovic Courtès
@ 2018-09-06 9:24 ` Paul Garlick
2018-09-06 10:06 ` Ludovic Courtès
1 sibling, 0 replies; 22+ messages in thread
From: Paul Garlick @ 2018-09-06 9:24 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
On Wed, 2018-09-05 at 22:58 +0200, Ludovic Courtès wrote:
>
> Indeed, that may well be the reason. Can you try to apply the patch
> below in a local branch, and then run “make as-derivation”?
>
Hi Ludo,
Many thanks. I have applied the patch in a new branch.
$ git describe
v0.15.0-1390-gca71942
However, 'make as-derivation' is not working yet. Do I need an ad-hoc
environment to run this command?
So far, I have tried using the system (Centos 7) make but this fails
since system guile (v2.0.9) is not installed.
Best regards,
Paul.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-05 20:58 ` Ludovic Courtès
2018-09-06 9:24 ` Paul Garlick
@ 2018-09-06 10:06 ` Ludovic Courtès
2018-09-06 11:58 ` Paul Garlick
2018-09-06 21:14 ` Paul Garlick
1 sibling, 2 replies; 22+ messages in thread
From: Ludovic Courtès @ 2018-09-06 10:06 UTC (permalink / raw)
To: Paul Garlick; +Cc: guix-devel
Hi,
ludo@gnu.org (Ludovic Courtès) skribis:
> Indeed, that may well be the reason. Can you try to apply the patch
> below in a local branch, and then run “make as-derivation”?
I was able to reproduce the bug by myself, by running:
guix pull --commit=6f84dc4314cd84550d9fc7e7afa11c495edc45a5
and then:
guix pull
I could then confirm that the patch fixed the problem by applying it
locally and running “guix pull --url=$PWD” from that old Guix.
Pushed as 3ffcad7df3ab8947010814f61b32ce14ea80e780, thanks!
Ludo’.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-06 10:06 ` Ludovic Courtès
@ 2018-09-06 11:58 ` Paul Garlick
2018-09-06 21:08 ` Ludovic Courtès
2018-09-06 21:14 ` Paul Garlick
1 sibling, 1 reply; 22+ messages in thread
From: Paul Garlick @ 2018-09-06 11:58 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
>
> Pushed as 3ffcad7df3ab8947010814f61b32ce14ea80e780, thanks!
>
Hi Ludo,
I tried a 'guix pull' as root and this time it completes. However,
there were warnings generated:
WARNING: compilation of /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-
guile-2.2.3/bin/guild failed
and
Failed to autoload make-session in (gnutls)
I think the GUILE_LOAD_PATH variable needed to be set before running
'guix pull'
Now all the guix commands I have tried generate:
ERROR: In procedure scm-error:
no code for module (gcrypt hash)
How best to recover? Ideally I would undo the 'guix pull' and re-do
the command with GUILE_LOAD_PATH set.
Best regards,
Paul.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-06 11:58 ` Paul Garlick
@ 2018-09-06 21:08 ` Ludovic Courtès
2018-09-10 9:34 ` Pjotr Prins
0 siblings, 1 reply; 22+ messages in thread
From: Ludovic Courtès @ 2018-09-06 21:08 UTC (permalink / raw)
To: Paul Garlick; +Cc: guix-devel
Hi Paul,
Paul Garlick <pgarlick@tourbillion-technology.com> skribis:
> I tried a 'guix pull' as root and this time it completes. However,
> there were warnings generated:
Could you paste complete commands and outputs? That would help
determine the context of the warning/error messages you mention.
> Now all the guix commands I have tried generate:
>
> ERROR: In procedure scm-error:
> no code for module (gcrypt hash)
Since you’re upgrading from a very old checkout, note that you’re also
switching to the new “guix pull”, which populates
~/.config/guix/current.
To be sure you’re using the just-pulled ‘guix’ command, could you run:
export PATH="$HOME/.config/guix/current/bin:$PATH"
hash guix
guix --version
? What’s the output of this?
Thanks in advance,
Ludo’.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-06 10:06 ` Ludovic Courtès
2018-09-06 11:58 ` Paul Garlick
@ 2018-09-06 21:14 ` Paul Garlick
1 sibling, 0 replies; 22+ messages in thread
From: Paul Garlick @ 2018-09-06 21:14 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
Hi Ludo,
Success! I have been able to upgrade the root Guix installation.
The steps I have taken were:
i) remove the 'latest' symlink
ii) re-create the symlink to point to the previous installation
iii) use 'guix gc --delete' to delete the guile-gcrypt package
components
iv) run 'GUILE_LOAD_PATH=/root/.guix-profile/share/guile/site/2.2 guix
pull'
v) run
'GUILE_LOAD_COMPILED_PATH=/gnu/store/3yvsd7w79a8rl42rxfg0xqzh9s14f3si-
guile-gcrypt-0.1.0/lib/guile/2.2/site-ccache guix package --upgrade'
This time the '... guix pull' command did not generate the '
Failed to autoload make-session in (gnutls)' errors. In retrospect, I
think the only missing element from the first attempt was the
GUILE_LOAD_PATH variable.
The last piece of the jigsaw was setting GUILE_LOAD_COMPILED_PATH so
that the gcrypt module could be found. This was required for all of
the guix commands that I tried.
Now:
$ guix package --list-installed
guix 0.15.0-
3.3d43017 out /gnu/store/sa9xj13i0568xajsjh78g3pnlsww8x8g-
guix-0.15.0-3.3d43017
...
Best regards,
Paul.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-06 21:08 ` Ludovic Courtès
@ 2018-09-10 9:34 ` Pjotr Prins
2018-09-10 11:15 ` Paul Garlick
0 siblings, 1 reply; 22+ messages in thread
From: Pjotr Prins @ 2018-09-10 9:34 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel, Paul Garlick
Guix does not expose Guile load paths in etc/profile nor
--search-paths. This makes it a bit trickier to solve
** ERROR: In procedure scm-error: no code for module (gcrypt hash)
Guix is built with Guile and Guile has trouble finding the gcrypt
package. One fix is to install guix in a profile and setting the LOAD
PATHS, e.g.:
: guix package -i guix -p ~/opt/guix
: GUILE_LOAD_PATH=~/opt/guix/share/guile/site/2.2/
: GUILE_LOAD_COMPILED_PATH=~/opt/guix/share/guile/site/2.2/
On Thu, Sep 06, 2018 at 11:08:24PM +0200, Ludovic Courtès wrote:
> Hi Paul,
>
> Paul Garlick <pgarlick@tourbillion-technology.com> skribis:
>
> > I tried a 'guix pull' as root and this time it completes. However,
> > there were warnings generated:
>
> Could you paste complete commands and outputs? That would help
> determine the context of the warning/error messages you mention.
>
> > Now all the guix commands I have tried generate:
> >
> > ERROR: In procedure scm-error:
> > no code for module (gcrypt hash)
>
> Since you’re upgrading from a very old checkout, note that you’re also
> switching to the new “guix pull”, which populates
> ~/.config/guix/current.
>
> To be sure you’re using the just-pulled ‘guix’ command, could you run:
>
> export PATH="$HOME/.config/guix/current/bin:$PATH"
> hash guix
> guix --version
>
> ? What’s the output of this?
>
> Thanks in advance,
> Ludo’.
>
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-10 9:34 ` Pjotr Prins
@ 2018-09-10 11:15 ` Paul Garlick
2018-09-10 20:45 ` Ludovic Courtès
0 siblings, 1 reply; 22+ messages in thread
From: Paul Garlick @ 2018-09-10 11:15 UTC (permalink / raw)
To: Pjotr Prins, Ludovic Courtès; +Cc: guix-devel
Hi Pjotr,
Thank you.
> Guix is built with Guile and Guile has trouble finding the gcrypt
> package.
Having successfully upgraded my root and user Guix installations I now
find that my development installation is unable to locate guile-gcrypt:
$ ./pre-inst-env guix --version
ERROR: In procedure scm-error:
no code for module (gcrypt hash)
If I use my root guix profile, in a simlar way to your suggestion, it
works:
$ sudo GUILE_LOAD_PATH=/root/.guix-profile/share/guile/site/2.2 ./pre-
inst-env guix --version
guix (GNU Guix) 0.15.0.1558-b0632
Is there a best way to notify the ./pre-inst-env commands about guile-
gcrypt? Using sudo seems like the wrong approach. Would installing
guile-gcrypt as the development user suffice?
Best regards,
Paul.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-10 11:15 ` Paul Garlick
@ 2018-09-10 20:45 ` Ludovic Courtès
2018-09-11 9:54 ` Paul Garlick
0 siblings, 1 reply; 22+ messages in thread
From: Ludovic Courtès @ 2018-09-10 20:45 UTC (permalink / raw)
To: Paul Garlick; +Cc: guix-devel
Hello,
Paul Garlick <pgarlick@tourbillion-technology.com> skribis:
> Is there a best way to notify the ./pre-inst-env commands about guile-
> gcrypt? Using sudo seems like the wrong approach. Would installing
> guile-gcrypt as the development user suffice?
‘guix pull’ and ‘make as-derivation’ (which is really like ‘guix pull
--url=$PWD’) take care of bootstrapping (modulo the bug that you
reported, Paul, and that was fixed in
3ffcad7df3ab8947010814f61b32ce14ea80e780), so normally the tricks I
posted should work:
https://lists.gnu.org/archive/html/guix-devel/2018-09/msg00031.html
Or am I missing something?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-10 20:45 ` Ludovic Courtès
@ 2018-09-11 9:54 ` Paul Garlick
2018-09-12 17:14 ` Ludovic Courtès
0 siblings, 1 reply; 22+ messages in thread
From: Paul Garlick @ 2018-09-11 9:54 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
Hi Ludo,
> Or am I missing something?
>
No, I don't think so. Everything is working again after your bug fix.
I have just needed to introduce a couple of concepts in order to use
the ./pre-inst-env commands in the git checkout. Firstly, I use a
development environment created by:
$ guix environment --ad-hoc guile gnutls guile-gcrypt guile-json nss-
certs
This adds the guile-gcrypt dependency and prevents the 'no code for
module (gcrypt hash)' error.
Then, for working on a new package ('my-new-package'), I create a new
environment:
$ ./pre-inst-env guix environment --pure my-new-package --ad-hoc guile-
gcrypt
Lastly, to build the package I need to define GUILE_LOAD_PATH:
$ GUILE_LOAD_PATH=$GUIX_ENVIRONMENT/share/guile/site/2.2 ./pre-inst-env
guix build -K my-new-package
An alternative would perhaps be to install guile-gcrypt in the user
profile (or a separate profile as suggested by Pjotr). Then use
GUILE_LOAD_PATH=/home/paul/.guix-profile/share/guile/site/2.2.
Best regards,
Paul.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-11 9:54 ` Paul Garlick
@ 2018-09-12 17:14 ` Ludovic Courtès
2018-09-14 19:17 ` Thorsten Wilms
0 siblings, 1 reply; 22+ messages in thread
From: Ludovic Courtès @ 2018-09-12 17:14 UTC (permalink / raw)
To: Paul Garlick; +Cc: guix-devel
Hello,
Paul Garlick <pgarlick@tourbillion-technology.com> skribis:
> I have just needed to introduce a couple of concepts in order to use
> the ./pre-inst-env commands in the git checkout. Firstly, I use a
> development environment created by:
Once you have run ‘guix pull’, the ‘guile-gcrypt’ package is known and
it’s an input to the ‘guix’ package. Thus, from there on, simply
running:
guix environment guix
should give you an environment that contains guile-gcrypt, guile-json,
guile, and the whole shebang. In that environment you should be able to
hack on Guix itself.
Does that make sense?
In anyway, if you found a way out, that’s good. :-)
Ludo’.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-12 17:14 ` Ludovic Courtès
@ 2018-09-14 19:17 ` Thorsten Wilms
2018-09-27 7:45 ` Ricardo Wurmus
0 siblings, 1 reply; 22+ messages in thread
From: Thorsten Wilms @ 2018-09-14 19:17 UTC (permalink / raw)
To: guix-devel
On 12.09.2018 19:14, Ludovic Courtès wrote:
> Once you have run ‘guix pull’, the ‘guile-gcrypt’ package is known and
> it’s an input to the ‘guix’ package. Thus, from there on, simply
> running:
>
> guix environment guix
>
> should give you an environment that contains guile-gcrypt, guile-json,
> guile, and the whole shebang. In that environment you should be able to
> hack on Guix itself.
Well, I `guix pull`ed twice today, still get:
"no code for module (gcrypt pk-crypto)"
I also did `sudo guix pull` and updated all packages for both roles.
Foreign distro (Ubuntu 18.04, Unity Edition).
For whatever it may be worth, within the environment:
---
$: env | grep GUI
GUIX_ENVIRONMENT=/gnu/store/2w5kxhmkq4zkamsgx1b40vr3ii1z4dxb-profile
GUILE_LOAD_COMPILED_PATH=/gnu/store/2w5kxhmkq4zkamsgx1b40vr3ii1z4dxb-profile/lib/guile/2.2/site-ccache:/gnu/store/2w5kxhmkq4zkamsgx1b40vr3ii1z4dxb-profile/share/guile/site/2.2
GUIX_LOCPATH=/home/thorwil/.guix-profile/lib/locale
GUIX_PACKAGE_PATH=/media/hd/devel/guix/packages
GUILE_LOAD_PATH=/home/thorwil/.guix-profile/share/guile/site/2.2
---
--
Thorsten Wilms
thorwil's design for free software:
http://thorwil.wordpress.com/
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-14 19:17 ` Thorsten Wilms
@ 2018-09-27 7:45 ` Ricardo Wurmus
2018-09-27 11:36 ` Thorsten Wilms
0 siblings, 1 reply; 22+ messages in thread
From: Ricardo Wurmus @ 2018-09-27 7:45 UTC (permalink / raw)
To: t_w_; +Cc: guix-devel
Hi Thorsten,
> On 12.09.2018 19:14, Ludovic Courtès wrote:
>> Once you have run ‘guix pull’, the ‘guile-gcrypt’ package is known and
>> it’s an input to the ‘guix’ package. Thus, from there on, simply
>> running:
>>
>> guix environment guix
>>
>> should give you an environment that contains guile-gcrypt, guile-json,
>> guile, and the whole shebang. In that environment you should be able to
>> hack on Guix itself.
>
> Well, I `guix pull`ed twice today, still get:
> "no code for module (gcrypt pk-crypto)"
>
> I also did `sudo guix pull` and updated all packages for both
> roles. Foreign distro (Ubuntu 18.04, Unity Edition).
Note that “sudo guix pull” fetches a new version of Guix for the root
user only.
> For whatever it may be worth, within the environment:
> ---
> $: env | grep GUI
> GUIX_ENVIRONMENT=/gnu/store/2w5kxhmkq4zkamsgx1b40vr3ii1z4dxb-profile
> GUILE_LOAD_COMPILED_PATH=/gnu/store/2w5kxhmkq4zkamsgx1b40vr3ii1z4dxb-profile/lib/guile/2.2/site-ccache:/gnu/store/2w5kxhmkq4zkamsgx1b40vr3ii1z4dxb-profile/share/guile/site/2.2
> GUIX_LOCPATH=/home/thorwil/.guix-profile/lib/locale
> GUIX_PACKAGE_PATH=/media/hd/devel/guix/packages
> GUILE_LOAD_PATH=/home/thorwil/.guix-profile/share/guile/site/2.2
> ---
GUILE_LOAD_PATH should point to the environment profile. Are you
perhaps overwriting GUILE_LOAD_PATH in ~/.bashrc?
--
Ricardo
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Heads-up: New dependency on Guile-Gcrypt
2018-09-27 7:45 ` Ricardo Wurmus
@ 2018-09-27 11:36 ` Thorsten Wilms
0 siblings, 0 replies; 22+ messages in thread
From: Thorsten Wilms @ 2018-09-27 11:36 UTC (permalink / raw)
To: Guix-devel
On 27.09.2018 09:45, Ricardo Wurmus wrote:
>> I also did `sudo guix pull` and updated all packages for both
>> roles. Foreign distro (Ubuntu 18.04, Unity Edition).
>
> Note that “sudo guix pull” fetches a new version of Guix for the root
> user only.
Yes, I made sure to update both as plain user and via sudo.
> GUILE_LOAD_PATH should point to the environment profile. Are you
> perhaps overwriting GUILE_LOAD_PATH in ~/.bashrc?
I was until now. Finally moved the rest of exports to .bash_profile.
A few days ago, the problem went away, with the only relevant thing I
did (knowingly) was a few rounds of guix pull and update spread over
days. Sorry about forgetting to update this thread and many thanks for
getting back on this!
--
Thorsten Wilms
thorwil's design for free software:
http://thorwil.wordpress.com/
^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2018-09-27 11:39 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-05 11:19 Heads-up: New dependency on Guile-Gcrypt Paul Garlick
2018-09-05 20:58 ` Ludovic Courtès
2018-09-06 9:24 ` Paul Garlick
2018-09-06 10:06 ` Ludovic Courtès
2018-09-06 11:58 ` Paul Garlick
2018-09-06 21:08 ` Ludovic Courtès
2018-09-10 9:34 ` Pjotr Prins
2018-09-10 11:15 ` Paul Garlick
2018-09-10 20:45 ` Ludovic Courtès
2018-09-11 9:54 ` Paul Garlick
2018-09-12 17:14 ` Ludovic Courtès
2018-09-14 19:17 ` Thorsten Wilms
2018-09-27 7:45 ` Ricardo Wurmus
2018-09-27 11:36 ` Thorsten Wilms
2018-09-06 21:14 ` Paul Garlick
-- strict thread matches above, loose matches on Subject: below --
2018-09-02 16:35 Ludovic Courtès
2018-09-03 10:36 ` Christopher Lemmer Webber
2018-09-04 20:07 ` Alex Vong
2018-09-04 20:14 ` Leo Famulari
2018-09-04 21:33 ` Ludovic Courtès
2018-09-05 23:24 ` Alex Vong
2018-09-06 9:21 ` 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).