rofi - Failed to set locale and relink messages

  • Done
  • quality assurance status badge
Details
4 participants
  • Ludovic Courtès
  • ng0
  • Fredrik Salomonsson
  • Ricardo Wurmus
Owner
unassigned
Submitted by
Fredrik Salomonsson
Severity
normal
F
F
Fredrik Salomonsson wrote on 21 Aug 2017 05:35
(address . bug-guix@gnu.org)
CABZcOAQ7AWrLzZgtJdvtt+AHnNONexjBzMAwi=-SE9U-KirPJw@mail.gmail.com
Hi Guix,

Having issues running rofi on my Guix+Arch Linux setup.
Getting this when running it:
# rofi -show run
rofi: Relink
`/gnu/store/88wvqp60hbrdvbp0xsqad5c6njjfshcw-libpng-1.6.28/lib/libpng16.so.16'
with
`/gnu/store/ybpgv1v7606xw7mafda66w10hiynpiw2-glibc-2.25/lib/libpthread.so.0'
for IFUNC symbol `longjmp'
rofi: Relink
`/gnu/store/2sq8w3x8glbjlfn22im6nwwycmbdlzws-freetype-2.7.1/lib/libfreetype.so.6'
with
`/gnu/store/ybpgv1v7606xw7mafda66w10hiynpiw2-glibc-2.25/lib/libpthread.so.0'
for IFUNC symbol `longjmp'
Failed to set locale.

then it exits.

I've set:
GUIX_LOCPATH=$HOME/.guix-profile/lib/locale
LANG=en_US.UTF-8

Using glibc-locales

It seems to only be affecting rofi, I have no issues running emacs.

I might have missed something, guix is still new to me.

thanks

--
s/Fred[re]+i[ck]+/Fredrik/g
Attachment: file
L
L
Ludovic Courtès wrote on 22 Aug 2017 11:01
(name . Fredrik Salomonsson)(address . plattfot@gmail.com)(address . 28168@debbugs.gnu.org)
87k21wasdb.fsf@gnu.org
Hello,

Fredrik Salomonsson <plattfot@gmail.com> skribis:

Toggle quote (14 lines)
> Having issues running rofi on my Guix+Arch Linux setup.
> Getting this when running it:
> # rofi -show run
> rofi: Relink
> `/gnu/store/88wvqp60hbrdvbp0xsqad5c6njjfshcw-libpng-1.6.28/lib/libpng16.so.16'
> with
> `/gnu/store/ybpgv1v7606xw7mafda66w10hiynpiw2-glibc-2.25/lib/libpthread.so.0'
> for IFUNC symbol `longjmp'
> rofi: Relink
> `/gnu/store/2sq8w3x8glbjlfn22im6nwwycmbdlzws-freetype-2.7.1/lib/libfreetype.so.6'
> with
> `/gnu/store/ybpgv1v7606xw7mafda66w10hiynpiw2-glibc-2.25/lib/libpthread.so.0'
> for IFUNC symbol `longjmp'

Not sure about this one; it seems harmless though.

Toggle quote (10 lines)
> Failed to set locale.
>
> then it exits.
>
> I've set:
> GUIX_LOCPATH=$HOME/.guix-profile/lib/locale
> LANG=en_US.UTF-8
>
> Using glibc-locales

Does setting LC_ALL instead of LANG help? The LC_* variables take
precedence over LANG.

Ludo’.
F
F
Fredrik Salomonsson wrote on 23 Aug 2017 07:23
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 28168@debbugs.gnu.org)
CABZcOAShRsQOd4TKZ5ywny2yLA0yoreJScHe07Xu06aVt9sjvw@mail.gmail.com
Toggle quote (14 lines)
>
> > Failed to set locale.
> >
> > then it exits.
> >
> > I've set:
> > GUIX_LOCPATH=$HOME/.guix-profile/lib/locale
> > LANG=en_US.UTF-8
> >
> > Using glibc-locales
>
> Does setting LC_ALL instead of LANG help? The LC_* variables take
> precedence over LANG.

setting LC_ALL didn't work. Same error.

Did a strace on it just to see what's going on.
Here's the last part just before it exits

Toggle quote (17 lines)
> open("/run/current-system/locale/2.25/en_US.UTF-8/LC_IDENTIFICATION",
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> open("/run/current-system/locale/2.25/en_US.utf8/LC_IDENTIFICATION",
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> open("/run/current-system/locale/2.25/en_US/LC_IDENTIFICATION",
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> open("/run/current-system/locale/2.25/en.UTF-8/LC_IDENTIFICATION",
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> open("/run/current-system/locale/2.25/en.utf8/LC_IDENTIFICATION",
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> open("/run/current-system/locale/2.25/en/LC_IDENTIFICATION",
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> write(2, "Failed to set locale.\n", 22) = 22
> exit_group(1) = ?
> +++ exited with 1 +++
>

It's looking for locale specific things in /run/current-system. Which Arch
doesn't have. Is that a GuixSD specific thing? Don't have GuixSD installed
at the moment so cannot check myself.

I've attached the whole strace log incase there's something more.

2017-08-22 2:01 GMT-07:00 Ludovic Courtès <ludo@gnu.org>:

Toggle quote (42 lines)
> Hello,
>
> Fredrik Salomonsson <plattfot@gmail.com> skribis:
>
> > Having issues running rofi on my Guix+Arch Linux setup.
> > Getting this when running it:
> > # rofi -show run
> > rofi: Relink
> > `/gnu/store/88wvqp60hbrdvbp0xsqad5c6njjfshcw-libpng-1.6.28/lib/libpng16.
> so.16'
> > with
> > `/gnu/store/ybpgv1v7606xw7mafda66w10hiynpiw2-glibc-2.25/lib/libpthread.
> so.0'
> > for IFUNC symbol `longjmp'
> > rofi: Relink
> > `/gnu/store/2sq8w3x8glbjlfn22im6nwwycmbdlzws-freetype-2.7.1/lib/
> libfreetype.so.6'
> > with
> > `/gnu/store/ybpgv1v7606xw7mafda66w10hiynpiw2-glibc-2.25/lib/libpthread.
> so.0'
> > for IFUNC symbol `longjmp'
>
> Not sure about this one; it seems harmless though.
>
> > Failed to set locale.
> >
> > then it exits.
> >
> > I've set:
> > GUIX_LOCPATH=$HOME/.guix-profile/lib/locale
> > LANG=en_US.UTF-8
> >
> > Using glibc-locales
>
> Does setting LC_ALL instead of LANG help? The LC_* variables take
> precedence over LANG.
>
> Ludo’.
>



--
s/Fred[re]+i[ck]+/Fredrik/g
Attachment: file
Attachment: rofi_guix.strace
N
(name . Fredrik Salomonsson)(address . plattfot@gmail.com)
20170823073706.woabsyp57mfcoyyj@abyayala
Fredrik Salomonsson transcribed 136K bytes:
Toggle quote (16 lines)
> >
> > > Failed to set locale.
> > >
> > > then it exits.
> > >
> > > I've set:
> > > GUIX_LOCPATH=$HOME/.guix-profile/lib/locale
> > > LANG=en_US.UTF-8
> > >
> > > Using glibc-locales
> >
> > Does setting LC_ALL instead of LANG help? The LC_* variables take
> > precedence over LANG.
>
> setting LC_ALL didn't work. Same error.

How recent is the guix you have? Did you run guix pull and
guix package -u .* recently?




--
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAlmdMKIACgkQ4i+bv+40
hYjn+xAAhWdzUON+OqbjDHdsKjRy5yRqJtIDEHx85EGG/lNk5ZyKkXMeeik5bn+v
24A5NnQhFI94vC6veFrXkJAeli65D62JdlOK7JBBaNHdMET3i6Ul8yygyhCd3SMJ
FJpVhqvFfPULlFScjyHSeNYfEX8ObgV9PxBdnoJZKxUxKHYxPizoyAyjhKQyHaeq
qWGJbrl9QfUdemSwd1rJM7XJ0I8b6FB5XNwJajHzfu/db8SO+KJMV0AlaZKpcKer
smlT71GjBXNevOU52SIOjiQHhBimJhpckTaL4jY5vkXRrcYYQsEKqbDPFtSweNz+
9sgHGiLEyraI7l2OMT9Ev9MOEC/1ZNbPAddtcGXCcAGgqbU0KuLokLeA/QC+bgh/
Yiz/p03/LGo4wwMuVAN4i5DKOrLHFuWVOSQH7h4wJbmgJH6tzz1QCJu67bxCTYz1
n8LWxnCfzIWtHEEpLrVcRxFJz2ThRZPuS34Q2AGs8ZZ5u4mRLVjdu0bHxlc9RSdd
UO12tM0t+tu53ZngvhtAwvoEg3yUH32AjFy74GPUwWVuX7le+JP+yAc1mqFiHheQ
Tt9bP7XU5SnbcsGe+/ER7Y0wLoH0YB39zrY2ML7ZSyC6grCxKvYnkaVxywIs7CBt
LCmwsrnxSyDSsRHTpN1LPxC6OgWnH/RIcwzWER6XmpozLZkvX/8=
=Q7K3
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 23 Aug 2017 23:16
(name . Fredrik Salomonsson)(address . plattfot@gmail.com)(address . 28168@debbugs.gnu.org)
87efs2kmrv.fsf@gnu.org
Hi Fredrik,

Fredrik Salomonsson <plattfot@gmail.com> skribis:

Toggle quote (40 lines)
>>
>> > Failed to set locale.
>> >
>> > then it exits.
>> >
>> > I've set:
>> > GUIX_LOCPATH=$HOME/.guix-profile/lib/locale
>> > LANG=en_US.UTF-8
>> >
>> > Using glibc-locales
>>
>> Does setting LC_ALL instead of LANG help? The LC_* variables take
>> precedence over LANG.
>
> setting LC_ALL didn't work. Same error.
>
> Did a strace on it just to see what's going on.
> Here's the last part just before it exits
>
>> open("/run/current-system/locale/2.25/en_US.UTF-8/LC_IDENTIFICATION",
>> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
>> open("/run/current-system/locale/2.25/en_US.utf8/LC_IDENTIFICATION",
>> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
>> open("/run/current-system/locale/2.25/en_US/LC_IDENTIFICATION",
>> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
>> open("/run/current-system/locale/2.25/en.UTF-8/LC_IDENTIFICATION",
>> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
>> open("/run/current-system/locale/2.25/en.utf8/LC_IDENTIFICATION",
>> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
>> open("/run/current-system/locale/2.25/en/LC_IDENTIFICATION",
>> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
>> write(2, "Failed to set locale.\n", 22) = 22
>> exit_group(1) = ?
>> +++ exited with 1 +++
>>
>
> It's looking for locale specific things in /run/current-system. Which Arch
> doesn't have. Is that a GuixSD specific thing? Don't have GuixSD installed
> at the moment so cannot check myself.

Yes, that’s a GuixSD-specific thing, but if you set GUIX_LOCPATH, then
$GUIX_LOCPATH should take precedence. The strace output you sent
suggests that GUIX_LOCPATH was unset, wasn’t it?

For example, I get:

Toggle snippet (14 lines)
$ GUIX_LOCPATH=/foo strace -e open true --help

[...]

open("/foo/2.25/en_US.utf8/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/run/current-system/locale/2.25/en_US.utf8/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = 3
open("/gnu/store/ybpgv1v7606xw7mafda66w10hiynpiw2-glibc-2.25/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/gnu/store/ybpgv1v7606xw7mafda66w10hiynpiw2-glibc-2.25/lib/gconv/gconv-modules", O_RDONLY|O_CLOEXEC) = 3
open("/foo/2.25/en_US.utf8/LC_MEASUREMENT", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

[...]


HTH,
Ludo’.
F
F
Fredrik Salomonsson wrote on 23 Aug 2017 23:31
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 28168@debbugs.gnu.org)
CABZcOATfN2dVMn+a+qE2ez-KRs2G13FFyviGuYyDzcH+yLoWWA@mail.gmail.com
Hi


Toggle quote (44 lines)
>>
> >> > Failed to set locale.
> >> >
> >> > then it exits.
> >> >
> >> > I've set:
> >> > GUIX_LOCPATH=$HOME/.guix-profile/lib/locale
> >> > LANG=en_US.UTF-8
> >> >
> >> > Using glibc-locales
> >>
> >> Does setting LC_ALL instead of LANG help? The LC_* variables take
> >> precedence over LANG.
> >
> > setting LC_ALL didn't work. Same error.
> >
> > Did a strace on it just to see what's going on.
> > Here's the last part just before it exits
> >
> >> open("/run/current-system/locale/2.25/en_US.UTF-8/LC_IDENTIFICATION",
> >> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> >> open("/run/current-system/locale/2.25/en_US.utf8/LC_IDENTIFICATION",
> >> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> >> open("/run/current-system/locale/2.25/en_US/LC_IDENTIFICATION",
> >> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> >> open("/run/current-system/locale/2.25/en.UTF-8/LC_IDENTIFICATION",
> >> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> >> open("/run/current-system/locale/2.25/en.utf8/LC_IDENTIFICATION",
> >> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> >> open("/run/current-system/locale/2.25/en/LC_IDENTIFICATION",
> >> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> >> write(2, "Failed to set locale.\n", 22) = 22
> >> exit_group(1) = ?
> >> +++ exited with 1 +++
> >>
> >
> > It's looking for locale specific things in /run/current-system. Which
> Arch
> > doesn't have. Is that a GuixSD specific thing? Don't have GuixSD
> installed
> > at the moment so cannot check myself.
>

>
Yes, that’s a GuixSD-specific thing, but if you set GUIX_LOCPATH, then
Toggle quote (4 lines)
> $GUIX_LOCPATH should take precedence. The strace output you sent
> suggests that GUIX_LOCPATH was unset, wasn’t it?
>

Yeah I think it was unset, looked in my .zshrc and I had just added

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

forgot to add export. However it still complained when I set it properly.

Toggle quote (20 lines)
> >
> > > > Failed to set locale.
> > > >
> > > > then it exits.
> > > >
> > > > I've set:
> > > > GUIX_LOCPATH=$HOME/.guix-profile/lib/locale
> > > > LANG=en_US.UTF-8
> > > >
> > > > Using glibc-locales
> > >
> > > Does setting LC_ALL instead of LANG help? The LC_* variables take
> > > precedence over LANG.
> >
> > setting LC_ALL didn't work. Same error.
>
> How recent is the guix you have? Did you run guix pull and
> guix package -u .* recently?
>

I installed the one listed in arch AUR, which is 0.13.0 then did a guix
pull a week ago or so.

Did one this morning and that fixed it! Rofi now starts without any issues.

Question though, do I need to add the regex when updating the packages?
It seems it updated all my packages by just doing guix package -u.

Anyway thanks for helping out, sorry to bother you with a non-issue. You
can mark this bug as PEBCAK

2017-08-23 14:16 GMT-07:00 Ludovic Courtès <ludo@gnu.org>:

Toggle quote (79 lines)
> Hi Fredrik,
>
> Fredrik Salomonsson <plattfot@gmail.com> skribis:
>
> >>
> >> > Failed to set locale.
> >> >
> >> > then it exits.
> >> >
> >> > I've set:
> >> > GUIX_LOCPATH=$HOME/.guix-profile/lib/locale
> >> > LANG=en_US.UTF-8
> >> >
> >> > Using glibc-locales
> >>
> >> Does setting LC_ALL instead of LANG help? The LC_* variables take
> >> precedence over LANG.
> >
> > setting LC_ALL didn't work. Same error.
> >
> > Did a strace on it just to see what's going on.
> > Here's the last part just before it exits
> >
> >> open("/run/current-system/locale/2.25/en_US.UTF-8/LC_IDENTIFICATION",
> >> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> >> open("/run/current-system/locale/2.25/en_US.utf8/LC_IDENTIFICATION",
> >> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> >> open("/run/current-system/locale/2.25/en_US/LC_IDENTIFICATION",
> >> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> >> open("/run/current-system/locale/2.25/en.UTF-8/LC_IDENTIFICATION",
> >> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> >> open("/run/current-system/locale/2.25/en.utf8/LC_IDENTIFICATION",
> >> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> >> open("/run/current-system/locale/2.25/en/LC_IDENTIFICATION",
> >> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> >> write(2, "Failed to set locale.\n", 22) = 22
> >> exit_group(1) = ?
> >> +++ exited with 1 +++
> >>
> >
> > It's looking for locale specific things in /run/current-system. Which
> Arch
> > doesn't have. Is that a GuixSD specific thing? Don't have GuixSD
> installed
> > at the moment so cannot check myself.
>
> Yes, that’s a GuixSD-specific thing, but if you set GUIX_LOCPATH, then
> $GUIX_LOCPATH should take precedence. The strace output you sent
> suggests that GUIX_LOCPATH was unset, wasn’t it?
>
> For example, I get:
>
> --8<---------------cut here---------------start------------->8---
> $ GUIX_LOCPATH=/foo strace -e open true --help
>
> [...]
>
> open("/foo/2.25/en_US.utf8/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = -1
> ENOENT (No such file or directory)
> open("/run/current-system/locale/2.25/en_US.utf8/LC_IDENTIFICATION",
> O_RDONLY|O_CLOEXEC) = 3
> open("/gnu/store/ybpgv1v7606xw7mafda66w10hiynpi
> w2-glibc-2.25/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No
> such file or directory)
> open("/gnu/store/ybpgv1v7606xw7mafda66w10hiynpi
> w2-glibc-2.25/lib/gconv/gconv-modules", O_RDONLY|O_CLOEXEC) = 3
> open("/foo/2.25/en_US.utf8/LC_MEASUREMENT", O_RDONLY|O_CLOEXEC) = -1
> ENOENT (No such file or directory)
>
> [...]
>
> --8<---------------cut here---------------end--------------->8---
>
> HTH,
> Ludo’.
>



--
s/Fred[re]+i[ck]+/Fredrik/g
Attachment: file
L
L
Ludovic Courtès wrote on 24 Aug 2017 23:46
control message for bug #28168
(address . control@debbugs.gnu.org)
874lswiqq4.fsf@gnu.org
tags 28168 notabug
close 28168
R
R
Ricardo Wurmus wrote on 25 Aug 2017 09:50
Re: bug#28168: rofi - Failed to set locale and relink messages
(name . Fredrik Salomonsson)(address . plattfot@gmail.com)
87fucgw0g3.fsf@elephly.net
Fredrik Salomonsson <plattfot@gmail.com> writes:

Toggle quote (3 lines)
> Question though, do I need to add the regex when updating the packages?
> It seems it updated all my packages by just doing guix package -u.

That’s right. When “-u” is the last option on the command line you
don’t need to pass a regular expression.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
?