unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Mark H Weaver <mhw@netris.org>
To: Bone Baboon <bone.baboon@disroot.org>
Cc: 48024@debbugs.gnu.org
Subject: bug#48024: glib-2.62.6 build fails i686
Date: Mon, 03 May 2021 23:56:15 -0400	[thread overview]
Message-ID: <87eeennocl.fsf@netris.org> (raw)
In-Reply-To: <87fsz3jx58.fsf@disroot.org>

Hi,

Bone Baboon <bone.baboon@disroot.org> writes:

> Mark H Weaver writes:
>> 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

Did you also run "make"?

> 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`

Hmm.  Can you please grep the build log for "TIMEOUT" and
"increase-test-timeout", and show me the matching lines?

>> Alternatively, you *might* be able to build 'glib' successfully by not
>> doing anything else with your machine while it's building 'glib'.  [...]
>
> 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.

Oh well, thanks for trying.

>> (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.

I outlined how I use Guix in the following message:

  https://lists.gnu.org/archive/html/guix-devel/2021-03/msg00625.html

However, note that there are some significant caveats and "rough edges"
to this approach.  I can't recommend it in good conscience, unless you
truly need the extreme flexibility that it provides.

To avoid the rough edges, I'd suggest using "guix pull --url" as
outlined in the last two paragraphs of the message above.  For most
purposes, I suspect you'd be much happier with that approach.

> This is how I think a substitute server workflow could be modified to
> use this approach.  I would appreciate corrections or suggestions.

I'll postpone commenting on most of these, in case you decide to use the
"guix pull --url" method.  A few comments though:

> Substitute server clients would have a channel for the patched
> repository and no channel for the official Guix repository.

I've never used channels, and I'm not sure off-hand how to make them
work with my unusual approach.

> 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>`

This wouldn't work.  It's not enough to merely ask 'guix' to use your
substitute server.  If you did this, your clients would use the official
Guix package descriptions from our 'master' branch, but would look for
builds of those official packages on your substitute server.

To make this work, you would _also_ need to pass "--url <YOUR_GIT_REPO>"
each time you run 'guix pull' on your client machines.

Alternatively, if you chose to use my unusual approach, you'd need to
have built git checkouts of your custom branch of Guix on each of your
client machines, and run Guix from those git checkouts.

      Regards,
        Mark

-- 
Disinformation flourishes because many people care deeply about injustice
but very few check the facts.  Ask me about <https://stallmansupport.org>.




  parent reply	other threads:[~2021-05-04  3:58 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
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 [this message]
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=87eeennocl.fsf@netris.org \
    --to=mhw@netris.org \
    --cc=48024@debbugs.gnu.org \
    --cc=bone.baboon@disroot.org \
    /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).