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
?
Your comment

This issue is archived.

To comment on this conversation send an email to 28168@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 28168
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch