From eedb2067d8660b31a376ccdc05dc0ae2ba3ba4c5 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 20 Sep 2026 19:50:43 +0200 Subject: [PATCH] package/cpp-httplib: link with libatomic if needed Buildroot commit 8dad17ea06260ef0bd23eebc47c95a8510310bf5 bumped the package from 0.27.0 to 0.37.2. This bump includes upstream commit https://github.com/yhirose/cpp-httplib/commit/464867a9cedef2b6185e25e3e912d3f796fe58fd which added WebSocket support to version 0.33.0 and causes a build error detected by the Gitlab pipelines for bootlin-sparc-uclibc: /builds/bkuhls/buildroot/br-test-pkg/bootlin-sparc-uclibc/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/14.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: /tmp/cciyXsAR.ltrans6.ltrans.o: in function `httplib::ws::WebSocket::close(httplib::ws::CloseStatus, std::__cxx11::basic_string, std::allocator > const&)': :(.text+0x6408): undefined reference to `__atomic_exchange_1' To fix the problem we add -latomic to LDFLAGS when needed. Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- package/cpp-httplib/Config.in | 2 ++ package/cpp-httplib/cpp-httplib.mk | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/package/cpp-httplib/Config.in b/package/cpp-httplib/Config.in index 9bd93ee0af..83251e8eeb 100644 --- a/package/cpp-httplib/Config.in +++ b/package/cpp-httplib/Config.in @@ -1,9 +1,11 @@ comment "cpp-httplib needs a toolchain w/ C++, wchar, threads" + depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_CPP_HTTPLIB bool "cpp-httplib" depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR help diff --git a/package/cpp-httplib/cpp-httplib.mk b/package/cpp-httplib/cpp-httplib.mk index 94f270df94..c9649936e4 100644 --- a/package/cpp-httplib/cpp-httplib.mk +++ b/package/cpp-httplib/cpp-httplib.mk @@ -13,6 +13,12 @@ CPP_HTTPLIB_INSTALL_STAGING = YES CPP_HTTPLIB_CONF_OPTS = \ -Dtest=false +CPP_HTTPLIB_LDFLAGS = $(TARGET_LDFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +CPP_HTTPLIB_LDFLAGS += -latomic +endif + ifeq ($(BR2_PACKAGE_CPP_HTTPLIB_COMPILE),y) CPP_HTTPLIB_CONF_OPTS += -Dcompile=true CPP_HTTPLIB_DEPENDENCIES += host-python3