From 9a1a71be21e6c45383800824863b75cb08b029a8 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Thu, 15 Jan 2026 20:45:48 +0100 Subject: [PATCH] package/berkeleydb: fix non-threaded build Building berkeleydb is broken with a non-threaded toolchain with gcc >= 14.x: ../src/rep/rep_method.c:1740:25: error: implicit declaration of function '__repmgr_get_nsites'; did you mean '__rep_get_nsites'? [-Wimplicit-function-declaration] 1740 | return (__repmgr_get_nsites(env, n)); According to src/repmgr/repmgr_util.c, line 503+, the function '__repmgr_get_nsites' mentioned in the gcc error message "may only be called after threads have been started". This source file repmgr_util.c belongs to REPMGR_OBJS according to dist/Makefile.in, line 249+, which is, according to dist/configure.ac, line 956, only build if thread support is present. In a non-threaded build '__repmgr_get_nsites' does not exist causing the build error. To fix the build error we disable replication for non-threaded toolchains. Using gcc 13.x the build error does not occur, tested with this defconfig: BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y BR2_PTHREADS_NONE=y BR2_GCC_VERSION_13_X=y BR2_PACKAGE_BERKELEYDB=y Using this minimal gcc 14.x-based defconfig BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y BR2_PTHREADS_NONE=y BR2_PER_PACKAGE_DIRECTORIES=y BR2_PACKAGE_BERKELEYDB=y the build error can be reproduced. The oldest build error of this kind, afaics, dates back to 2024-06-13: https://autobuild.buildroot.net/results/e0d/e0d6bdbef01bee277b0da83605b2906af876058a/ Fixes: https://autobuild.buildroot.net/results/792/792ed942d17bb8d00cd321536a102f6dd63b6a8a/ Signed-off-by: Bernd Kuhls Signed-off-by: Peter Korsgaard --- package/berkeleydb/berkeleydb.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/berkeleydb/berkeleydb.mk b/package/berkeleydb/berkeleydb.mk index 6c487400ae..46838ca85c 100644 --- a/package/berkeleydb/berkeleydb.mk +++ b/package/berkeleydb/berkeleydb.mk @@ -45,6 +45,7 @@ define BERKELEYDB_CONFIGURE_CMDS --with-pic \ --enable-o_direct \ $(if $(BR2_TOOLCHAIN_HAS_THREADS),--enable-mutexsupport,--disable-mutexsupport) \ + $(if $(BR2_TOOLCHAIN_HAS_THREADS),--enable-replication,--disable-replication) \ ) endef