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
