GPGME 1.5.1: Invalid crypto engine

Florian Schwind f.schwind at chili-radiology.com
Mon Sep 15 09:24:40 CEST 2014


Hi,

after building GPGME on SuSE SLES 10 I ran make check an got some
"Invalid crypto engine" errors.

make check
Making check in src
make[1]: Entering directory `/tmp/cbs-compile-cbuild/gpgme-1.5.1/src'
make[1]: Für das Ziel »check« ist nichts zu tun.
make[1]: Leaving directory `/tmp/cbs-compile-cbuild/gpgme-1.5.1/src'
Making check in tests
make[1]: Entering directory `/tmp/cbs-compile-cbuild/gpgme-1.5.1/tests'
Making check in gpg
make[2]: Entering directory `/tmp/cbs-compile-cbuild/gpgme-1.5.1/tests/gpg'
make  check-TESTS
make[3]: Entering directory `/tmp/cbs-compile-cbuild/gpgme-1.5.1/tests/gpg'
starting gpg-agent
error starting gpg-agent
PASS: initial.test
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-encrypt
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-encrypt-sym
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-encrypt-sign
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-sign
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-signers
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-decrypt
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-verify
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-decrypt-verify
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-sig-notation
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-export
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-import
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-trustlist
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-edit
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-keylist
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-keylist-sig
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-wait
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-encrypt-large
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-file-name
PASS: t-gpgconf
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-eventloop
t-support.h:134: GPGME: Invalid crypto engine
FAIL: t-thread1
gpg-agent not running
PASS: final.test
======================================
20 of 23 tests failed
Please report to http://bugs.gnupg.org
======================================

Digging deeper into the problem I found out, that gpgme only finds one
crypto-engine at /usr/bin/gpgconf, which could not be used as engine for
OpenGPG.

Calling the function gpgme_set_engine_info(GPGME_PROTOCOL_OpenPGP,
"/usr/bin/gpg", NULL) in a testprogram shows, that even then only one
crypto-engine is found and the path to /usr/bin/gpg is ignored because
gpgme_get_engine_info(&info) only returns the GPGCONF engine.

I tried this on several other linux system like SLES 11, SLES 9,
OpenSuse 11.3 (32 and 64 bit) and everything works ok. I'm really
puzzled what I'd doing wrong on SLES 10. This could not only be a
problem in my software by using the API in a wrong way, because the
"make check" fails as well. I added some debug output and also exported
GPGME_DEBUG which did only help to narrow down to problem to the file
engine.c and the call of engine_get_file_name (proto_list[proto]), which
returns NULL for the OpenGPG protocol.

I'm using the newest versions available: GPGME 1.5.1, GPG 1.4.18 and
LIBGPG-ERR 1.14.

Does anyone have an idea how to proceed?

Regards
   Florian

P.S.: I omitted the gpgme_debug.log because at first try my message was 
rejected from the list because the logfile was too large.



More information about the Gnupg-devel mailing list