[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’.