commit:     b64d15e731e3d6a7671f0ec6c34a20203cf2609d
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 18 22:53:37 2016 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Mon Apr 18 22:53:37 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b64d15e7

sys-process/numactl: fix build w/newer glibc #580098

 .../numactl/files/numactl-2.0.11-sysmacros.patch   | 41 ++++++++++++++++++++++
 sys-process/numactl/numactl-2.0.11.ebuild          |  1 +
 2 files changed, 42 insertions(+)

diff --git a/sys-process/numactl/files/numactl-2.0.11-sysmacros.patch 
b/sys-process/numactl/files/numactl-2.0.11-sysmacros.patch
new file mode 100644
index 0000000..3f95367
--- /dev/null
+++ b/sys-process/numactl/files/numactl-2.0.11-sysmacros.patch
@@ -0,0 +1,41 @@
+https://bugs.gentoo.org/580098
+
+From c1644f92e340d797e490c41a9ef9961125d202b9 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <[email protected]>
+Date: Mon, 18 Apr 2016 18:49:51 -0400
+Subject: [PATCH] include sys/sysmacros.h for major/minor
+
+These functions are not part of any official spec, and glibc has always
+kept them in sys/sysmacros.h.  As glibc moves to conform to POSIX, and
+more alternative C libraries come up, we need to include this header
+explicitly to get the prototypes.  Otherwise we fail to build like:
+
+affinity.c: In function 'affinity_file':
+affinity.c:177:7: warning: implicit declaration of function 'major' 
[-Wimplicit-function-declaration]
+   if (major(d) != maj || minor(d) != min)
+       ^
+affinity.c:177:26: warning: implicit declaration of function 'minor' 
[-Wimplicit-function-declaration]
+   if (major(d) != maj || minor(d) != min)
+                          ^
+./.libs/libnuma.so: undefined reference to 'minor'
+./.libs/libnuma.so: undefined reference to 'major'
+collect2: error: ld returned 1 exit status
+---
+ affinity.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/affinity.c b/affinity.c
+index 9fbd6af..984291c 100644
+--- a/affinity.c
++++ b/affinity.c
+@@ -40,6 +40,7 @@
+ #include <linux/rtnetlink.h>
+ #include <linux/netlink.h>
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+ #include <ctype.h>
+ #include <assert.h>
+ #include <regex.h>
+-- 
+2.7.4
+

diff --git a/sys-process/numactl/numactl-2.0.11.ebuild 
b/sys-process/numactl/numactl-2.0.11.ebuild
index 7300b7b..4eb1b9e 100644
--- a/sys-process/numactl/numactl-2.0.11.ebuild
+++ b/sys-process/numactl/numactl-2.0.11.ebuild
@@ -21,6 +21,7 @@ ECONF_SOURCE=${S}
 src_prepare() {
        epatch "${FILESDIR}"/${PN}-2.0.8-cpuid-pic.patch #456238
        epatch "${FILESDIR}"/${PN}-2.0.10-numademo-cflags.patch #540856
+       epatch "${FILESDIR}"/${PN}-2.0.11-sysmacros.patch #580098
        eautoreconf
        # We need to copy the sources or else tests will fail
        multilib_copy_sources

Reply via email to