guix-devel
[Top][All Lists]
Advanced

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

Re: guix environment guix -pure can't locate lesspipe


From: Julien Lepiller
Subject: Re: guix environment guix -pure can't locate lesspipe
Date: Tue, 23 Mar 2021 20:04:41 -0400
User-agent: K-9 Mail for Android


Le 23 mars 2021 18:25:38 GMT-04:00, c4t0 <c4t0@riseup.net> a écrit :
>
>Hi,
>
>I'm having trouble importing a package from hackage, so I tried to
>debug
>the import source code. After cloning guix I found that I can't start a
>pure environment:
>
>guix environment guix --pure --ad-hoc help2man git strace
>Command 'lesspipe' is available in the following places
> * /bin/lesspipe
> * /usr/bin/lesspipe
>The command could not be located because '/bin:/usr/bin' is not
>included in the PATH environment variable.
>lesspipe: command not found

This is probably because a start file from bash or your shell uses lesspipe, 
but it's not available in the environment. Something similar happens to me on 
Fedora where it wants to install software that's already there. I simply deny 
the request to install, as it's not a fatal error.

>
>If I use --container it works:
>
>$guix environment guix --pure --ad-hoc help2man git strace lesspipe
>--container
>me@mypc ~/guix/git/guix [env]$
>
>but then I have problems connecting with the daemond:
>./pre-inst-env guix build hello
>guix build: error: failed to connect
>to`/usr/local/var/guix/daemon-socket/socket': No such file or directory

Here, you probably.forgot to pass --localstatedir as documented in the manual. 
If you don't do so, it might result in a broken guix installation!

>
>(also there isn't any file in my user environment with that name)
>
>So I have to run guix environment with --network and start one:
>$guix environment guix --pure --ad-hoc help2man git strace lesspipe
>--container
>me@mypc ~/guix/git/guix [env]$
>
>and then
>./pre-inst-env guix-daemon &
>and
>./pre-inst-env guix build hello
>
>it appears to work, but really I don't know if i'm making a mess at
>this point... I can't pass --build-users-group=guixbuild because it
>doesn't exist inside the container.
>And besides more that one daemon in the same store shurely produces
>nasty race conditions.

You shouldn't run guix-daemon from the checkout. It is not needed. Normally, 
you should be able to share /var/guix inside the container, but the container 
itself should not be needed.

>
>I think that running inside a container should be the way
>to do it but using the store in read-only mode to avoid installing
>stuff
>(or maybe that is not a problem since it can be GC later?) or providing
>a way to connect with the running daemon.
>
>So i'm asking if the last things that I do are safe, and should be
>included in the manual, because it take me a while to figure it out.

No, they're not safe. You might have corrupted guix's database, which might 
result in errors down the road. I'd suggest that you run guix gc 
--verify=contents to make sure your store is alright.

>
>or we have a problem with non containerized environment for guix
>development. Any ideas what might be the problem?
>
>or there isn't any need even to start a guix environment... (do not
>think so)
>
>COD



reply via email to

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