From: Bone Baboon via Bug reports for GNU Guix <bug-guix@gnu.org>
To: Mark H Weaver <mhw@netris.org>
Cc: 48024@debbugs.gnu.org, raingloom <raingloom@riseup.net>
Subject: bug#48024: glib-2.62.6 build fails i686
Date: Mon, 03 May 2021 18:00:19 -0400 [thread overview]
Message-ID: <87fsz3jx58.fsf@disroot.org> (raw)
In-Reply-To: <871ravqeg1.fsf@netris.org>
Thank you for your helpful response.
Would a patch like this that addresses test timeouts be good to have in
the Guix repository? It would help other Guix users who also run into
test timeouts when building glib.
Mark H Weaver writes:
> I also build everything locally, and have sometimes run into problems
> like this on my slower machines. Overly aggressive test timeouts,
> chosen for powerful developer machines, are annoying.
What are the benefits of aggressive test timeouts chosen for powerful
developer machines?
> The following patch, applied to your copy of Guix, should work around
> the problem:
>
> --8<---------------cut here---------------start------------->8---
> diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
> index c04bd334e9..b8f509306d 100644
> --- a/gnu/packages/glib.scm
> +++ b/gnu/packages/glib.scm
> @@ -230,7 +230,8 @@ shared NFS home directories.")
> #t)))
> ;; TODO: Remove the conditional in the next core-updates cycle.
> ;; Needed to build glib on slower ARM nodes.
> - ,@(if (string-prefix? "arm" (%current-system))
> + ,@(if (or (string-prefix? "arm" (%current-system))
> + (string-prefix? "i686" (%current-system)))
> `((add-after 'unpack 'increase-test-timeout
> (lambda _
> (substitute* "meson.build"
> --8<---------------cut here---------------end--------------->8---
>
> To use this patch, you'll need to apply it to a Git checkout of Guix,
> build it, and then use "/PATH-TO-GIT-CHECKOUT/pre-inst-env guix ..."
> whenever building anything with Guix that depends on glib.
Preparation steps taken:
1) cloned the Guix repository
2) ran `./bootstrap`
3) ran `./configure --localstatedir=/var/`
4) checked out a branch
5) applied the patch
Then in the branch of the Guix repository with the patch applied I ran
the following commands which failed with test timeouts.
`./pre-inst-env guix build --no-substitutes glib`
`./pre-inst-env guix build --no-substitutes --cores=2 glib`
`./pre-inst-env guix build --no-substitutes --cores=3 glib`
> Alternatively, you *might* be able to build 'glib' successfully by not
> doing anything else with your machine while it's building 'glib'. I
> notice that in your original bug report, only the "1bit-mutex" test
> timed out, but in your later build attempt, a total of 5 tests timed
> out. These differing results suggest that you might have been running
> other programs at the same time.
I tried this by having only ssh running so I could connect. Then on a
virtual terminal I ran `guix build --no-substitutes --cores=2 glib`.
This failed with test timeouts.
> (Incidentally, I *always* use Guix this way, using my own private branch
> of Guix, never using "guix pull", and never using substitutes.)
This is interesting to me.
This is how I think a substitute server workflow could be modified to
use this approach. I would appreciate corrections or suggestions.
On the substitute server
Remove the official Guix substitute server from /etc/guix/acl.
Instead of: `guix pull --no-substitutes`
It would be: `git pull <official-guix-repo>` and merge the updated Guix
repository with the local patched repository.
Instead of: `guix build --no-substitues <package>`
It would be: `/<path-to-patched-repo>/pre-inst-env guix build <package>`
Instead of: `guix publish <options>`
It would be: `/<path-to-patched-repo>/pre-inst-env guix publish
<options>`
Instead of: `sudo guix system --no-substitutes reconfigure
<configuration>`
It would be: `sudo /<path-to-patched-repo>/pre-inst-env guix system
reconfigure <configuration>`
Substitute server clients would have a channel for the patched
repository and no channel for the official Guix repository.
The commands stay the same on the clients of the substitute server.
`guix pull --substitute-urls=<substitute-server-ip>:<port>`
`sudo guix system --subsitute-urls=<substitute-server-ip>:<port>
reconfigure <configuration>`
next prev parent reply other threads:[~2021-05-03 22:02 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-26 3:35 bug#48024: glib-2.62.6 build fails i686 Bone Baboon via Bug reports for GNU Guix
2021-04-26 15:26 ` raingloom
2021-04-27 19:25 ` Bone Baboon via Bug reports for GNU Guix
2021-04-28 3:23 ` Mark H Weaver
2021-05-03 22:00 ` Bone Baboon via Bug reports for GNU Guix [this message]
2021-05-04 0:38 ` Leo Famulari
2021-05-04 3:01 ` Mark H Weaver
2021-05-04 6:18 ` Efraim Flashner
2021-05-04 20:01 ` Mark H Weaver
2021-05-04 20:08 ` Mark H Weaver
2021-05-04 22:52 ` Bone Baboon via Bug reports for GNU Guix
2021-05-05 8:38 ` Efraim Flashner
2021-05-05 21:15 ` Bone Baboon via Bug reports for GNU Guix
2021-05-06 0:20 ` Mark H Weaver
2021-05-06 0:35 ` Bone Baboon via Bug reports for GNU Guix
2021-05-06 6:45 ` Efraim Flashner
2021-05-06 9:06 ` Bengt Richter
2021-05-06 17:44 ` Bone Baboon via Bug reports for GNU Guix
2021-05-07 17:46 ` Mark H Weaver
2021-05-08 13:26 ` Bengt Richter
2022-03-18 2:26 ` Maxim Cournoyer
2021-05-04 3:56 ` Mark H Weaver
2021-05-05 16:34 ` Bone Baboon via Bug reports for GNU Guix
2021-05-06 8:46 ` Mark H Weaver
2021-05-06 19:36 ` Bone Baboon via Bug reports for GNU Guix
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87fsz3jx58.fsf@disroot.org \
--to=bug-guix@gnu.org \
--cc=48024@debbugs.gnu.org \
--cc=bone.baboon@disroot.org \
--cc=mhw@netris.org \
--cc=raingloom@riseup.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).