d7f2d8403e
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> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> |
||
---|---|---|
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
utils | ||
.checkpackageignore | ||
.clang-format | ||
.defconfig | ||
.flake8 | ||
.gitignore | ||
.gitlab-ci.yml | ||
.shellcheckrc | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
DEVELOPERS | ||
Makefile | ||
Makefile.legacy | ||
README |
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on OFTC IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches