unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#37662: substitution failure of nss-certs
@ 2019-10-08 14:18 Josh Holland
  2019-10-10 14:31 ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Josh Holland @ 2019-10-08 14:18 UTC (permalink / raw)
  To: 37662

After the core-updates merge today, I did the following, and it gave an
error message (I tried a couple of times, with the same result):

$ guix pull && guix package -m ~/guix-packages.scm -u .
# ... snip ...
downloading from https://ci.guix.gnu.org/nar/gzip/532l4zja85y9c69i0l0bwnsxx98gpzdw-nss-certs-3.45...
 nss-certs-3.45  148KiB                                                                                                                              937KiB/s 00:00 [#                 ]  10.8%Backtrace:

gzip: stdout: Broken pipe
           3 (apply-smob/1 #<catch-closure 2146640>)
In ice-9/boot-9.scm:
    705:2  2 (call-with-prompt _ _ #<procedure default-prompt-handle?>)
In ice-9/eval.scm:
    619:8  1 (_ #(#(#<directory (guile-user) 21c9140>)))
In guix/ui.scm:
  1734:12  0 (run-guix-command _ . _)

guix/ui.scm:1734:12: In procedure run-guix-command:
Throw to key `encoding-error' with args `("scm_to_stringn" "cannot convert wide string to output locale" 84 #f #f)'.
 nss-certs-3.45  148KiB                                                                                                                              1.3MiB/s 00:00 [##################] 100.0%substitution of /gnu/store/532l4zja85y9c69i0l0bwnsxx98gpzdw-nss-certs-3.45 failed
killing process 645584
guix package: error: some substitutes for the outputs of derivation `/gnu/store/gvckkl62hkn74wcyw9x1wd0bkjf7c6y5-nss-certs-3.45.drv' failed (usually happens due to networking issues); try `--fallback' to build derivation from source

I then did the same, but added the suggested `--fallback` option onto
the end:

$ guix package -m ~/guix-packages.scm -u . --fallback
# snip massive list of "the following derivations will be built"
downloading from https://ci.guix.gnu.org/nar/gzip/532l4zja85y9c69i0l0bwnsxx98gpzdw-nss-certs-3.45...
 nss-certs-3.45  148KiB                                                                                                                             36.0MiB/s 00:00 [#                 ]  10.8%Backtrace:

gzip: stdout: Broken pipe
           3 (apply-smob/1 #<catch-closure 1212640>)
In ice-9/boot-9.scm:
    705:2  2 (call-with-prompt _ _ #<procedure default-prompt-handle?>)
In ice-9/eval.scm:
    619:8  1 (_ #(#(#<directory (guile-user) 1295140>)))
 nss-certs-3.45  148KiB                                                                                                                             12.5MiB/s 00:00 [##################] 100.0%In guix/ui.scm:
  1734:12  0 (run-guix-command _ . _)

guix/ui.scm:1734:12: In procedure run-guix-command:
Throw to key `encoding-error' with args `("scm_to_stringn" "cannot convert wide string to output locale" 84 #f #f)'.
substitution of /gnu/store/532l4zja85y9c69i0l0bwnsxx98gpzdw-nss-certs-3.45 failed

The command did then complete successfully, I assume building nss-certs
locally instead, though I can't see any further references to it in the
output.

I'm currently trying the same thing on my other computer.

--
Josh Holland

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#37662: substitution failure of nss-certs
  2019-10-08 14:18 bug#37662: substitution failure of nss-certs Josh Holland
@ 2019-10-10 14:31 ` Ludovic Courtès
  2019-10-15 18:20   ` Josh Holland
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2019-10-10 14:31 UTC (permalink / raw)
  To: Josh Holland; +Cc: 37662

Hi Josh,

Josh Holland <josh@inv.alid.pw> skribis:

> After the core-updates merge today, I did the following, and it gave an
> error message (I tried a couple of times, with the same result):
>
> $ guix pull && guix package -m ~/guix-packages.scm -u .
> # ... snip ...
> downloading from https://ci.guix.gnu.org/nar/gzip/532l4zja85y9c69i0l0bwnsxx98gpzdw-nss-certs-3.45...
>  nss-certs-3.45  148KiB                                                                                                                              937KiB/s 00:00 [#                 ]  10.8%Backtrace:
>
> gzip: stdout: Broken pipe
>            3 (apply-smob/1 #<catch-closure 2146640>)
> In ice-9/boot-9.scm:
>     705:2  2 (call-with-prompt _ _ #<procedure default-prompt-handle?>)
> In ice-9/eval.scm:
>     619:8  1 (_ #(#(#<directory (guile-user) 21c9140>)))
> In guix/ui.scm:
>   1734:12  0 (run-guix-command _ . _)
>
> guix/ui.scm:1734:12: In procedure run-guix-command:
> Throw to key `encoding-error' with args `("scm_to_stringn" "cannot convert wide string to output locale" 84 #f #f)'.

This package contains non-ASCII UTF-8-encoded file names.

I suppose the error here is because you’re daemon is missing its UTF-8
locales.

This could be because you upgraded the daemon but did not upgrade the
‘glibc-utf8-locales’ or ‘glibc-locales’ you installed as root, no?

HTH,
Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#37662: substitution failure of nss-certs
  2019-10-10 14:31 ` Ludovic Courtès
@ 2019-10-15 18:20   ` Josh Holland
  2019-10-15 19:50     ` Arun Isaac
  2019-10-16 20:34     ` Ludovic Courtès
  0 siblings, 2 replies; 13+ messages in thread
From: Josh Holland @ 2019-10-15 18:20 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 37662


Hi Ludo',

Ludovic Courtès <ludo@gnu.org> writes:
> I suppose the error here is because you’re daemon is missing its UTF-8
> locales.
>
> This could be because you upgraded the daemon but did not upgrade the
> ‘glibc-utf8-locales’ or ‘glibc-locales’ you installed as root, no?

It's possible - I rarely do anything with the root profile, and wasn't
even aware that I had to keep it up to date.  Should I have to `guix
pull` and `guix upgrade` it regularly, as well as my user profile?

--
Josh Holland

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#37662: substitution failure of nss-certs
  2019-10-15 18:20   ` Josh Holland
@ 2019-10-15 19:50     ` Arun Isaac
  2019-10-16 17:21       ` Josh Holland
  2019-10-17  5:07       ` Ben Sturmfels
  2019-10-16 20:34     ` Ludovic Courtès
  1 sibling, 2 replies; 13+ messages in thread
From: Arun Isaac @ 2019-10-15 19:50 UTC (permalink / raw)
  To: Josh Holland, Ludovic Courtès; +Cc: 37662

[-- Attachment #1: Type: text/plain, Size: 684 bytes --]


Josh Holland <josh@inv.alid.pw> writes:

> Ludovic Courtès <ludo@gnu.org> writes:
>> I suppose the error here is because you’re daemon is missing its UTF-8
>> locales.
>>
>> This could be because you upgraded the daemon but did not upgrade the
>> ‘glibc-utf8-locales’ or ‘glibc-locales’ you installed as root, no?
>
> It's possible - I rarely do anything with the root profile, and wasn't
> even aware that I had to keep it up to date.  Should I have to `guix
> pull` and `guix upgrade` it regularly, as well as my user profile?

I install glibc-locales as a system-wide package in my operating-system
configuration. Perhaps that's what Ludo meant to say.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#37662: substitution failure of nss-certs
  2019-10-15 19:50     ` Arun Isaac
@ 2019-10-16 17:21       ` Josh Holland
  2019-10-17  5:07       ` Ben Sturmfels
  1 sibling, 0 replies; 13+ messages in thread
From: Josh Holland @ 2019-10-16 17:21 UTC (permalink / raw)
  To: Arun Isaac; +Cc: 37662


Hi Arun,

Arun Isaac <arunisaac@systemreboot.net> writes:
> I install glibc-locales as a system-wide package in my operating-system
> configuration. Perhaps that's what Ludo meant to say.

I probably should have mentioned in my initial report that this is Guix
running on top of a foreign distro (Arch).


--
Josh Holland

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#37662: substitution failure of nss-certs
  2019-10-15 18:20   ` Josh Holland
  2019-10-15 19:50     ` Arun Isaac
@ 2019-10-16 20:34     ` Ludovic Courtès
  2019-10-16 22:25       ` Josh Holland
  1 sibling, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2019-10-16 20:34 UTC (permalink / raw)
  To: Josh Holland; +Cc: 37662

Hi Josh,

Josh Holland <josh@inv.alid.pw> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>> I suppose the error here is because you’re daemon is missing its UTF-8
>> locales.
>>
>> This could be because you upgraded the daemon but did not upgrade the
>> ‘glibc-utf8-locales’ or ‘glibc-locales’ you installed as root, no?
>
> It's possible - I rarely do anything with the root profile, and wasn't
> even aware that I had to keep it up to date.

In practice you rarely need to update it, but sometimes it’s nice to do.

> Should I have to `guix pull` and `guix upgrade` it regularly, as well
> as my user profile?

‘guix pull’ alone updates the daemon and provides it with
‘glibc-utf8-locales’, which may or may not be enough for your purposes.

Could you run:

  cat /proc/PID/environ | xargs -0 echo

where PID is the PID of ‘guix-daemon’ as shown by ‘systemctl status’?

TIA,
Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#37662: substitution failure of nss-certs
  2019-10-16 20:34     ` Ludovic Courtès
@ 2019-10-16 22:25       ` Josh Holland
  2019-10-17  0:31         ` Bengt Richter
  2019-10-17  9:08         ` Ludovic Courtès
  0 siblings, 2 replies; 13+ messages in thread
From: Josh Holland @ 2019-10-16 22:25 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 37662


Hi Ludovic,

Ludovic Courtès <ludo@gnu.org> writes:
>
>   cat /proc/PID/environ | xargs -0 echo
>

LANG=en_GB.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/bin INVOCATION_ID=15155558aca749efa1593610e892c3a0 JOURNAL_STREAM=9:19872 GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale GUIX=/gnu/store/f2zvgl9zz13r6rp89y0jjfj9f4jk5h9s-guix-command GUIX_STATE_DIRECTORY=/var/guix GUIX_CONFIGURATION_DIRECTORY=/etc/guix NIX_STORE_DIR=/gnu/store

--
Josh Holland

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#37662: substitution failure of nss-certs
  2019-10-16 22:25       ` Josh Holland
@ 2019-10-17  0:31         ` Bengt Richter
  2019-10-17  9:08         ` Ludovic Courtès
  1 sibling, 0 replies; 13+ messages in thread
From: Bengt Richter @ 2019-10-17  0:31 UTC (permalink / raw)
  To: Josh Holland; +Cc: 37662

On +2019-10-16 23:25:55 +0100, Josh Holland wrote:
> 
> Hi Ludovic,
> 
> Ludovic Courtès <ludo@gnu.org> writes:
> >
> >   cat /proc/PID/environ | xargs -0 echo
> >
> 
> LANG=en_GB.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/bin INVOCATION_ID=15155558aca749efa1593610e892c3a0 JOURNAL_STREAM=9:19872 GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale GUIX=/gnu/store/f2zvgl9zz13r6rp89y0jjfj9f4jk5h9s-guix-command GUIX_STATE_DIRECTORY=/var/guix GUIX_CONFIGURATION_DIRECTORY=/etc/guix NIX_STORE_DIR=/gnu/store
> 
> --
> Josh Holland
> 

Hi Ludo, Josh,

If you want something that looks like env output, this works for me:
(also easier reading)

cat /proc/PID/environ | sed -E 's:\x00:\n:g'

You knew that, I know, but some onlookers might not :)
BTW, if this is considered ill-mannered besserwisser kibitzing,
or OT-noise-injection, please advise, et je serais sage ;-)
--
Regards,
Bengt Richter

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#37662: substitution failure of nss-certs
  2019-10-15 19:50     ` Arun Isaac
  2019-10-16 17:21       ` Josh Holland
@ 2019-10-17  5:07       ` Ben Sturmfels
  2019-10-17  9:13         ` Ludovic Courtès
  1 sibling, 1 reply; 13+ messages in thread
From: Ben Sturmfels @ 2019-10-17  5:07 UTC (permalink / raw)
  To: Arun Isaac, Josh Holland, Ludovic Courtès; +Cc: 37662


[-- Attachment #1.1: Type: text/plain, Size: 1831 bytes --]

On 16/10/19 06:50, Arun Isaac wrote:
> 
> Josh Holland <josh@inv.alid.pw> writes:
> 
>> Ludovic Courtès <ludo@gnu.org> writes:
>>> I suppose the error here is because you’re daemon is missing its UTF-8
>>> locales.
>>>
>>> This could be because you upgraded the daemon but did not upgrade the
>>> ‘glibc-utf8-locales’ or ‘glibc-locales’ you installed as root, no?
>>
>> It's possible - I rarely do anything with the root profile, and wasn't
>> even aware that I had to keep it up to date.  Should I have to `guix
>> pull` and `guix upgrade` it regularly, as well as my user profile?
> 
> I install glibc-locales as a system-wide package in my operating-system
> configuration. Perhaps that's what Ludo meant to say.

Hi Ludo, is it best to install glibc-locales or glibc-utf8-locales in
the operating system configuration as Arun suggests?

I hit the same issue doing a reconfigure on Guix System after not having
these locales either in user, root or system profiles (though I'm unsure
whether root and system are the same thing).

I had been ignoring the recent hints "Consider installing the
`glibc-utf8-locales' or `glibc-locales'..." because it wasn't clear why
this was useful to do.

Should these locales just be installed by default on Guix System? Or
maybe this is one of those issues that I hit because I hadn't upgraded
within a certain window of changes.

(For other non Guix experts like myself, I fixed my system by `guix
pull` as root, followed by `guix package --install glibc-utf8-locales
glibc-locales`, restarted guix daemon with `herd stop guix-daemon`,
checked to see if it was really stopped with `ps aux | grep
guix-daemon`, it wasn't so used `kill [the-process-id]`, started with
`herd start guix-daemon` and then the reconfigure worked.)

Cheers,
Ben


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#37662: substitution failure of nss-certs
  2019-10-16 22:25       ` Josh Holland
  2019-10-17  0:31         ` Bengt Richter
@ 2019-10-17  9:08         ` Ludovic Courtès
  2019-10-17 10:28           ` Josh Holland
  1 sibling, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2019-10-17  9:08 UTC (permalink / raw)
  To: Josh Holland; +Cc: 37662

Hi Josh,

Josh Holland <josh@inv.alid.pw> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>>
>>   cat /proc/PID/environ | xargs -0 echo
>>
>
> LANG=en_GB.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/bin
> INVOCATION_ID=15155558aca749efa1593610e892c3a0 JOURNAL_STREAM=9:19872
> GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale

[…]

Does
/var/guix/profiles/per-user/root/guix-profile/lib/locale/*/en_GB.UTF-8
exists?

If you installed ‘glibc-utf8-locales’ in root’s profile, it certainly
doesn’t:

--8<---------------cut here---------------start------------->8---
$ ls $(guix build glibc-utf8-locales)/lib/locale/2.29
de_DE.utf8   el_GR.utf8   en_US.utf8   fr_FR.utf8   tr_TR.utf8
de_DE.UTF-8  el_GR.UTF-8  en_US.UTF-8  fr_FR.UTF-8  tr_TR.UTF-8
--8<---------------cut here---------------end--------------->8---

So I think you have to install the ‘glibc-locales’ package in root’s
profile:

  guix install glibc-locales

Let me know if it helps!

Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#37662: substitution failure of nss-certs
  2019-10-17  5:07       ` Ben Sturmfels
@ 2019-10-17  9:13         ` Ludovic Courtès
  0 siblings, 0 replies; 13+ messages in thread
From: Ludovic Courtès @ 2019-10-17  9:13 UTC (permalink / raw)
  To: Ben Sturmfels; +Cc: 37662, Josh Holland

Hi,

Ben Sturmfels <ben@stumbles.id.au> skribis:

> On 16/10/19 06:50, Arun Isaac wrote:
>> 
>> Josh Holland <josh@inv.alid.pw> writes:
>> 
>>> Ludovic Courtès <ludo@gnu.org> writes:
>>>> I suppose the error here is because you’re daemon is missing its UTF-8
>>>> locales.
>>>>
>>>> This could be because you upgraded the daemon but did not upgrade the
>>>> ‘glibc-utf8-locales’ or ‘glibc-locales’ you installed as root, no?
>>>
>>> It's possible - I rarely do anything with the root profile, and wasn't
>>> even aware that I had to keep it up to date.  Should I have to `guix
>>> pull` and `guix upgrade` it regularly, as well as my user profile?
>> 
>> I install glibc-locales as a system-wide package in my operating-system
>> configuration. Perhaps that's what Ludo meant to say.
>
> Hi Ludo, is it best to install glibc-locales or glibc-utf8-locales in
> the operating system configuration as Arun suggests?

It’s best to install none of these.  :-)

On Guix System, the mechanism is more fine-grained: the admin declares
precisely the locales they want in the ‘locale’ and ‘locale-definitions’
fields, and only those get installed.  See
<https://guix.gnu.org/manual/devel/en/html_node/Locales.html>.

> I hit the same issue doing a reconfigure on Guix System after not having
> these locales either in user, root or system profiles (though I'm unsure
> whether root and system are the same thing).

This is probably due to the switch to glibc 2.29: your system now
provides locales for glibc 2.29 only, but if you have binaries linked
against 2.28, they need 2.28 locale data.

To do that, add ‘glibc-2.28’ to the ‘locale-libcs’ field:
<https://guix.gnu.org/manual/devel/en/html_node/Locales.html#Locale-Data-Compatibility-Considerations>.

(Normally ‘guix pull --news’ mentioned it when you upgraded.)

Perhaps on we should just add the current and previous glibc to
‘locale-libcs’ by default.

HTH!

Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#37662: substitution failure of nss-certs
  2019-10-17  9:08         ` Ludovic Courtès
@ 2019-10-17 10:28           ` Josh Holland
  2019-10-17 12:05             ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Josh Holland @ 2019-10-17 10:28 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 37662

Hi Ludo,

Ludovic Courtès <ludo@gnu.org> writes:
> Does
> /var/guix/profiles/per-user/root/guix-profile/lib/locale/*/en_GB.UTF-8
> exists?

Seems so (see below).

>   guix install glibc-locales

This was already installed too:

--8<------------
[root@spica ~]# guix install glibc-locales
guile: warning: failed to install locale
hint: Consider installing the `glibc-utf8-locales' or `glibc-locales' package and defining
`GUIX_LOCPATH', along these lines:

     guix package -i glibc-utf8-locales
     export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"

See the "Application Setup" section in the manual, for more info.

The following package will be upgraded:
   glibc-locales	2.29 -> 2.29	/gnu/store/03nvilh2x4z07dxv7h13gh986vvgpnsf-glibc-locales-2.29

nothing to be done
[root@spica ~]# ls /var/guix/profiles/per-user/root/guix-profile/lib/locale/*/en_GB.UTF-8
LC_ADDRESS  LC_CTYPE	       LC_MEASUREMENT  LC_MONETARY  LC_NUMERIC	LC_TELEPHONE
LC_COLLATE  LC_IDENTIFICATION  LC_MESSAGES     LC_NAME	    LC_PAPER	LC_TIME
--8<------------

--
Josh Holland

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#37662: substitution failure of nss-certs
  2019-10-17 10:28           ` Josh Holland
@ 2019-10-17 12:05             ` Ludovic Courtès
  0 siblings, 0 replies; 13+ messages in thread
From: Ludovic Courtès @ 2019-10-17 12:05 UTC (permalink / raw)
  To: Josh Holland; +Cc: 37662

Hi,

Josh Holland <josh@inv.alid.pw> skribis:

> [root@spica ~]# guix install glibc-locales
> guile: warning: failed to install locale
> hint: Consider installing the `glibc-utf8-locales' or `glibc-locales' package and defining

Note that this tells you that this ‘guix’ command is probably linked
against 2.28; this is fixed by making sure you’re running the latest
‘guix’ produced by ‘guix pull’, for instance with:

  ~root/.config/guix/current/bin/guix install glibc-locales

(IOW, it’s not the same problem as substitution problem we were
initially discussing.)

Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2019-10-17 12:06 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-08 14:18 bug#37662: substitution failure of nss-certs Josh Holland
2019-10-10 14:31 ` Ludovic Courtès
2019-10-15 18:20   ` Josh Holland
2019-10-15 19:50     ` Arun Isaac
2019-10-16 17:21       ` Josh Holland
2019-10-17  5:07       ` Ben Sturmfels
2019-10-17  9:13         ` Ludovic Courtès
2019-10-16 20:34     ` Ludovic Courtès
2019-10-16 22:25       ` Josh Holland
2019-10-17  0:31         ` Bengt Richter
2019-10-17  9:08         ` Ludovic Courtès
2019-10-17 10:28           ` Josh Holland
2019-10-17 12:05             ` 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).