help-guix
[Top][All Lists]
Advanced

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

Re: How long does it usually take to pull --no-substitutes?


From: Steve George
Subject: Re: How long does it usually take to pull --no-substitutes?
Date: Mon, 22 May 2023 11:12:52 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0

Hi,

On 20/05/2023 12:05, Zelphir Kaltstahl wrote:
Hello Guix users!

Recently I had an issue when I did a `guix pull`, so I tried `guix pull --no-substitutes`. My understanding is, that substitutes are platform specific pre-built binaries, which one can download from the guix servers, instead of building them oneself. (Please correct me, if this is wrong.) So I thought, that most time would be spent compiling things and hopefully compiling many things in parallel as much as possible, to speed up the whole process. However, guix seemed stuck at some "build phase". I waited for like 2h or so, but it was still at that build phase. Is this normal? How long does it usually take to run with no substitutes? I guess it also depends on what one has in ones profile, so here is my output of `guix pacakge -i`:

It will take a lot longer to download and build, rather than use substitutions.

Each package is built one after another, Guix doesn't build them in parallel AFAIK. If one of the packages in a transaction doesn't build then the transaction will fail unless you provide the `--keep-going` switch.

Sounds like one of the packages failed to build - so none of the packages were updated.

It should tell you right in the output which one is failing and give you a log.

How long it takes a package to compile depends on the size of the package, the capabilities of your system and how much of your system you've allowed Guix to use. I find the options for guix build --max-jobs very useful.

It's pretty variable how long things take: at one extreme Chromium takes over 10 hours to compile on my poor laptop!

When a build fails the easiest way to see what is happening is to view the log and go into the environment to see what's happening:

  $ guix build --no-substitutes --keep-failed <package>

The section on 'Debugging Build Failures' is particularly useful [0]

I generally do what you suggest and build the smallest subset of packages myself if there is no other choice (no substitute) - otherwise I'm just wasting resources - though building Chromium once was fun!

Best of luck,

Futurile

[0] https://guix.gnu.org/en/manual/en/guix.html#Debugging-Build-Failures










reply via email to

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