From ebf9fa28e380a808c6b823a675447167ec0b0db0 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Mon, 18 Sep 2023 22:37:11 +0200 Subject: [PATCH] package/util-linux: fix build with uclibc-ng < 1.0.42 Define static_assert if needed to avoid the following build failure with uclibc-ng < 1.0.42 raised since bump to version 2.39 in commit ad276d94a392fb13244e042851a44269e6254d61 and https://github.com/util-linux/util-linux/commit/0ff57406522ba78ba829df7a64903b3066afb75f: /home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabihf/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabihf/bin/ld: ./.libs/libsmartcols.so: undefined reference to `static_assert' Fixes: - http://autobuild.buildroot.org/results/c3d38d92557ee9e59b717b85f6307810d5de1487 Signed-off-by: Fabrice Fontaine Signed-off-by: Thomas Petazzoni --- package/util-linux/util-linux-libs/util-linux-libs.mk | 3 +++ package/util-linux/util-linux.mk | 3 +++ 2 files changed, 6 insertions(+) diff --git a/package/util-linux/util-linux-libs/util-linux-libs.mk b/package/util-linux/util-linux-libs/util-linux-libs.mk index 20566345c6..e1fe1ec191 100644 --- a/package/util-linux/util-linux-libs/util-linux-libs.mk +++ b/package/util-linux/util-linux-libs/util-linux-libs.mk @@ -52,6 +52,9 @@ UTIL_LINUX_LIBS_CONF_OPTS += --disable-widechar # No libs use ncurses UTIL_LINUX_LIBS_CONF_OPTS += --without-ncursesw --without-ncurses +# workaround for static_assert on uclibc-ng < 1.0.42 +UTIL_LINUX_LIBS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -Dstatic_assert=_Static_assert" + # Unfortunately, the util-linux does LIBS="" at the end of its # configure script. So we have to pass the proper LIBS value when # calling the configure script to make configure tests pass properly, diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk index 73eda5c171..72126adb00 100644 --- a/package/util-linux/util-linux.mk +++ b/package/util-linux/util-linux.mk @@ -96,6 +96,9 @@ endif UTIL_LINUX_CONF_OPTS += --without-ncursesw --without-ncurses endif +# workaround for static_assert on uclibc-ng < 1.0.42 +UTIL_LINUX_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -Dstatic_assert=_Static_assert" + # Unfortunately, the util-linux does LIBS="" at the end of its # configure script. So we have to pass the proper LIBS value when # calling the configure script to make configure tests pass properly,