diff mbox series

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

Message ID 20210801214601.566970-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [1/2] package/irqbalance: use pkg-config to find numa | expand

Commit Message

Fabrice Fontaine Aug. 1, 2021, 9:46 p.m. UTC
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@gmail.com>
---
 ...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

Comments

Arnout Vandecappelle Aug. 2, 2021, 4:33 p.m. UTC | #1
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@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@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@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
> +
>
Peter Korsgaard Aug. 7, 2021, 8:47 p.m. UTC | #2
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:

 > 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@gmail.com>

Committed to 2021.02.x and 2021.05.x, thanks.
diff mbox series

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@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@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
+