Page MenuHome GnuPG

gnupg-2.2.6 fails to find correct library config programs when cross-compiling for ARM
Closed, WontfixPublic


Attempts to cross compile gnupg-2.2.6 on an x86_64 build machine for ARM fail because the configure script fails to find the correct versions of the following library config programs:

  • gpg-error-config
  • ksba-config
  • libassuan-config
  • libgcrypt-config
  • npth-config

For gpg-error-config and libgcrypt-config, those .m4 files actually support looking in ${SYSROOT} for a cross-compile. The same bug exists for pinentry. They just look in ${SYSROOT}/bin instead of ${SYSROOT}/usr/bin where the programs actually are. For the other 3 cases, the .m4 files don´t support looking in ${SYSROOT} at all.

Since all 5 of those .m4 files are basically the same code, I was able to patch the other 3 .m4 files using gpg-error-config.m4 as a model.

The Gentoo bug report describing the problem in detail also has patches attached for all 5 files. And I was able to get a successful build with all 5 patches.


External Link

Event Timeline

werner edited projects, added Feature Request; removed Bug Report.
werner added a subscriber: werner.

SYSROOT support is not yet fully implemented. You need to give the --with-foo options for each package.
I will retitle this bug to indicates tha tit is a feature request.

You need to give the --with-foo options for each package.

What do mean by this?

In newer releases of libgpg-error, libksba, libassuan, libgcrypt, npth and ntbtls, we updated corresponding *.m4, so that we can use new gpgrt-config program only. And gpgrt-config command supports cross compiling and multiarch libraries.

In the master branch of GnuPG, we use updated gpg-error.m4, ksba.m4, libassuan.m4, libgcrypt.m4, npth.m4, and ntbtls.m4 to take advantage of this new feature.

See T5034: dev: Deprecate libassuan-config, libgcrypt-config, ksba-config, ntbtls-config, npth-config, and gpg-error-config.

We won't fix this for GnuPG 2.2, but if you really needed, you can use updated *.m4 in master.

The feature (better cross compiling) was done in master.
We close this bug report as "Won't fix" since it will never been applied to 2.2.

Thanks for addressing this in master.