guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Foreign distro GUIX_LOCPATH errors when installing from manual


From: Ludovic Courtès
Subject: Re: Foreign distro GUIX_LOCPATH errors when installing from manual
Date: Mon, 11 Jul 2016 12:07:56 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Hello!

address@hidden skribis:

> I was just getting started with Guix by installing it on my regular
> distro, Debian Jessie, by following the manual (which is really great -
> I tried installing Nix first but couldn't get it to work, the Guix
> manual is much better).
>
> The install was successful but I noticed two errors related to
> GUIX_LOCPATH which I had to fix by asking others for advice. Both happen
> when running guix package commands as a regular user, by running
> /usr/local/bin/guix.
>
> - substitute: warning: failed to install locale: Invalid argument
>
> This was a result of the daemon, running as root, not having
> GUIX_LOCPATH set in its environment.
>
> My solution was installing glibc-locale in root's profile, and adding:
>
>     Environment=GUIX_LOCPATH=/root/.guix_profile/lib/locale
>
> to the [Service] section of the systemd unit file used to start the
> daemon. I suggest that this line should be added to the unit file
> shipped with guix,

Agreed.  Someone else made a similar suggestion and the patch is being
committed:

  https://lists.gnu.org/archive/html/guix-devel/2016-07/msg00223.html

> and that the installation instructions say to install glibc-locale (or
> some other locale package) in root's profile.

They already say so under “Application Setup”, but maybe that should be
made more prominent?

  
https://www.gnu.org/software/guix/manual/html_node/Application-Setup.html#Locales

> - warning: failed to install locale: Invalid argument
>
> This was a result of the user running guix not having GUIX_LOCPATH set
> in their current environment. But, keep in mind, the user is running
> guix through /usr/local/bin/guix, which is in fact a symlink to root's
> guix.
>
> I suggest that the appropriate solution is to instead of symlinking
> /usr/local/bin/guix to
> /var/guix/profiles/per-user/root/guix-profile/bin/guix, we should
> replace /usr/local/bin/guix with the following shell script:
>
>     #!/bin/sh
>     export 
> GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale
>     /var/guix/profiles/per-user/root/guix-profile/bin/guix $*
>
> That is, root's guix should be run with root's locales.

I think we should do that only when GUIX_LOCPATH is unset, but yes, this
is a good idea.

I’m not sure how to implement it exactly; it seems cumbersome to ask
users to write such a script.  Thoughts?

Maybe the binary tarball should provide a short, readable ‘install.sh’
script that would do everything the “Binary Installation” section
describes, including this extra step?

Thanks,
Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]