unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [GSoC update] Porting Guix to GNU/Hurd
@ 2015-08-19 19:23 Manolis Ragkousis
  2015-08-19 19:29 ` Samuel Thibault
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Manolis Ragkousis @ 2015-08-19 19:23 UTC (permalink / raw)
  To: Guix-devel, GNU Hurd; +Cc: Samuel Thibault

Hello everyone,

As the hard pencil down date approaches, I believe it's time for a detailed
report on my progress till now. I will start with what we have right now and
then continue with what problems I had and what I did.
First let's see what we have now, working.

1) Guix can successfully cross-build any package for the Hurd and produce
the bootstrap-tarballs to build packages with Guix natively on such a system.

2) Guix can build the native final toolchain.

3) Guix can build packages natively using the final toolchain.

Even though most of the work is already present in the wip-hurd branch, there
are still some patches to be reviewed/merged. This will happen asap.

But nevertheless we can safely say we have ported Guix to Hurd. :-)

Now problems I have faced during my work.

1) CHROOT_ENABLED was evaluated to false in the daemon nix/libstore/build.cc.
Mark pointed out the correct solution and I will send the patch shortly.
2) guix/build/syscalls (mount, umount, setns ) Those aren't available
on Hurd, so
building Guix would fail. It seems turning them into procedures is
enough to work
around this.
3) We had a problem with binaries not being able to find and link
against libmachuser &
libhurduser It seems adding the two to libc.so's search path was enough.
4) Perl could not be build because of a problem with memmove in hurd's
glibc. Together
with Samuel and Justus we traced the problem to a not properly tested
part of glibc.
Fixed.
5) glibc-intermediate could not find the gnumach/hurd headers because
of unsetting the
path during the build process. It seems that glibc's sysdeps/mach and
sysdeps/mach/hurd
configure weren't using the --with-headers variable to get the
headers. Fixed that and sent
the patch to bug-hurd :-).
6) Binaries produced from gcc-boot0 had problems with their runpath
and validate-runpath?
was failing. It seems ld wasn't passing -rpath to them. Added an
ld-wrapper, solved.
7) glibc-final's debug output refers to %glibc-bootstrap. I think this
happens indirectly through
the headers, currently solving that.

I think those are most of the problems I faced. Well those are the
ones that were worked on and
solved after Ludo left for vacations. I avoid referring to problems
discussed and solved in mails earlier
than that.

Also, I am near finishing sys/mount.h for Hurd. Will finish it as soon
as possible.

I get the feeling I forgot some things so please remind/ask me
anything. For the next two
days I will wrap up patches and push them to wip-hurd. After that I
will continue working on
getting the full GuixSD experience on Hurd. And one of these days we
will deploy guix on
darnassus together with rbraunr. I will inform you when that happens.

Please feel free to ask me anything.

Thank you,
Manolis

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

* Re: [GSoC update] Porting Guix to GNU/Hurd
  2015-08-19 19:23 [GSoC update] Porting Guix to GNU/Hurd Manolis Ragkousis
@ 2015-08-19 19:29 ` Samuel Thibault
  2015-08-19 20:27 ` Taylan Ulrich Bayırlı/Kammer
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Samuel Thibault @ 2015-08-19 19:29 UTC (permalink / raw)
  To: Manolis Ragkousis; +Cc: Guix-devel, GNU Hurd

Hello,

Congrats!!

Samuel

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

* Re: [GSoC update] Porting Guix to GNU/Hurd
  2015-08-19 19:23 [GSoC update] Porting Guix to GNU/Hurd Manolis Ragkousis
  2015-08-19 19:29 ` Samuel Thibault
@ 2015-08-19 20:27 ` Taylan Ulrich Bayırlı/Kammer
  2015-08-20 17:17   ` Daniel Pimentel
  2015-08-20 18:32   ` Amirouche Boubekki
  2015-08-20 17:19 ` Daniel Pimentel
  2015-08-23 17:44 ` Ludovic Courtès
  3 siblings, 2 replies; 8+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2015-08-19 20:27 UTC (permalink / raw)
  To: Manolis Ragkousis; +Cc: Guix-devel, GNU Hurd, Samuel Thibault

Manolis Ragkousis <manolis837@gmail.com> writes:

> [...]
>
> But nevertheless we can safely say we have ported Guix to Hurd. :-)
>
> [...]

Amazing news! :-)

Thanks so much for working on this.  I haven't tried out Hurd so far but
am meaning to do so eventually; sounds like my first Hurd system will be
GuixSD at the same time.  So much awesome in one system.

Taylan

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

* Re: [GSoC update] Porting Guix to GNU/Hurd
  2015-08-19 20:27 ` Taylan Ulrich Bayırlı/Kammer
@ 2015-08-20 17:17   ` Daniel Pimentel
  2015-08-20 18:32   ` Amirouche Boubekki
  1 sibling, 0 replies; 8+ messages in thread
From: Daniel Pimentel @ 2015-08-20 17:17 UTC (permalink / raw)
  To: taylanbayirli
  Cc: Guix-devel, guix-devel-bounces+d4n1=opmbx.org, GNU Hurd,
	Samuel Thibault

On 2015-08-19 17:27, taylanbayirli@gmail.com wrote:
> Manolis Ragkousis <manolis837@gmail.com> writes:
> 
>> [...]
>> 
>> But nevertheless we can safely say we have ported Guix to Hurd. :-)
>> 
>> [...]
> 
> Amazing news! :-)
> 
> Thanks so much for working on this.  I haven't tried out Hurd so far 
> but
> am meaning to do so eventually; sounds like my first Hurd system will 
> be
> GuixSD at the same time.  So much awesome in one system.
> 
> Taylan
Amazing!

GuixSD + Hurd = 3:D

Thanks Guixs 3:)

3:) = GNU Head kkk

-- 
Daniel Pimentel (d4n1 3:)

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

* Re: [GSoC update] Porting Guix to GNU/Hurd
  2015-08-19 19:23 [GSoC update] Porting Guix to GNU/Hurd Manolis Ragkousis
  2015-08-19 19:29 ` Samuel Thibault
  2015-08-19 20:27 ` Taylan Ulrich Bayırlı/Kammer
@ 2015-08-20 17:19 ` Daniel Pimentel
  2015-08-23 17:44 ` Ludovic Courtès
  3 siblings, 0 replies; 8+ messages in thread
From: Daniel Pimentel @ 2015-08-20 17:19 UTC (permalink / raw)
  To: Manolis Ragkousis
  Cc: Guix-devel, guix-devel-bounces+d4n1=opmbx.org, GNU Hurd,
	Samuel Thibault

On 2015-08-19 16:23, Manolis Ragkousis wrote:
> Hello everyone,
> 
> As the hard pencil down date approaches, I believe it's time for a 
> detailed
> report on my progress till now. I will start with what we have right 
> now and
> then continue with what problems I had and what I did.
> First let's see what we have now, working.
> 
> 1) Guix can successfully cross-build any package for the Hurd and 
> produce
> the bootstrap-tarballs to build packages with Guix natively on such a 
> system.
> 
> 2) Guix can build the native final toolchain.
> 
> 3) Guix can build packages natively using the final toolchain.
> 
> Even though most of the work is already present in the wip-hurd branch, 
> there
> are still some patches to be reviewed/merged. This will happen asap.
> 
> But nevertheless we can safely say we have ported Guix to Hurd. :-)
> 
> Now problems I have faced during my work.
> 
> 1) CHROOT_ENABLED was evaluated to false in the daemon 
> nix/libstore/build.cc.
> Mark pointed out the correct solution and I will send the patch 
> shortly.
> 2) guix/build/syscalls (mount, umount, setns ) Those aren't available
> on Hurd, so
> building Guix would fail. It seems turning them into procedures is
> enough to work
> around this.
> 3) We had a problem with binaries not being able to find and link
> against libmachuser &
> libhurduser It seems adding the two to libc.so's search path was 
> enough.
> 4) Perl could not be build because of a problem with memmove in hurd's
> glibc. Together
> with Samuel and Justus we traced the problem to a not properly tested
> part of glibc.
> Fixed.
> 5) glibc-intermediate could not find the gnumach/hurd headers because
> of unsetting the
> path during the build process. It seems that glibc's sysdeps/mach and
> sysdeps/mach/hurd
> configure weren't using the --with-headers variable to get the
> headers. Fixed that and sent
> the patch to bug-hurd :-).
> 6) Binaries produced from gcc-boot0 had problems with their runpath
> and validate-runpath?
> was failing. It seems ld wasn't passing -rpath to them. Added an
> ld-wrapper, solved.
> 7) glibc-final's debug output refers to %glibc-bootstrap. I think this
> happens indirectly through
> the headers, currently solving that.
> 
> I think those are most of the problems I faced. Well those are the
> ones that were worked on and
> solved after Ludo left for vacations. I avoid referring to problems
> discussed and solved in mails earlier
> than that.
> 
> Also, I am near finishing sys/mount.h for Hurd. Will finish it as soon
> as possible.
> 
> I get the feeling I forgot some things so please remind/ask me
> anything. For the next two
> days I will wrap up patches and push them to wip-hurd. After that I
> will continue working on
> getting the full GuixSD experience on Hurd. And one of these days we
> will deploy guix on
> darnassus together with rbraunr. I will inform you when that happens.
> 
> Please feel free to ask me anything.
> 
> Thank you,
> Manolis
Congratulation Manolis, Ludo and Guixs 3:)

Thanks,
-- 
Daniel Pimentel (d4n1 3:)

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

* Re: [GSoC update] Porting Guix to GNU/Hurd
  2015-08-19 20:27 ` Taylan Ulrich Bayırlı/Kammer
  2015-08-20 17:17   ` Daniel Pimentel
@ 2015-08-20 18:32   ` Amirouche Boubekki
  2015-08-21  6:54     ` Alex Sassmannshausen
  1 sibling, 1 reply; 8+ messages in thread
From: Amirouche Boubekki @ 2015-08-20 18:32 UTC (permalink / raw)
  To: taylanbayirli
  Cc: Guix-devel, guix-devel-bounces+amirouche=hypermove.net, GNU Hurd,
	Samuel Thibault

Le 2015-08-19 22:27, taylanbayirli@gmail.com a écrit :
> Manolis Ragkousis <manolis837@gmail.com> writes:
> 
>> [...]
>> 
>> But nevertheless we can safely say we have ported Guix to Hurd. :-)
>> 
>> [...]
> 
> Amazing news! :-)
> 
> Thanks so much for working on this.  I haven't tried out Hurd so far 
> but
> am meaning to do so eventually; sounds like my first Hurd system will 
> be
> GuixSD at the same time.  So much awesome in one system.

I second that. Thanks :)


-- 
Amirouche ~ amz3 ~ http://www.hyperdev.fr

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

* Re: [GSoC update] Porting Guix to GNU/Hurd
  2015-08-20 18:32   ` Amirouche Boubekki
@ 2015-08-21  6:54     ` Alex Sassmannshausen
  0 siblings, 0 replies; 8+ messages in thread
From: Alex Sassmannshausen @ 2015-08-21  6:54 UTC (permalink / raw)
  To: Amirouche Boubekki
  Cc: Guix-devel, taylanbayirli,
	guix-devel-bounces+amirouche=hypermove.net, GNU Hurd,
	Samuel Thibault

Amirouche Boubekki writes:

> Le 2015-08-19 22:27, taylanbayirli@gmail.com a écrit:
>> Manolis Ragkousis <manolis837@gmail.com> writes:
>> 
>>> [...]
>>> 
>>> But nevertheless we can safely say we have ported Guix to Hurd. :-)
>>> 
>>> [...]
>> 
>> Amazing news! :-)
>> 
>> Thanks so much for working on this.  I haven't tried out Hurd so far 
>> but
>> am meaning to do so eventually; sounds like my first Hurd system will 
>> be
>> GuixSD at the same time.  So much awesome in one system.
>
> I second that. Thanks :)

+1

Congratulations on your good progress, Manolis!

Alex

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

* Re: [GSoC update] Porting Guix to GNU/Hurd
  2015-08-19 19:23 [GSoC update] Porting Guix to GNU/Hurd Manolis Ragkousis
                   ` (2 preceding siblings ...)
  2015-08-20 17:19 ` Daniel Pimentel
@ 2015-08-23 17:44 ` Ludovic Courtès
  3 siblings, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2015-08-23 17:44 UTC (permalink / raw)
  To: Manolis Ragkousis; +Cc: Guix-devel, GNU Hurd, Samuel Thibault

Hi!

Manolis Ragkousis <manolis837@gmail.com> skribis:

> 1) Guix can successfully cross-build any package for the Hurd and produce
> the bootstrap-tarballs to build packages with Guix natively on such a system.
>
> 2) Guix can build the native final toolchain.
>
> 3) Guix can build packages natively using the final toolchain.
>
> Even though most of the work is already present in the wip-hurd branch, there
> are still some patches to be reviewed/merged. This will happen asap.
>
> But nevertheless we can safely say we have ported Guix to Hurd. :-)

Congratulations on that!  That’s a great achievement, and I know there
were some bumps on the road, and the project covers several very
different pieces of software, so thumbs up!

> 2) guix/build/syscalls (mount, umount, setns ) Those aren't available
> on Hurd, so
> building Guix would fail. It seems turning them into procedures is
> enough to work
> around this.

This module is only used by GuixSD anyway (not Guix itself), so no
problem.

In the interim, we should perhaps arrange to not build that module when,
say, ‘mount’ is missing (using an ‘AM_CONDITIONAL’.)

> 4) Perl could not be build because of a problem with memmove in hurd's
> glibc. Together
> with Samuel and Justus we traced the problem to a not properly tested
> part of glibc.
> Fixed.

Pheew.  :-)

> 5) glibc-intermediate could not find the gnumach/hurd headers because
> of unsetting the
> path during the build process. It seems that glibc's sysdeps/mach and
> sysdeps/mach/hurd
> configure weren't using the --with-headers variable to get the
> headers. Fixed that and sent
> the patch to bug-hurd :-).

OK.

> 6) Binaries produced from gcc-boot0 had problems with their runpath
> and validate-runpath?
> was failing. It seems ld wasn't passing -rpath to them. Added an
> ld-wrapper, solved.

Interesting, will look at the patch hopefully soon.

> 7) glibc-final's debug output refers to %glibc-bootstrap. I think this
> happens indirectly through
> the headers, currently solving that.

Would be nice to understand why that happens.  In the meantime you could
disable #:allowed-references altogether for that package when on
GNU/Hurd, if you want.

> Also, I am near finishing sys/mount.h for Hurd. Will finish it as soon
> as possible.

Great!

> I get the feeling I forgot some things so please remind/ask me
> anything. For the next two
> days I will wrap up patches and push them to wip-hurd. After that I
> will continue working on
> getting the full GuixSD experience on Hurd. And one of these days we
> will deploy guix on
> darnassus together with rbraunr. I will inform you when that happens.

Excellent.  Thanks to the Hurd and Guix people for giving you a hand!

Cheers,
Ludo’.

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

end of thread, other threads:[~2015-08-23 17:44 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-19 19:23 [GSoC update] Porting Guix to GNU/Hurd Manolis Ragkousis
2015-08-19 19:29 ` Samuel Thibault
2015-08-19 20:27 ` Taylan Ulrich Bayırlı/Kammer
2015-08-20 17:17   ` Daniel Pimentel
2015-08-20 18:32   ` Amirouche Boubekki
2015-08-21  6:54     ` Alex Sassmannshausen
2015-08-20 17:19 ` Daniel Pimentel
2015-08-23 17:44 ` Ludovic Courtès

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