Subject: Re: bug#26366: [PATCH] doc: Specify that Guix should be built from within a container.

From: [email-masked] (Ludovic Courtès)
Date: Thu, 13 Apr 2017 23:23:06 +0200

Hello!

Clément Lassieur <[email-masked]> skribis:

> Ludovic Courtès <[email-masked]> writes:
>
>> Clément Lassieur <[email-masked]> skribis:
>>
>>> * doc/contributing.texi: add '--container' and '--network' options to the
>>> 'guix environment guix' command.
>>
>> [...]
>>
>>> +course, by using Guix!  The following command starts a new shell within
>>> +an isolated container where all the dependencies and appropriate
>>> +environment variables are set up to hack on Guix:
>>>  
>>>  @example
>>> -guix environment guix
>>> +guix environment --container --network guix
>>>  @end example
>>
>> What’s the rationale?  Was this to address the warnings in your first
>> message?
>
> This was both to address the warnings in my first message, and my build
> error.  I apologize if my message is (still) not clear, but it is
> difficult to reproduce those bugs, since they are state-dependent.

Yeah, I see.

>> It’s possible and a good way to silence the warnings you were seeing,
>> but it should work fine without it too.
>
> I don't understand why it should work fine.  Guix (or Guile-SSH, for
> example) both depend on Guile 2.0 (which is an input).  But let's say
> that on my system, Guile 2.2 is installed instead.  I want to build Guix
> (or Guile-SSH).  I usually do 'guix environment guix' (or 'guix
> environment guile-ssh').  Then, in my opinion, 'guile --version' should
> output 2.0, but it outputs 2.2.  Is it supposed to build with the wrong
> Guile?  (If I do 'guix environment -C guix', then 'guile --version'
> outputs 2.0.)

‘guix environment’ definitely prepends things to PATH et al.

Could it be that you have variable definitions in the wrong Bash init
files as noted in
<https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-environment.html#FOOT14>?

HTH!

Ludo’.