Package: glusterfs
Version: 3.5.2-1
Severity: wishlist
Tags: patch
User: debian-...@lists.debian.org
Usertags: port-x32 ftbfs-x32

Hi!
I'm afraid that glusterfs fails to build on new architectures.  This is
caused by deprecated #include <sysctl.h>, which compiles successfully on
old architectures, but on new archs like x32, contains nothing but a #error
with an explanatory message.

The sysctl(2) syscall isn't used by glusterfs on Linux on runtime (it would
spam syslog if called), so it's safe to remove its header.  The attached
patch does this.


-- System Information:
Debian Release: 8.0
  APT prefers unstable
  APT policy: (600, 'unstable'), (500, 'unreleased'), (50, 'experimental')
Architecture: x32 (x86_64)

Kernel: Linux 3.19.0-x32 (SMP w/6 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Description: don't #include <sysctl.h>
 On Linux, the sysctl(2) syscall has been gone for ages.  On most old
 architectures, it remains a stub that spams syslog on use attempts;
 on new archs even trying to #include its header results in a build failure.

--- glusterfs-3.5.2.orig/xlators/mount/fuse/src/fuse-helpers.c
+++ glusterfs-3.5.2/xlators/mount/fuse/src/fuse-helpers.c
@@ -14,7 +14,7 @@
 #include "fuse-bridge.h"
 #if defined(GF_SOLARIS_HOST_OS)
 #include <sys/procfs.h>
-#else
+#elif defined GF_BSD_HOST_OS || defined GF_DARWIN_HOST_OS
 #include <sys/sysctl.h>
 #endif
 

Reply via email to