GNU bug report logs - #51348
Exception on `guix install nss-certs`

Previous Next

Package: guix;

Reported by: Raimundo Martins <raimundomartins <at> protonmail.com>

Date: Sat, 23 Oct 2021 12:17:02 UTC

Severity: normal

Done: Julien Lepiller <julien <at> lepiller.eu>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 51348 in the body.
You can then email your comments to 51348 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#51348; Package guix. (Sat, 23 Oct 2021 12:17:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Raimundo Martins <raimundomartins <at> protonmail.com>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sat, 23 Oct 2021 12:17:02 GMT) Full text and rfc822 format available.

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

From: Raimundo Martins <raimundomartins <at> protonmail.com>
To: "bug-guix <at> gnu.org" <bug-guix <at> gnu.org>
Subject: Exception on `guix install nss-certs`
Date: Sat, 23 Oct 2021 10:57:20 +0000
[Message part 1 (text/plain, inline)]
Hi! I'm having an exception when trying to install nss-certs. I have glibc-utf8-locales installed, and even tried installing glibc-locales even though my LANG=en_US.UTF-8.
I'm running Guix the package manager on top of Void Linux.
I want to install nss-certs because curl, youtube-dl, and probably others all complain about failure to verify certificates. I'm mentioning this because it might be another bug altogether.

$ guix install nss-certs
The following package will be installed:
nss-certs 3.59

substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
0.1 MB will be downloaded
nss-certs-3.59 130KiB 1.0MiB/s 00:00 [######## ] 49.1%
Backtrace:
In guix/ui.scm:
2185:7 19 (run-guix . _)
2148:10 18 (run-guix-command _ . _)
In ice-9/boot-9.scm:
1752:10 17 (with-exception-handler _ _ #:unwind? _ # _)
1752:10 16 (with-exception-handler _ _ #:unwind? _ # _)
In guix/scripts/substitute.scm:
771:15 15 (_)
543:9 14 (process-substitution #<output: file 4> _ "/gnu/store/?" ?)
In guix/serialization.scm:
424:4 13 (fold-archive _ _ _ _)
468:33 12 (read "/gnu/store/2f032p23rgga56kkn91q7hl0vzqyr7k5-nss?" ?)
468:33 11 (read "/gnu/store/2f032p23rgga56kkn91q7hl0vzqyr7k5-nss?" ?)
468:33 10 (read "/gnu/store/2f032p23rgga56kkn91q7hl0vzqyr7k5-nss?" ?)
468:33 9 (read "/gnu/store/2f032p23rgga56kkn91q7hl0vzqyr7k5-nss?" ?)
451:26 8 (read "/gnu/store/2f032p23rgga56kkn91q7hl0vzqyr7k5-nss?" ?)
520:21 7 (_ "/gnu/store/2f032p23rgga56kkn91q7hl0vzqyr7k5-nss-ce?" ?)
In ice-9/boot-9.scm:
1747:15 6 (with-exception-handler #<procedure 7fbf3f8550f0 at ic?> ?)
In unknown file:
5 (symlink "NetLock_Arany_=Class_Gold=_F?tan?s?tv?ny:2.6?" ?)
In ice-9/boot-9.scm:
1685:16 4 (raise-exception _ #:continuable? _)
1685:16 3 (raise-exception _ #:continuable? _)
1780:13 2 (_ #<&compound-exception components: (#<&error> #<&orig?>)
1685:16 1 (raise-exception _ #:continuable? _)
1685:16 0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Throw to key `encoding-error' with args `("scm_to_stringn" "cannot convert wide string to output locale" 84 #f #f)'.
substitution of /gnu/store/2f032p23rgga56kkn91q7hl0vzqyr7k5-nss-certs-3.59 failed
guix install: error: some substitutes for the outputs of derivation `/gnu/store/srh9xhqjd2r4giaq7x5gwbybqia6kc4r-nss-certs-3.59.drv' failed (usually happens due to networking issues); try `--fallback' to build derivation from source

PS: Great job on Guix!! With so many similar package managers out there, it was about time someone actually invented something new!
[Message part 2 (text/html, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#51348; Package guix. (Sat, 23 Oct 2021 20:05:02 GMT) Full text and rfc822 format available.

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

From: Leo Famulari <leo <at> famulari.name>
To: Raimundo Martins via Bug reports for GNU Guix <bug-guix <at> gnu.org>
Cc: 51348 <at> debbugs.gnu.org
Subject: Re: bug#51348: Exception on `guix install nss-certs`
Date: Sat, 23 Oct 2021 16:04:03 -0400
On Sat, Oct 23, 2021 at 10:57:20AM +0000, Raimundo Martins via Bug reports for GNU Guix wrote:
> Hi! I'm having an exception when trying to install nss-certs. I have glibc-utf8-locales installed, and even tried installing glibc-locales even though my LANG=en_US.UTF-8.
> I'm running Guix the package manager on top of Void Linux.

Right, you can use glibc-utf8-locales (a random locale collection
intended for test purposes) to get en_US.UTF-8

> Throw to key `encoding-error' with args `("scm_to_stringn" "cannot convert wide string to output locale" 84 #f #f)'.

Did you set GUIX_LOCPATH, as suggested in the Application Setup section
of the manual?

https://guix.gnu.org/manual/en/html_node/Application-Setup.html

I'm not sure exactly which context this error occurs in, but I recommend
setting GUIX_LOCPATH in two places:

1) Your user's login environment. That is, ~/.bash_profile or equivalent
for your shell, like this:

export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale

Remember that you'll have to re-login to make it effective. This can be
done with `bash --login`.

2) The guix-daemon's environment. On Debian, that means adding a line
like this to the Service section of guix-daemon.service and reloading
and restarting the service:

Environment=GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale

Does Void Linux use runit instead of systemd? I'm sure there is a way to
export environment variables in service contexts with runit.




Information forwarded to bug-guix <at> gnu.org:
bug#51348; Package guix. (Sat, 23 Oct 2021 20:05:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#51348; Package guix. (Tue, 26 Oct 2021 00:27:01 GMT) Full text and rfc822 format available.

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

From: Raimundo Martins <raimundomartins <at> protonmail.com>
To: "51348 <at> debbugs.gnu.org" <51348 <at> debbugs.gnu.org>
Subject: Solved: Exception on `guix install nss-certs`
Date: Mon, 25 Oct 2021 21:15:23 +0000
[Message part 1 (text/plain, inline)]
Hey!

Turns out that, since I use the runit init system, GUIX_LOCPATH wasn't being set anytime before guix-daemon started, since /etc/profile.d/guix.sh was not sourced.
As a fix I set that variable by hand in my init script.
If you want to have runit as a known init system in the installer script, I suggest adding to chk_init_sys()

elif $(runit 2>/dev/null; [ $? = 111 ]); then
    _msg "${INF}init system is: runit"
    INIT_SYS="runit"
    return 0

and to the case in sys_enable_guix_daemon()

runit)
mkdir /etc/sv/guix-daemon
echo "#!/bin/sh
GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale exec /var/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild" >/etc/sv/guix-daemon/run
chmod 755 /etc/sv/guix-daemon/run
ln -sT /etv/sv/guix-daemon /var/service/guix-daemon
;;

Or something like that :P Thanks for your support in IRC #guix !!

Regards,
Raimundo
[Message part 2 (text/html, inline)]

Reply sent to Julien Lepiller <julien <at> lepiller.eu>:
You have taken responsibility. (Wed, 27 Oct 2021 22:33:01 GMT) Full text and rfc822 format available.

Notification sent to Raimundo Martins <raimundomartins <at> protonmail.com>:
bug acknowledged by developer. (Wed, 27 Oct 2021 22:33:02 GMT) Full text and rfc822 format available.

Message #19 received at 51348-done <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 51348-done <at> debbugs.gnu.org
Cc: Raimundo Martins <raimundomartins <at> protonmail.com>
Subject: Re: bug#51348: Solved: Exception on `guix install nss-certs`
Date: Thu, 28 Oct 2021 00:32:39 +0200
Le Mon, 25 Oct 2021 21:15:23 +0000,
Raimundo Martins via Bug reports for GNU Guix <bug-guix <at> gnu.org> a
écrit :

> Hey!
> 
> Turns out that, since I use the runit init system, GUIX_LOCPATH
> wasn't being set anytime before guix-daemon started, since
> /etc/profile.d/guix.sh was not sourced. As a fix I set that variable
> by hand in my init script. If you want to have runit as a known init
> system in the installer script, I suggest adding to chk_init_sys()
> 
> elif $(runit 2>/dev/null; [ $? = 111 ]); then
>     _msg "${INF}init system is: runit"
>     INIT_SYS="runit"
>     return 0
> 
> and to the case in sys_enable_guix_daemon()
> 
> runit)
> mkdir /etc/sv/guix-daemon
> echo "#!/bin/sh
> GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale
> exec /var/guix/profiles/per-user/root/current-guix/bin/guix-daemon
> --build-users-group=guixbuild" >/etc/sv/guix-daemon/run chmod 755
> /etc/sv/guix-daemon/run ln -sT /etv/sv/guix-daemon
> /var/service/guix-daemon ;;
> 
> Or something like that :P Thanks for your support in IRC #guix !!
> 
> Regards,
> Raimundo

Great news!

I'm closing this bug properly for you :) Note that you can close your
reports by sending to nnnnn-done <at> debbugs.gnu.org, where nnnnn is your
bug number.

I think it would make sense to support runit. I guess I would need a VM
of a distro that uses runit, in order to test an updated installation
script. Which one do you use exactly?




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 25 Nov 2021 12:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 212 days ago.

Previous Next


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