all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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>`




  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

* 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 external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.