From 3b655b9cb1c6b661a2f8c2c211370314b817e069 Mon Sep 17 00:00:00 2001 From: Julien Olivain Date: Mon, 12 Aug 2024 23:40:14 +0200 Subject: [PATCH] package/libgpg-error: needs MMU libgpg-error imported code using fork() in commit [1] and enabled it soon after in [2]. Those commits were first included in libgpg-error version 1.28. For reference, the libgpg-error Buildroot package was updated to that version in commit [3]. When Buildroot configuration has no MMU support (e.g. BR2_USE_MMU is not set), libgpg-error fails to build with error: /build/host/opt/ext-toolchain/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: ./.libs/libgpg-error.a(libgpg_error_la-spawn-posix.o): in function '_gpgrt_process_spawn': spawn-posix.c:(.text+0x630): undefined reference to 'fork' This issue can be observed with the command: utils/test-pkg -a -p libgpg-error It will show few build failures: ... bootlin-armv7m-uclibc [ 6/41]: FAILED ... bootlin-m68k-5208-uclibc [ 8/41]: FAILED ... This commit fixes the issue by adding the dependency on BR2_USE_MMU in BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS. Doing so will automatically propagates this dependency to all packages using libgpg-error (and thus, already depending on this _ARCH_SUPPORTS). Fixes: http://autobuild.buildroot.org/results/dbc82ba08e6a30c2f558c8c36ad7eeb0e3cab090/ http://autobuild.buildroot.org/results/074a803de0f48cd86b9135cca50f136cccf1bcea/ http://autobuild.buildroot.org/results/4c1966a71020af31c1dc1b0a13a3928c84e75874/ ...and many others. [1] https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=commitdiff;h=8f41cc23b12485404203be5881aaaadb78696b4d [2] https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=commitdiff;h=1865c0ba1769b407a3c504f1ab0a4278704a9fc1 [3] https://gitlab.com/buildroot.org/buildroot/-/commit/692d191c8b0b3c86022e6a6ba3bd2d8f53b39f03 Signed-off-by: Julien Olivain Signed-off-by: Thomas Petazzoni (cherry picked from commit fee74a7a9f535f782626ccf0e4d88b623333fe1c) Signed-off-by: Peter Korsgaard --- package/libgpg-error/Config.in | 1 + 1 file changed, 1 insertion(+) diff --git a/package/libgpg-error/Config.in b/package/libgpg-error/Config.in index 5a2c14ead8..a0ee7ec531 100644 --- a/package/libgpg-error/Config.in +++ b/package/libgpg-error/Config.in @@ -15,6 +15,7 @@ config BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS BR2_sh4a || BR2_sh4aeb || \ BR2_sparc || BR2_sparc64 || \ BR2_x86_64 + depends on BR2_USE_MMU # fork() config BR2_PACKAGE_LIBGPG_ERROR bool "libgpg-error"