Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/1] package/libgpg-error: needs MMU
@ 2024-08-12 21:40 Julien Olivain
  2024-08-14 21:48 ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 2+ messages in thread
From: Julien Olivain @ 2024-08-12 21:40 UTC (permalink / raw)
  To: buildroot; +Cc: Julien Olivain

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 <ju.o@free.fr>
---
Changes v1 -> v2: Suggested by Thomas:
- Moved the BR2_USE_MMU dependency in _ARCH_SUPPORTS
- Removed all package updates, since they are now unneeded
---
 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"
-- 
2.46.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Buildroot] [PATCH v2 1/1] package/libgpg-error: needs MMU
  2024-08-12 21:40 [Buildroot] [PATCH v2 1/1] package/libgpg-error: needs MMU Julien Olivain
@ 2024-08-14 21:48 ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-08-14 21:48 UTC (permalink / raw)
  To: Julien Olivain; +Cc: buildroot

On Mon, 12 Aug 2024 23:40:14 +0200
Julien Olivain <ju.o@free.fr> wrote:

> 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 <ju.o@free.fr>
> ---
> Changes v1 -> v2: Suggested by Thomas:
> - Moved the BR2_USE_MMU dependency in _ARCH_SUPPORTS
> - Removed all package updates, since they are now unneeded
> ---
>  package/libgpg-error/Config.in | 1 +
>  1 file changed, 1 insertion(+)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-08-14 21:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-12 21:40 [Buildroot] [PATCH v2 1/1] package/libgpg-error: needs MMU Julien Olivain
2024-08-14 21:48 ` Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox