help-guix
[Top][All Lists]
Advanced

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

Re: successful installation, but problems updating


From: Leo Famulari
Subject: Re: successful installation, but problems updating
Date: Fri, 10 Nov 2017 11:28:18 -0500
User-agent: Mutt/1.9.1 (2017-09-22)

> Thomas Sigurdsen <address@hidden> writes:
> 
> >> Secondly, I noted that with, e.g., 'guix package -i kodi' software gets
> >> compiled.  I understood that GNU Guix is capable of both binary and
> >> source packages.  Which should I typically expect?  Can I choose?

Guix is a build-from-source system that can transparently download
pre-compiled binary "substitutes" when they are available, and when this
substitution method has been authorized by the user. On GuixSD, it's
authorized by default. Here's the documentation of substitution:

https://www.gnu.org/software/guix/manual/guix.html#Substitutes

If your Guix is relatively up to date [0], you've authorized a
substitute server, and you can connect to the European internet, then
most things will be substituted. But usually there will be a few things
to build from source anyways.

You can choose to never use substitutes by de-authorizing all substitute
signing keys [1] or by passing --no-substitutes to the guix-daemon or
any of the commands that build things [2].

Since Guix is ultimately a build-from-source system, there is currently
no way to disable building from source.

[...]

On Thu, Nov 09, 2017 at 09:58:30PM -0800, Chris Marusich wrote:
> Anecdotally, I swear I've seen guix build some things from source even
> when I did not specify --fallback.  Has anybody else seen that occur?

That's expected. If substitutes are enabled, when running a command that
builds things, Guix asks the substitute servers what can be substituted.
If some thing is not available as a substitute, Guix will build it.

However, if a substitute is reported to be available, but then the
substitution fails for any reason, Guix will stop.

'--fallback' is relevant in this case, and is meant to work around flaky
substitute servers, network connections, etc. The documentation says:
"When substituting a pre-built binary fails, fall back to building
packages locally." [2]

Substition is considered to fail when Guix is expecting a substitute but
the server returns 404, 504, or some other unexpected problem occurs. It
is not considered to fail if the server initially reports that no
substitute is available.

[0] Not more than a few months behind, I'd guess.

[1]
https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-archive.html

[2] --no-substitutes and --fallback are "common build options":
https://www.gnu.org/software/guix/manual/html_node/Common-Build-Options.html

Attachment: signature.asc
Description: PGP signature


reply via email to

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