Fails to build on GNU/Hurd
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Gearman |
Incomplete
|
Wishlist
|
Brian Aker |
Bug Description
gearmand 1.1.8 does not compile on GNU/Hurd. Also, there are failures when running the test suite.
The attached patch fixes the following issues:
* libtest/timer.cc
The code in the __MACH__ blocks is specific to Mac OS X; since GNU/Hurd runs on a Mach-based microkernel (gnumach), __MACH__ is defined by the compiler, leading to compile issues. The solution is just changing the checked symbol (__APPLE__) so it is really used only on Mac OS X.
* libhostile/t/pipe.c
pipe(NULL) returns EINVAL as errno on Hurd (which seems legit), so extend the check to allow EINVAL too.
* libtest/unittest.cc
The Hurd implementation of posix_spawn in glibc fails straight away when the filename does not exist, i.e. what happens in application_
There are other failures though, some of which seem due to SOCK_CLOEXEC and SOCK_NONBLOCK defined but not supported (yet) for socket (but they are in accept4, for example). So even if not all the issues are fixed, the provided ones could be checked in anyway, and at least allow to compile gearmand on GNU/Hurd and reduce the failures.
Thanks!
I'll see if it is simple to add a GNU/Hurd system to check for regressions.