* `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; 9+ 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] 9+ 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; 9+ 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] 9+ 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; 9+ 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] 9+ 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
` (2 more replies)
2 siblings, 3 replies; 9+ 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] 9+ 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
2020-03-10 8:59 ` Jan Nieuwenhuizen
2 siblings, 1 reply; 9+ 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] 9+ messages in thread
* bug#40006: `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 8:59 ` Jan Nieuwenhuizen
2 siblings, 0 replies; 9+ 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] 9+ 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
2020-03-10 8:59 ` Jan Nieuwenhuizen
2 siblings, 1 reply; 9+ 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] 9+ 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; 9+ 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] 9+ 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; 9+ 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] 9+ messages in thread
end of thread, other threads:[~2020-03-10 15:05 UTC | newest]
Thread overview: 9+ 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
2020-03-10 8:59 ` Jan Nieuwenhuizen
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.