[Buildroot] [PATCH 1/2] package/irqbalance: use pkg-config to find numa

Arnout Vandecappelle arnout at mind.be
Mon Aug 2 16:33:56 UTC 2021



On 01/08/2021 23:46, Fabrice Fontaine wrote:
> Use pkg-config to find numa to avoid the following build failure when
> checking for numa_available:
> 
> configure:9667: checking for numa_available in -lnuma
> configure:9692: /tmp/instance-7/output-1/host/bin/microblazeel-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os   -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -static conftest.c -lnuma   >&5
> /tmp/instance-7/output-1/host/opt/ext-toolchain/bin/../lib/gcc/microblazeel-buildroot-linux-uclibc/9.3.0/../../../../microblazeel-buildroot-linux-uclibc/bin/ld: /tmp/instance-7/output-1/host/microblazeel-buildroot-linux-uclibc/sysroot/usr/lib/libnuma.a(libnuma.o): in function `numa_node_to_cpus_v1':
> (.text+0x2a80): undefined reference to `__atomic_fetch_and_1'
> /tmp/instance-7/output-1/host/opt/ext-toolchain/bin/../lib/gcc/microblazeel-buildroot-linux-uclibc/9.3.0/../../../../microblazeel-buildroot-linux-uclibc/bin/ld: /tmp/instance-7/output-1/host/microblazeel-buildroot-linux-uclibc/sysroot/usr/lib/libnuma.a(libnuma.o): in function `numa_node_to_cpus_v2':
> (.text+0x2ddc): undefined reference to `__atomic_fetch_and_1'
> collect2: error: ld returned 1 exit status
> 
> Fixes:
>  - http://autobuild.buildroot.org/results/577a63432fba2f9ae1ed2c6c2a77c5ce54ac5521
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>

 Both applied to master, thanks.

 I've applied as-is even though what got merged upstream is actually a bit
different. The fallback mechanism is however harmless for us, and it's easier
for me this way :-)

 Regards,
 Arnout

> ---
>  ...igure.ac-use-pkg-config-to-find-numa.patch | 38 +++++++++++++++++++
>  1 file changed, 38 insertions(+)
>  create mode 100644 package/irqbalance/0002-configure.ac-use-pkg-config-to-find-numa.patch
> 
> diff --git a/package/irqbalance/0002-configure.ac-use-pkg-config-to-find-numa.patch b/package/irqbalance/0002-configure.ac-use-pkg-config-to-find-numa.patch
> new file mode 100644
> index 0000000000..751367ccfb
> --- /dev/null
> +++ b/package/irqbalance/0002-configure.ac-use-pkg-config-to-find-numa.patch
> @@ -0,0 +1,38 @@
> +From 274cb8ea470a10ce46b783e77784b0eb08cf20d8 Mon Sep 17 00:00:00 2001
> +From: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> +Date: Sun, 1 Aug 2021 23:26:01 +0200
> +Subject: [PATCH] configure.ac: use pkg-config to find numa
> +
> +Use pkg-config to find numa and fallback to current mechanism.
> +Thanks to pkg-config, numa dependencies such as -latomic will be
> +retrieved.
> +
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> +[Upstream status: https://github.com/Irqbalance/irqbalance/pull/188]
> +---
> + configure.ac | 9 ++++++++-
> + 1 file changed, 8 insertions(+), 1 deletion(-)
> +
> +diff --git a/configure.ac b/configure.ac
> +index c45b9ce..50c62ba 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -23,7 +23,14 @@ AC_CHECK_HEADERS([numa.h])
> + 
> + AC_CHECK_FUNCS(getopt_long)
> + 
> +-AC_CHECK_LIB(numa, numa_available)
> ++PKG_CHECK_MODULES([NUMA], [numa], [has_numa=yes], [AC_CHECK_LIB(numa, numa_available)])
> ++AS_IF([test "x$has_numa" = "xyes"], [
> ++  AC_SUBST([NUMA_CFLAGS])
> ++  AC_SUBST([NUMA_LIBS])
> ++  LIBS="$LIBS $NUMA_LIBS"
> ++  AC_SUBST([LIBS])
> ++])
> ++
> + AC_CHECK_LIB(m, floor)
> + 
> + PKG_CHECK_MODULES([GLIB2], [glib-2.0], [], [AC_MSG_ERROR([glib-2.0 is required])])
> +-- 
> +2.30.2
> +
> 


More information about the buildroot mailing list