[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] A month of the Hurd: *nix-based builds, *slab allocator*, and *life filesystem debugging*. [[!if test="included()" then="""[[!toggle id=full_news text="Details."]][[!toggleable id=full_news text="[[!paste id=full_news]]"]]""" else=" [[!paste id=full_news]]"]] [[!cut id="full_news" text=""" This quarter Ludovic Courtès added a [Continuously-built Nix-based QEMU image](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00047.html), raising the count of Hurd distributions to 3: Debian, Arch and now Nix. His build is still pretty basic, but continuous integration is a great feature for testing images. Also he added a [modern Autoconf initialization](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00068.html), [allowed /hurd/init to be a symlink](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00032.html) and made the Hurd [build with Savannah’s libc (2.14+)](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00025.html), getting the Nix distribution even more towards the cutting edge. Samuel Thibault followed up with a [new debian disk set](http://lists.debian.org/debian-hurd/2011/12/msg00095.html) as christmas gift, turned /dev/urandom into a [native translator](http://lists.debian.org/debian-hurd/2011/11/msg00092.html) and [identified](http://lists.debian.org/debian-hurd/2011/11/msg00095.html) three easy porting cases with solutions: - undefined reference to dl_foo: add -ldl for building - undefined reference to `main': missing gnu* case in the linking part of configure.ac or .in (pd-* packages are already being handled by their maintainer) - undefined reference to clock_gettime or crypt: add -lrt or -lcrypt These should help all those who want to help [[porting_packages|hurd/porting/]]. Maksym Planeta and Richard Braun committed [the last patches](http://lists.gnu.org/archive/html/bug-hurd/2011-12/msg00046.html) for integration of the slab allocator, making the memory allocator of GNU Mach SMP ready again. From IRC, freenode, #hurd, 2011-11-14: (22:30:39) braunr: there shouldn't be any noticeable difference with the master branch (22:30:46) braunr: a bit less fragmentation (22:30:55) braunr: more memory can be reclaimed by the VM system (22:31:02) braunr: there are debugging features (22:31:06) braunr: it's SMP ready (22:31:15) braunr: and overall cleaner than the zone allocator (22:31:31) braunr: although a bit slower on the free path (because of what's performed to reduce fragmentation) (22:32:42) braunr: but even "slower" here is completely negligible Also Richard Brauh added [Exodar](http://exodar.debian.net), a new porter box. It is faster and more reliable, which facilitates testing and bug hunting. Additionally [[documentation_of_the_I/O_Path|hurd/io_path/]]]] was improved and Sergio Lopez documented his work on [[Better_Memory_Management_and_memfs|user/Sergio_Lopez/]] to make it easier for other hackers to work on the Hurd. Our hackers also used the quarter for porting a good number of packages. Sergio Lopez took care of [webkitgtk+](http://lists.debian.org/debian-hurd/2011/10/msg00025.html), while Svante Signell from [Arch Hurd](http://archhurd.org) went on a porting rampage with [pax](http://lists.debian.org/debian-hurd/2011/10/msg00105.html), [abiword](http://lists.debian.org/debian-hurd/2011/11/msg00035.html), [syslog-ng](http://lists.debian.org/debian-hurd/2011/11/msg00060.html), [ecl](http://lists.debian.org/debian-hurd/2011/11/msg00058.html), [fakeroot](http://lists.debian.org/debian-hurd/2011/12/msg00022.html), [daemon](http://lists.debian.org/debian-hurd/2011/12/msg00025.html) and [procps](http://lists.debian.org/debian-hurd/2011/12/msg00046.html) and Samuel Thibault from [Debian GNU/Hurd](http://www.debian.org/ports/hurd/) followed up with [packagekit](http://lists.debian.org/debian-hurd/2011/10/msg00071.html), [evolution](http://lists.debian.org/debian-hurd/2011/10/msg00070.html), [emacs23 ](http://lists.debian.org/debian-hurd/2011/12/msg00018.html), [gcc-4.7](http://lists.debian.org/debian-hurd/2011/12/msg00065.html) and [iceweasel (firefox)](http://lists.debian.org/debian-hurd/2011/12/msg00080.html). Also Bouju Alain [submitted](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00079.html) [patches](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00084.html) to support cpuinfo in the /proc interface. Additionally many many bugs were found and squashed, by Pino Toscano ([recvfrom() with null](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00161.html)), Maksym Planeta ([tmpfs](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00118.html)), Samuel Thibault ([libtool](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00073.html), [mknod](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00070.html), [Fix POSIX 2008 visibility](http://lists.gnu.org/archive/html/bug-hurd/2011-12/msg00004.html), [sudo setresuid](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=645285)), Jim Meyering ([gnu tools with user id 4294967295](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00094.html)), Paul Eggert ([Add error-checking on GNU](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00130.html), Pino Toscano and Thomas Schwinge ([improved pthread](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00013.html)) and Svante Signell ([e2fsprogs quota](http://lists.debian.org/debian-hurd/2011/10/msg00015.html) to list only the ones who posted their fixes on the mailing list. Also Guillem Jover [fixed Mach's int vs long discrepancy](http://lists.debian.org/debian-hurd/2011/10/msg00053.html), which takes us the first step towards porting the Hurd to x64. And there are now social network sites for GNU Hurd on [Google+](https://plus.google.com/114942488385711891227#114942488385711891227/posts) and the AGPL licensed [identi.ca](http://identi.ca/group/hurd), to make it easier to stay in touch. As a final note, we want to share a story about real-life debugging with the Hurd: yay GNU/Hurd I have added i_translator check in e2fsck, it was missing I had a volume that was keeping making ext2fs crash with a reproductible scenario could easily work out it was i_translator, then add a check to e2fsck, run it, which indeed fixed, them, and voilà, ext2fs was working again all that on the same machine with *no* system reboot just ext2fs restart :) So if you want to join us in our journey to realize more of the promises of the architecture of the Hurd, please [[get_in_contact|contact_us]] -- and maybe already grab the [[source_code|source_repositories]] and have fun hacking on free software! --- The **GNU Hurd** is the GNU project's replacement for the Unix kernel. It is a collection of servers that run on the Mach microkernel to implement file systems, network protocols, file access control, and other features that are implemented by the Unix kernel or similar kernels (such as Linux). [[More detailed|hurd/documentation]]. **GNU Mach** is the microkernel upon which a GNU Hurd system is based. It provides an Inter Process Communication (IPC) mechanism that the Hurd uses to define interfaces for implementing in a distributed multi-server fashion the services a traditional operating system kernel provides. [[More detailed|microkernel/mach/gnumach]]. """]]