unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* What's needed to get things building for i586-gnu (the hurd) post core-updates?
@ 2023-05-05 14:09 Christopher Baines
  2023-05-05 14:35 ` Josselin Poiret
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Christopher Baines @ 2023-05-05 14:09 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1459 bytes --]

Hey!

I've been watching the substitute availability numbers recover after the
core-updates merge, but one system where there hasn't been any movement
is i586-gnu. Prior to the merge there were some things building at least
(17% substitute availability [1]), but now no packages seem to build.

1: https://data.guix.gnu.org/revision/472706ae2f9160833951a4e4bcc4c206e03097b0/package-substitute-availability

I've fixed the #<gexp ... in builder script problem for gcc-cross-boot0,
but then I've got a bit stuck on what the remaining issues are.

I think the use of coreutils-boot0 in the source for gcc-boot0 is a
problematic change introduced in core-updates [2], at least
coreutils-boot0 fails to build.

2: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/commencement.scm?id=6922069bcbe5c08da09c00e5aad44e390ebd1cc7#n2328

I've also seen a few test failures in early derivations, I think
findutils-boot0 is among them [3].

3: https://data.guix.gnu.org/gnu/store/rbgsr6dywmcrrd7baymjskfxw5sh08nz-findutils-boot0-4.9.0.drv

You can ask the data service what the blocking builds are for the hurd
[4], which currently reports coreutils-boot0 (which I think is being
pulled in for the gcc-cross-boot0 source as I describe above), and
findutils-boot0 which has the test failures.

4: https://data.guix.gnu.org/revision/3efdc84bbd1819aeef6e2290aaf54bc88ba72dda/blocking-builds?system=i586-gnu&target=none&limit_results=50

Any ideas?

Thanks,

Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: What's needed to get things building for i586-gnu (the hurd) post core-updates?
  2023-05-05 14:09 What's needed to get things building for i586-gnu (the hurd) post core-updates? Christopher Baines
@ 2023-05-05 14:35 ` Josselin Poiret
  2023-05-05 14:59   ` Christopher Baines
  2023-05-05 19:02   ` jbranso
  2023-05-06 13:46 ` Christopher Baines
  2023-05-07 21:31 ` Ludovic Courtès
  2 siblings, 2 replies; 11+ messages in thread
From: Josselin Poiret @ 2023-05-05 14:35 UTC (permalink / raw)
  To: Christopher Baines, guix-devel

[-- Attachment #1: Type: text/plain, Size: 655 bytes --]

Hi Chris,

Christopher Baines <mail@cbaines.net> writes:
> I think the use of coreutils-boot0 in the source for gcc-boot0 is a
> problematic change introduced in core-updates [2], at least
> coreutils-boot0 fails to build.

Just to recap, as you mentioned on IRC, the coreutils configure phase
seems to miss hurd.h, even though it is included in the bootstrap glibc.
It might be due to the coreutils upgrade, since I don't see what else
could've changed this derivation.  I don't have a childhurd at the
moment (because a cross-compiled Hurd fails to run), so I can't really
test native compilation as above :(

Best,
-- 
Josselin Poiret

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 682 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: What's needed to get things building for i586-gnu (the hurd) post core-updates?
  2023-05-05 14:35 ` Josselin Poiret
@ 2023-05-05 14:59   ` Christopher Baines
  2023-05-05 19:02   ` jbranso
  1 sibling, 0 replies; 11+ messages in thread
From: Christopher Baines @ 2023-05-05 14:59 UTC (permalink / raw)
  To: Josselin Poiret; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 812 bytes --]


Josselin Poiret <dev@jpoiret.xyz> writes:

> Christopher Baines <mail@cbaines.net> writes:
>> I think the use of coreutils-boot0 in the source for gcc-boot0 is a
>> problematic change introduced in core-updates [2], at least
>> coreutils-boot0 fails to build.
>
> Just to recap, as you mentioned on IRC, the coreutils configure phase
> seems to miss hurd.h, even though it is included in the bootstrap glibc.
> It might be due to the coreutils upgrade, since I don't see what else
> could've changed this derivation.  I don't have a childhurd at the
> moment (because a cross-compiled Hurd fails to run), so I can't really
> test native compilation as above :(

I think the first bit to look at here is not that coreutils-boot0 is
failing, but why it's started being used, because I'm not even sure
about that.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: What's needed to get things building for i586-gnu (the hurd) post core-updates?
  2023-05-05 14:35 ` Josselin Poiret
  2023-05-05 14:59   ` Christopher Baines
@ 2023-05-05 19:02   ` jbranso
  1 sibling, 0 replies; 11+ messages in thread
From: jbranso @ 2023-05-05 19:02 UTC (permalink / raw)
  To: Christopher Baines, Josselin Poiret; +Cc: guix-devel

May 5, 2023 11:02 AM, "Christopher Baines" <mail@cbaines.net> wrote:

> Josselin Poiret <dev@jpoiret.xyz> writes:
> 
>> Christopher Baines <mail@cbaines.net> writes:
>>> I think the use of coreutils-boot0 in the source for gcc-boot0 is a
>>> problematic change introduced in core-updates [2], at least
>>> coreutils-boot0 fails to build.
>> 
>> Just to recap, as you mentioned on IRC, the coreutils configure phase
>> seems to miss hurd.h, even though it is included in the bootstrap glibc.
>> It might be due to the coreutils upgrade, since I don't see what else
>> could've changed this derivation. I don't have a childhurd at the
>> moment (because a cross-compiled Hurd fails to run), so I can't really
>> test native compilation as above :(
> 
> I think the first bit to look at here is not that coreutils-boot0 is
> failing, but why it's started being used, because I'm not even sure
> about that.

Fun fact of the day, the Debian GNU/Hurd is starting to build 64-bit
packages:

https://lists.gnu.org/archive/html/bug-hurd/2023-05/msg00073.html


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: What's needed to get things building for i586-gnu (the hurd) post core-updates?
  2023-05-05 14:09 What's needed to get things building for i586-gnu (the hurd) post core-updates? Christopher Baines
  2023-05-05 14:35 ` Josselin Poiret
@ 2023-05-06 13:46 ` Christopher Baines
  2023-05-07 11:22   ` Christopher Baines
  2023-05-07 21:31 ` Ludovic Courtès
  2 siblings, 1 reply; 11+ messages in thread
From: Christopher Baines @ 2023-05-06 13:46 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1165 bytes --]


Christopher Baines <mail@cbaines.net> writes:

> I've fixed the #<gexp ... in builder script problem for gcc-cross-boot0,
> but then I've got a bit stuck on what the remaining issues are.

So, when I say "fixed" here, all I managed to do is stop a gexp ending
up in the builder script of gcc-boot0. I managed to fix some of the
problems with the changes I made, but then I tried cross building from
x86_64-linux, up popped a package which failed to build because it was
missing the patch. This is relevant as it blocks machines using
childhurds from reconfiguring past the latest core-updates merge.

While it caused problems, using gexps at least avoided the problem where
you need to have the patch in the native-inputs as well, so to continue
going round in circles, that's maybe the direction to now go. As the
next step though before using gexps in gcc-11, any packages inheriting
from gcc-11 need to be changed to use gexps for the phases.

I've attempted to do that in #63329 [1], I'll wait to see what the data
service makes of the changes to see how successful I've been at avoiding
rebuilds.

1: https://issues.guix.gnu.org/63329

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: What's needed to get things building for i586-gnu (the hurd) post core-updates?
  2023-05-06 13:46 ` Christopher Baines
@ 2023-05-07 11:22   ` Christopher Baines
  0 siblings, 0 replies; 11+ messages in thread
From: Christopher Baines @ 2023-05-07 11:22 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1594 bytes --]


Christopher Baines <mail@cbaines.net> writes:

> [[PGP Signed Part:Undecided]]
>
> Christopher Baines <mail@cbaines.net> writes:
>
>> I've fixed the #<gexp ... in builder script problem for gcc-cross-boot0,
>> but then I've got a bit stuck on what the remaining issues are.
>
> So, when I say "fixed" here, all I managed to do is stop a gexp ending
> up in the builder script of gcc-boot0. I managed to fix some of the
> problems with the changes I made, but then I tried cross building from
> x86_64-linux, up popped a package which failed to build because it was
> missing the patch. This is relevant as it blocks machines using
> childhurds from reconfiguring past the latest core-updates merge.
>
> While it caused problems, using gexps at least avoided the problem where
> you need to have the patch in the native-inputs as well, so to continue
> going round in circles, that's maybe the direction to now go. As the
> next step though before using gexps in gcc-11, any packages inheriting
> from gcc-11 need to be changed to use gexps for the phases.
>
> I've attempted to do that in #63329 [1], I'll wait to see what the data
> service makes of the changes to see how successful I've been at avoiding
> rebuilds.
>
> 1: https://issues.guix.gnu.org/63329

I've merged #63329 now, and also reverted to the gexp based patching in
gcc-11.

The childhurd system test builds for me at least, although it seems to
fail when run.

Native building for i586-gnu seems to have multiple problems, although I
think the gcc-cross-boot0 source issue is the one that seems hardest to
work around to me.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: What's needed to get things building for i586-gnu (the hurd) post core-updates?
  2023-05-05 14:09 What's needed to get things building for i586-gnu (the hurd) post core-updates? Christopher Baines
  2023-05-05 14:35 ` Josselin Poiret
  2023-05-06 13:46 ` Christopher Baines
@ 2023-05-07 21:31 ` Ludovic Courtès
  2023-05-14 15:55   ` Josselin Poiret
  2 siblings, 1 reply; 11+ messages in thread
From: Ludovic Courtès @ 2023-05-07 21:31 UTC (permalink / raw)
  To: Christopher Baines; +Cc: guix-devel, Josselin Poiret

Hello!

Probably the main issue is that childhurds now fail to boot:

  https://issues.guix.gnu.org/62307#23

We can still build “new” i586-gnu binaries on an “old” childhurd, of
course, but to me that’s doing that is less of a priority.

Thanks for looking into this!

Ludo’.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: What's needed to get things building for i586-gnu (the hurd) post core-updates?
  2023-05-07 21:31 ` Ludovic Courtès
@ 2023-05-14 15:55   ` Josselin Poiret
  2023-05-14 18:51     ` Efraim Flashner
  0 siblings, 1 reply; 11+ messages in thread
From: Josselin Poiret @ 2023-05-14 15:55 UTC (permalink / raw)
  To: Ludovic Courtès, Christopher Baines; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1202 bytes --]

Hi Ludo and Chris,

Ludovic Courtès <ludo@gnu.org> writes:

> Hello!
>
> Probably the main issue is that childhurds now fail to boot:
>
>   https://issues.guix.gnu.org/62307#23
>
> We can still build “new” i586-gnu binaries on an “old” childhurd, of
> course, but to me that’s doing that is less of a priority.

[1] should fix this.  We have at least three important failures
regarding native compilation now:

- coreutils doesn't build.  This is because our bootstrap glibc doesn't
  contain all the kernel headers, and coreutils tries to use some of
  them directly.  This should be fixable by adding an additional
  bootstrap input for the Hurd with the missing kernel sources, I'm
  trying to get one right now.

  While discussing with janneke, we also figured out that
  coreutils-boot0 was probably unneeded as it's only used to rm a file
  in an origin later on that could be removed with pure Guile.  That
  would be a world rebuild though so let's leave that for later.

- m4 and findutils both have some failing tests, and they seem to be
  crashing.  I haven't investigated this yet. 

[1] https://issues.guix.gnu.org/63501

-- 
Josselin Poiret

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 682 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: What's needed to get things building for i586-gnu (the hurd) post core-updates?
  2023-05-14 15:55   ` Josselin Poiret
@ 2023-05-14 18:51     ` Efraim Flashner
  2023-05-15 16:46       ` Josselin Poiret
  0 siblings, 1 reply; 11+ messages in thread
From: Efraim Flashner @ 2023-05-14 18:51 UTC (permalink / raw)
  To: Josselin Poiret; +Cc: Ludovic Courtès, Christopher Baines, guix-devel

[-- Attachment #1: Type: text/plain, Size: 1821 bytes --]

On Sun, May 14, 2023 at 05:55:20PM +0200, Josselin Poiret wrote:
> Hi Ludo and Chris,
> 
> Ludovic Courtès <ludo@gnu.org> writes:
> 
> > Hello!
> >
> > Probably the main issue is that childhurds now fail to boot:
> >
> >   https://issues.guix.gnu.org/62307#23
> >
> > We can still build “new” i586-gnu binaries on an “old” childhurd, of
> > course, but to me that’s doing that is less of a priority.
> 
> [1] should fix this.  We have at least three important failures
> regarding native compilation now:
> 
> - coreutils doesn't build.  This is because our bootstrap glibc doesn't
>   contain all the kernel headers, and coreutils tries to use some of
>   them directly.  This should be fixable by adding an additional
>   bootstrap input for the Hurd with the missing kernel sources, I'm
>   trying to get one right now.
> 
>   While discussing with janneke, we also figured out that
>   coreutils-boot0 was probably unneeded as it's only used to rm a file
>   in an origin later on that could be removed with pure Guile.  That
>   would be a world rebuild though so let's leave that for later.

If all you need is to remove coreutils-boot0 from the origin then you
could create a similar boot0 package specifically for the hurd and make
the fix there, and then use the current package or your new one as an
input in later packages based on the architecture.

> - m4 and findutils both have some failing tests, and they seem to be
>   crashing.  I haven't investigated this yet. 
> 
> [1] https://issues.guix.gnu.org/63501
> 
> -- 
> Josselin Poiret



-- 
Efraim Flashner   <efraim@flashner.co.il>   פלשנר אפרים
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: What's needed to get things building for i586-gnu (the hurd) post core-updates?
  2023-05-14 18:51     ` Efraim Flashner
@ 2023-05-15 16:46       ` Josselin Poiret
  2023-05-15 17:11         ` Efraim Flashner
  0 siblings, 1 reply; 11+ messages in thread
From: Josselin Poiret @ 2023-05-15 16:46 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: Ludovic Courtès, Christopher Baines, guix-devel

[-- Attachment #1: Type: text/plain, Size: 477 bytes --]

Hi Efraim,

Efraim Flashner <efraim@flashner.co.il> writes:
> If all you need is to remove coreutils-boot0 from the origin then you
> could create a similar boot0 package specifically for the hurd and make
> the fix there, and then use the current package or your new one as an
> input in later packages based on the architecture.

Unfortunately, it is used in an origin snippet, and there you can't
really case over the target system.

Best,
-- 
Josselin Poiret

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 682 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: What's needed to get things building for i586-gnu (the hurd) post core-updates?
  2023-05-15 16:46       ` Josselin Poiret
@ 2023-05-15 17:11         ` Efraim Flashner
  0 siblings, 0 replies; 11+ messages in thread
From: Efraim Flashner @ 2023-05-15 17:11 UTC (permalink / raw)
  To: Josselin Poiret; +Cc: Ludovic Courtès, Christopher Baines, guix-devel

[-- Attachment #1: Type: text/plain, Size: 1094 bytes --]

On Mon, May 15, 2023 at 06:46:17PM +0200, Josselin Poiret wrote:
> Hi Efraim,
> 
> Efraim Flashner <efraim@flashner.co.il> writes:
> > If all you need is to remove coreutils-boot0 from the origin then you
> > could create a similar boot0 package specifically for the hurd and make
> > the fix there, and then use the current package or your new one as an
> > input in later packages based on the architecture.
> 
> Unfortunately, it is used in an origin snippet, and there you can't
> really case over the target system.
> 

Let me clarify a bit:

Add gcc-boot0-hurd, but with the snippet using guile instead of
coreutils-boot0. Then in (%boot1-inputs) the code gets changed from
("gcc" ,gcc-boot0) to (untested)
("gcc" ,(if (target-hurd?)
            gcc-boot0-hurd
            gcc-boot0))

And then similarly through the rest of gnu/packages/commencement.

-- 
Efraim Flashner   <efraim@flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-05-15 17:12 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-05 14:09 What's needed to get things building for i586-gnu (the hurd) post core-updates? Christopher Baines
2023-05-05 14:35 ` Josselin Poiret
2023-05-05 14:59   ` Christopher Baines
2023-05-05 19:02   ` jbranso
2023-05-06 13:46 ` Christopher Baines
2023-05-07 11:22   ` Christopher Baines
2023-05-07 21:31 ` Ludovic Courtès
2023-05-14 15:55   ` Josselin Poiret
2023-05-14 18:51     ` Efraim Flashner
2023-05-15 16:46       ` Josselin Poiret
2023-05-15 17:11         ` Efraim Flashner

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