cross compilation and GPGME: Invalid crypto engine error

Marcus Brinkmann marcus.brinkmann at
Fri Mar 13 22:36:03 CET 2009

Oguz Yarimtepe wrote:
> Hi,
> I cross compiled gpgme1.0-1.1.5 for STLinux2.2 system. First i cross
> compiled and installed pth-2.0.7, then libgpg-error-1.4, gnupg-1.4.6 and
> gpgme1.0-1.1.5. I disabled lfs while compiling gpgme. After installation
> i compiled my c code. When i ran the binary, i got the error message
> saying "GPGME: Invalid crypto engine error" at the line 111 that is
> gpgme_engine_check_version function. 

This could be due to gpgme not finding the gpg binary.  gpgme detects the path
to gpg at configure time and it is compiled into the library.

Check the output of configure, it prints the detected paths.  It should have
complained about cross compilation and given you advice to use --with-gpg=path
to configure it,

How did you invoke configure for cross compilation?

> At the cross compiled system, i ran gpg --list-keys and i could see the
> keys. Also i could see the gpg -se -r "something" test.txt working. gpg
> -d also working. 

env GPGME_DEBUG=9 gives you more info about what GPGME is doing.


More information about the Gnupg-devel mailing list