guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GSoC update] Porting Guix to GNU/Hurd


From: Manolis Ragkousis
Subject: [GSoC update] Porting Guix to GNU/Hurd
Date: Wed, 19 Aug 2015 22:23:34 +0300

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]