From: Thomas Petazzoni via buildroot <buildroot@buildroot.org>
To: Julien Olivain <ju.o@free.fr>
Cc: Bagas Sanjaya <bagasdotme@gmail.com>, buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 1/1] package/gnupg2: fix build failure when host provides an old gpgrt-config
Date: Sun, 19 Feb 2023 21:56:33 +0100 [thread overview]
Message-ID: <20230219215633.61ffccbe@windsurf> (raw)
In-Reply-To: <20230219150426.1509780-1-ju.o@free.fr>
On Sun, 19 Feb 2023 16:04:26 +0100
Julien Olivain <ju.o@free.fr> wrote:
> gnupg2 uses the libgpg-error library. The libgpg-error library has a
> long plan to be renamed to "gpgrt" (see [1]). For the transition, it
> provides two configuration scripts "gpg-error-config" (the old,
> original one, kept for compatibility) and "gpgrt-config" (which is
> meant to be the replacement). When both are detected, "gpgrt-config"
> should be preferred.
>
> gnupg2 configure script searches for "gpg-error-config" in the path
> provided to --with-libgpg-error-prefix=PFX (more specifically, in
> "PFX/bin").
>
> The logic to find "gpgrt-config" is different: it is searched in
> paths "$prefix/bin:$PATH". See [2]. On Buildroot, autotools target
> packages are configured with "--prefix=/usr", which makes the
> configure script to search in the host "/usr/bin".
>
> In some host environment providing such a "/usr/bin/gpgrt-config"
> script of an older version, host compilation flags are incorrectly
> added for the target, which leads to compilation failures.
>
> The issue can be reproduced in a Buildroot Docker image from [3] in
> which the libgpg-error-dev package is added. When tested, the
> libgpg-error-dev package was at version 1.38.
>
> In that configuration, gnupg2 configure will output the message:
>
> checking for gpgrt-config... /usr/bin/gpgrt-config
>
> and the compilation fails with a message:
>
> aarch64-buildroot-linux-gnu-gcc: ERROR: unsafe header/library path used in cross-compilation: '-I/usr/include'
>
> Note: it was observed that in some other configurations in which the
> host /usr/bin/gpgrt-config was from libgpg-error version 1.46, the
> host script was redirecting correctly in the buildroot sysroot.
>
> Since gnupg2 searches for "gpgrt-config" with a
> "AC_PATH_PROG(GPGRT_CONFIG, ...)" macro, this patch fixes this
> issue by simply forcing the script path in the GPGRT_CONFIG
> environment variable.
>
> See also [4] which discussed the "gpgrt-config" search logic.
>
> Fixes:
> - http://autobuild.buildroot.net/results/423c3ce7317c181e9f2e4a49b76ee9d26167375c/
> (and many others)
>
> [1] https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=blob;f=README;h=e0b9f16445a96942af0839bcdb9a0b0f8cf31380;hb=885a287a57cf060b4c5b441822c09d23b8dee2bd#l29
> [2] https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=blob;f=m4/gpg-error.m4;h=a975e53d07d1b743f51d8aa1767cd8e0d71b4071;hb=c0556edb80518720b0d884251685fe008c8f0429#l68
> [3] https://git.buildroot.org/buildroot/tree/support/docker/Dockerfile?id=b6085c00d0feece6f3ba635e7847ea653bc5fac3
> [4] https://dev.gnupg.org/T5365
>
> Reported-by: Bagas Sanjaya <bagasdotme@gmail.com>
> Tested-by: Bagas Sanjaya <bagasdotme@gmail.com>
> Signed-off-by: Julien Olivain <ju.o@free.fr>
> ---
> Patch tested on master branch at commit b6085c0 with commands:
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
prev parent reply other threads:[~2023-02-19 20:56 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-19 15:04 [Buildroot] [PATCH 1/1] package/gnupg2: fix build failure when host provides an old gpgrt-config Julien Olivain
2023-02-19 20:56 ` Thomas Petazzoni via buildroot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230219215633.61ffccbe@windsurf \
--to=buildroot@buildroot.org \
--cc=bagasdotme@gmail.com \
--cc=ju.o@free.fr \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.