rpm-software-management/libdnf

gpgme does not install gpgme-config by default

tpgxyz opened this issue · 4 comments

Hi, looks like gpgme does not install gpgme-config unless libgpg-error does carry gpg-error-config, but this needs to be enabled by adding --enable-install-gpg-error-config to configure.
Below is not true anymore:

# On *nix, we have the gpgme-config script which can tell us all we

While compiling libdnf-0.70.0 you will notice in cmake output -- No usable gpgme flavours found. and then build fails because of missing -lgpg-error:

make[2]: Leaving directory '/builddir/build/BUILD/libdnf-0.70.0/build'
ld.lld: error: undefined symbol: gpgme_new
>>> referenced by Repo.cpp:779 (/builddir/build/BUILD/libdnf-0.70.0/libdnf/repo/Repo.cpp:779)
>>>               lto.tmp:(libdnf::Repo::Impl::importRepoKeys())

Hello, could you please provide more info about the build environment you are using?

@jan-kolarik Yes, sure i forgot to mention this. So i'm running OpenMandriva. Anyways this is not a distro specific issue.
Upstream decided to drop gpg-error-config https://dev.gnupg.org/T5683

OK, I see. I was checking that and the newer libgpg-error packages >= 1.46 are at least on Fedora built using the --enable-install-gpg-error-config. And as we are moving our efforts mainly to the DNF5 development, I am not sure whether to rewrite this non-trivial Cmake script for this purpose. But of course, I will discuss it first with the team.

Unfortunately, we don't have the capacity to solve this. You could either submit a PR to resolve it, and we'll review and support it, or switch to DNF5, which drops the gpgme dependency and uses the RPM API.