unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* `guix build hello' now succeeds on the Hurd
@ 2020-03-06 10:15 Jan Nieuwenhuizen
  2020-03-06 10:41 ` Svante Signell
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Jan Nieuwenhuizen @ 2020-03-06 10:15 UTC (permalink / raw)
  To: guix-devel

Hi Guix!

The situation on the Hurd starts to look pretty good

    janneke@debian:~/src/guix$ ./pre-inst-env guix build hello --no-offload
    /gnu/store/a2sylb94rm1b6qxcp5mqvgiyx9szipz7-hello-2.10
    janneke@debian:~/src/guix$ /gnu/store/a2sylb94rm1b6qxcp5mqvgiyx9szipz7-hello-2.10/bin/hello
    Hello, world!

\o/

Current development lives on the `wip-hurd-bootstrap' branch @ my
personal gitlab

    https://gitlab.com/janneke/guix #wip-hurd-bootstrap

It has some 20 odd patches.  I chose to create workarounds to "get early
success" rather than doing everything right.  While I worked on forward
porting glibc patches, I only took the minimal set that I needed.  Also,
I reverted to make 4.1 instead of debugging why make 4.3 fails (for
now).

Most controversial/problematic is the need to use fairly recent gnumach
and hurd sources.  Somehow the bootstrap in commencement currently tries
to usee GIT versions of those (gnumach-headers-boot0,
hurd-headers-boot0), creating a bootstrap dependency loop.  I tried
building from release tarballs with patches but in the end I "simply"
ran `make dist' for gnumach and hurd and use those source tarballs.

I have built bootstrap tarballs

    ./pre-inst-env guix build --target=i586-pc-gnu bootstrap-tarballs

and put them up at

    http://lilypond.org/janneke/guix/i586-gnu/20200304/

Gnumach and Hurd tarball sources are here

    http://lilypond.org/janneke/hurd

I have included my setup/install instructions in Git

    https://gitlab.com/janneke/guix/-/blob/wip-hurd-bootstrap/THE-HURD

What could be the next step?  We have a stale branch `wip-hurd' at
savannah by Manolis and Efraim's recent wip-hurd-bootstrap (which I
started from, but rewrote).

Shall I push this to savannah as `wip-hurd' (possibly save wip-hurd->
`wip-hurd-old?); I could also rewrite wip-hurd-bootstrap?

When we mave a branch I'd like to open a bug report on merging it,
and setting up build hosts (as discussed with Ricardo on IRC).

Greetings,
janneke

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

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

* Re: `guix build hello' now succeeds on the Hurd
  2020-03-06 10:15 `guix build hello' now succeeds on the Hurd Jan Nieuwenhuizen
@ 2020-03-06 10:41 ` Svante Signell
  2020-03-06 15:44 ` Tanguy Le Carrour
  2020-03-09 17:10 ` Ludovic Courtès
  2 siblings, 0 replies; 8+ messages in thread
From: Svante Signell @ 2020-03-06 10:41 UTC (permalink / raw)
  To: guix-devel

Congratulations!!

On Fri, 2020-03-06 at 11:15 +0100, Jan Nieuwenhuizen wrote:
> Hi Guix!
> 
> The situation on the Hurd starts to look pretty good
> 
>     janneke@debian:~/src/guix$ ./pre-inst-env guix build hello --no-offload
>     /gnu/store/a2sylb94rm1b6qxcp5mqvgiyx9szipz7-hello-2.10
>     janneke@debian:~/src/guix$ /gnu/store/a2sylb94rm1b6qxcp5mqvgiyx9szipz7-
> hello-2.10/bin/hello
>     Hello, world!
> 
> \o/
> 
> Current development lives on the `wip-hurd-bootstrap' branch @ my
> personal gitlab
> 
>     https://gitlab.com/janneke/guix #wip-hurd-bootstrap
> 
> It has some 20 odd patches.  I chose to create workarounds to "get early
> success" rather than doing everything right.  While I worked on forward
> porting glibc patches, I only took the minimal set that I needed.  Also,
> I reverted to make 4.1 instead of debugging why make 4.3 fails (for
> now).
> 
> Most controversial/problematic is the need to use fairly recent gnumach
> and hurd sources.  Somehow the bootstrap in commencement currently tries
> to usee GIT versions of those (gnumach-headers-boot0,
> hurd-headers-boot0), creating a bootstrap dependency loop.  I tried
> building from release tarballs with patches but in the end I "simply"
> ran `make dist' for gnumach and hurd and use those source tarballs.
> 
> I have built bootstrap tarballs
> 
>     ./pre-inst-env guix build --target=i586-pc-gnu bootstrap-tarballs
> 
> and put them up at
> 
>     http://lilypond.org/janneke/guix/i586-gnu/20200304/
> 
> Gnumach and Hurd tarball sources are here
> 
>     http://lilypond.org/janneke/hurd
> 
> I have included my setup/install instructions in Git
> 
>     https://gitlab.com/janneke/guix/-/blob/wip-hurd-bootstrap/THE-HURD
> 
> What could be the next step?  We have a stale branch `wip-hurd' at
> savannah by Manolis and Efraim's recent wip-hurd-bootstrap (which I
> started from, but rewrote).
> 
> Shall I push this to savannah as `wip-hurd' (possibly save wip-hurd->
> `wip-hurd-old?); I could also rewrite wip-hurd-bootstrap?
> 
> When we mave a branch I'd like to open a bug report on merging it,
> and setting up build hosts (as discussed with Ricardo on IRC).
> 
> Greetings,
> janneke
> 

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

* Re: `guix build hello' now succeeds on the Hurd
  2020-03-06 10:15 `guix build hello' now succeeds on the Hurd Jan Nieuwenhuizen
  2020-03-06 10:41 ` Svante Signell
@ 2020-03-06 15:44 ` Tanguy Le Carrour
  2020-03-09 17:10 ` Ludovic Courtès
  2 siblings, 0 replies; 8+ messages in thread
From: Tanguy Le Carrour @ 2020-03-06 15:44 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: guix-devel

Hi Jan,

Le 03/06, Jan Nieuwenhuizen a écrit :
> The situation on the Hurd starts to look pretty good
> 
>     janneke@debian:~/src/guix$ ./pre-inst-env guix build hello --no-offload
>     /gnu/store/a2sylb94rm1b6qxcp5mqvgiyx9szipz7-hello-2.10
>     janneke@debian:~/src/guix$ /gnu/store/a2sylb94rm1b6qxcp5mqvgiyx9szipz7-hello-2.10/bin/hello
>     Hello, world!
> 
> \o/

Congrats'!

I've been a Hurd enthusiast for quite a long time and I thank you for this work!

Cheers!

-- 
Tanguy

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

* Re: `guix build hello' now succeeds on the Hurd
  2020-03-06 10:15 `guix build hello' now succeeds on the Hurd Jan Nieuwenhuizen
  2020-03-06 10:41 ` Svante Signell
  2020-03-06 15:44 ` Tanguy Le Carrour
@ 2020-03-09 17:10 ` Ludovic Courtès
  2020-03-09 18:11   ` Ricardo Wurmus
  2020-03-10  8:59   ` Jan Nieuwenhuizen
  2 siblings, 2 replies; 8+ messages in thread
From: Ludovic Courtès @ 2020-03-09 17:10 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: guix-devel

Hello!

Jan Nieuwenhuizen <janneke@gnu.org> skribis:

> The situation on the Hurd starts to look pretty good
>
>     janneke@debian:~/src/guix$ ./pre-inst-env guix build hello --no-offload
>     /gnu/store/a2sylb94rm1b6qxcp5mqvgiyx9szipz7-hello-2.10
>     janneke@debian:~/src/guix$ /gnu/store/a2sylb94rm1b6qxcp5mqvgiyx9szipz7-hello-2.10/bin/hello
>     Hello, world!
>
> \o/

Woohoo!  Congrats!

How do you run guix-daemon?  (In the future it’d be great to perhaps
implement Linux namespaces on the Hurd in libc.)

> It has some 20 odd patches.  I chose to create workarounds to "get early
> success" rather than doing everything right.  While I worked on forward
> porting glibc patches, I only took the minimal set that I needed.  Also,
> I reverted to make 4.1 instead of debugging why make 4.3 fails (for
> now).

OK.

> Most controversial/problematic is the need to use fairly recent gnumach
> and hurd sources.

That’s OK IMO.

> What could be the next step?

Merging what you have—the earlier the better.  :-)

> Shall I push this to savannah as `wip-hurd' (possibly save wip-hurd->
> `wip-hurd-old?);

Yup, sounds like a plan.

> I could also rewrite wip-hurd-bootstrap?

Dunno!

To me, the difficult bit with porting and bootstrapping work is making
sure that bootstrap.scm/commencement.scm/base.scm/cross-base.scm remain
maintainable.  All this complexity adds up so we must spend time trying
to, for instance, minimize variation across platforms/OSes.  Every line
of code and above all every conditional avoided in these files is a win
in the not-so-long term.  That’d be my guideline as we merge it.  :-)

Anyhow, thumbs up!  I’m looking forward to merging it and having it
built on CI (we could offload to a Debian VM!)!

Ludo’.

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

* Re: `guix build hello' now succeeds on the Hurd
  2020-03-09 17:10 ` Ludovic Courtès
@ 2020-03-09 18:11   ` Ricardo Wurmus
  2020-03-10  9:26     ` Jan Nieuwenhuizen
  2020-03-10  8:59   ` Jan Nieuwenhuizen
  1 sibling, 1 reply; 8+ messages in thread
From: Ricardo Wurmus @ 2020-03-09 18:11 UTC (permalink / raw)
  To: guix-devel


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

> Anyhow, thumbs up!  I’m looking forward to merging it and having it
> built on CI (we could offload to a Debian VM!)!

My sentiments exactly!  I’d be happy to put up a bunch of Debian
GNU/Hurd VMs on the nodes behind ci.guix.gnu.org.

-- 
Ricardo

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

* Re: `guix build hello' now succeeds on the Hurd
  2020-03-09 17:10 ` Ludovic Courtès
  2020-03-09 18:11   ` Ricardo Wurmus
@ 2020-03-10  8:59   ` Jan Nieuwenhuizen
  2020-03-10 15:04     ` bug#40006: " Manolis Ragkousis
  1 sibling, 1 reply; 8+ messages in thread
From: Jan Nieuwenhuizen @ 2020-03-10  8:59 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel, 40006

Ludovic Courtès writes:

>> The situation on the Hurd starts to look pretty good
>>
>>     janneke@debian:~/src/guix$ ./pre-inst-env guix build hello --no-offload
>>     /gnu/store/a2sylb94rm1b6qxcp5mqvgiyx9szipz7-hello-2.10
>>     janneke@debian:~/src/guix$ /gnu/store/a2sylb94rm1b6qxcp5mqvgiyx9szipz7-hello-2.10/bin/hello
>>     Hello, world!
>>
>> \o/
>
> Woohoo!  Congrats!
>
> How do you run guix-daemon?  (In the future it’d be great to perhaps
> implement Linux namespaces on the Hurd in libc.)

I have slightly cleaned-up a patch by Manolis so that I can run

    sudo ./pre-inst-env guix-daemon --disable-chroot --build-users-group=guixbuild &

This and other useful recipes I have noted in my scratchbook on the Hurd

   https://gitlab.com/janneke/guix/-/blob/wip-hurd-system/THE-HURD

I briefly looked at more work-in-progress daemon patches by Manolis, but
stopped when I found that it needs [t]his "new" libhurdutils library...
@Manolis?

> Merging what you have—the earlier the better.  :-)
>> Shall I push this to savannah as `wip-hurd' (possibly save wip-hurd->
>> `wip-hurd-old?);
>
> Yup, sounds like a plan.

Great, thanks, done; follow-up here!

    https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40006
    https://issues.guix.info/issue/40006

>> I could also rewrite wip-hurd-bootstrap?
>
> Dunno!
>
> To me, the difficult bit with porting and bootstrapping work is making
> sure that bootstrap.scm/commencement.scm/base.scm/cross-base.scm remain
> maintainable.  All this complexity adds up so we must spend time trying
> to, for instance, minimize variation across platforms/OSes.  Every line
> of code and above all every conditional avoided in these files is a win
> in the not-so-long term.  That’d be my guideline as we merge it.  :-)
>
> Anyhow, thumbs up!  I’m looking forward to merging it and having it
> built on CI (we could offload to a Debian VM!)!

Yes, that would be awesome!

janneke

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

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

* Re: `guix build hello' now succeeds on the Hurd
  2020-03-09 18:11   ` Ricardo Wurmus
@ 2020-03-10  9:26     ` Jan Nieuwenhuizen
  0 siblings, 0 replies; 8+ messages in thread
From: Jan Nieuwenhuizen @ 2020-03-10  9:26 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Ricardo Wurmus writes:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Anyhow, thumbs up!  I’m looking forward to merging it and having it
>> built on CI (we could offload to a Debian VM!)!
>
> My sentiments exactly!  I’d be happy to put up a bunch of Debian
> GNU/Hurd VMs on the nodes behind ci.guix.gnu.org.

Thanks, yes that would be great!  We just identified the wish to get
make-4.3 to work; which could mean another couple of rebuild world
rounds...

janneke

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

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

* bug#40006: `guix build hello' now succeeds on the Hurd
  2020-03-10  8:59   ` Jan Nieuwenhuizen
@ 2020-03-10 15:04     ` Manolis Ragkousis
  0 siblings, 0 replies; 8+ messages in thread
From: Manolis Ragkousis @ 2020-03-10 15:04 UTC (permalink / raw)
  To: Jan Nieuwenhuizen, Ludovic Courtès; +Cc: guix-devel, 40006

Hello Jan,

First of all awesome work!!

On 3/10/20 10:59 AM, Jan Nieuwenhuizen wrote:
> I briefly looked at more work-in-progress daemon patches by Manolis, but
> stopped when I found that it needs [t]his "new" libhurdutils library...
> @Manolis?
> 

This is that work
https://github.com/Phant0mas/Hurd/commit/3501ee22ad4150b3b2cf9a386d2350b9a68aecd8.patch

It was working, needed some cleanup but it never got merged. What is
does is implement mount and bind mounts using the hurd firmlinks.

>> Merging what you have—the earlier the better.  :-)
>>> Shall I push this to savannah as `wip-hurd' (possibly save wip-hurd->
>>> `wip-hurd-old?);

I don't think we need to keep the old wip-hurd. Just get rid of it.

Manolis

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

end of thread, other threads:[~2020-03-10 15:04 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-06 10:15 `guix build hello' now succeeds on the Hurd Jan Nieuwenhuizen
2020-03-06 10:41 ` Svante Signell
2020-03-06 15:44 ` Tanguy Le Carrour
2020-03-09 17:10 ` Ludovic Courtès
2020-03-09 18:11   ` Ricardo Wurmus
2020-03-10  9:26     ` Jan Nieuwenhuizen
2020-03-10  8:59   ` Jan Nieuwenhuizen
2020-03-10 15:04     ` bug#40006: " Manolis Ragkousis

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