[[!meta copyright="Copyright © 2011, 2012 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]]."]]"""]] [[!meta date="2012-03-21 19:30 UTC"]] A quarter of the Hurd, Q4 of 2011: *Nix-based builds* and *bounty: slab allocator merged*. [[!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 contributed a [continuously-built Nix-based QEMU image](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00042.html), raising the count of GNU/Hurd distributions to three: [[Debian GNU/Hurd|hurd/running/debian]], [[hurd/running/Arch_Hurd]], and now [[hurd/running/Nix]]. His build is still pretty basic, but a step into the right direction: [[!wikipedia "continuous integration"]] is a great facility for automated testing. Samuel Thibault followed suit with a [new Debian GNU/Hurd disk set](http://lists.debian.org/debian-hurd/2011/12/msg00095.html) as a christmas gift, and [identified](http://lists.debian.org/debian-hurd/2011/11/msg00095.html) three easy porting cases with solutions: * undefined reference to `dl_*`: add `-ldl` for building * undefined reference to `main`: missing `gnu*` case in the linking part of `configure.ac` or `.in` * 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 [finished integration](http://lists.gnu.org/archive/html/bug-hurd/2011-12/msg00046.html) of the slab allocator. From [[IRC]], freenode, #hurd, 2011-11-14: there shouldn't be any noticeable difference [...] a bit less fragmentation more memory can be reclaimed by the VM system there are debugging features it's SMP ready and overall cleaner than the zone allocator although a bit slower on the free path (because of what's performed to reduce fragmentation) but even "slower" here is completely negligible This also [concludes](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00140.html) our first [[FOSS Factory|donate#FOSS_Factory]] project -- one [[tag/bounty]] has been redeemed, more are waiting. Sergio Lopez documented his work on [[better_memory_management_and_memfs|Sergio_Lopez]], making it easier for other hackers to join in working on that topic. Our hackers also used the quarter for porting a good number of packages and fixing bugs. After fixing quirks in the Hurd's memory management system, Sergio Lopez [reported success building webkitgtk+](http://lists.debian.org/debian-hurd/2011/10/msg00025.html), whose build stresses the available memory resources on a 32-bit architecture to a large extent. Svante Signell was busy, too: [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), [e2fsprogs' quota](http://lists.debian.org/debian-hurd/2011/10/msg00015.html). Samuel Thibault handled [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). Bouju Alain [submitted a patch](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00079.html) to support `/proc/cpuinfo`. Ludovic Courtès contributed a patch to [allow for `/hurd/init` being symlink](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00032.html), made the Hurd [build with glibc 2.14+](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00025.html), and [worked with the GNU coreutils team](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00067.html) on a few issues. Pino Toscano improved [`recvfrom` with `NULL` address ports](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00161.html). Maksym Planeta continued working on [tmpfs](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00118.html). Samuel Thibault turned `/dev/random` and `/dev/urandom` into [native translators](http://lists.debian.org/debian-hurd/2011/11/msg00092.html), modernized [libtool's configuration](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00073.html), [mknod's cleanup in error cases](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00070.html), [fixed POSIX 2008 visibility](http://lists.gnu.org/archive/html/bug-hurd/2011-12/msg00004.html), and fixed an [[!debbug 645285 desc="issue in `setresuid` that broke `sudo`"]]. [Pino Toscano](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00013.html) and [Thomas Schwinge](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00020.html) improved key handling in libpthread. 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 system to x86_64|open_issues/64-bit_port]]. 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]]. """]]