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

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