After running a large upgrade, I noticed that KMyMoney has been updated to a new major 5.2.0 release. Unfortunately this release has alot of bugs and missing features so I would prefer to use the prior 5.1.3 release until the latest one stabilises a bit more.
I managed to download the older release from the Arch Linux Archives and install it. It does start and appears to be functional, however the plugin it has to open the files which KMM stores data on has a error - libgpgmepp.so.6: cannot open shared object file: No such file or directory - and so it cannot be used. This is a critical part of the software so without this function it is useless.
Is there any way to install that shared object file - gmepp doesnt seem to have a older version to download so I am not sure where to go from here?? Surely if the rest of KMM works there must be a way to get that shared object to work on it so that it can access the data files it needs.
Assuming you haven’t still got the older package file in /var/cache/pacman/pkg (in which case you could just downgrade it), it may be worth installing the latest version, then symlinking the current version of that file to libgpgmepp.so.6. If the latest version has any changes to functions KMyMoney uses it might mis-behave (or even crash) but if you’re really lucky you may just get away with it.
Do not attempt to downgrade gpgme - it will effectively wreck your system.
If you really need this earlier version - you can download an earlier release ISO and spin up an virtual machine.
Do not attempt to downgrade the system gpg
$ pamac search -f libgpgmepp
/usr/lib/libgpgmepp.so is owned by gpgmepp
/usr/lib/libgpgmepp.so.7 is owned by gpgmepp
/usr/lib/libgpgmepp.so.7.0.0 is owned by gpgmepp
/usr/lib/libgpgmepp.so is owned by gpgme
/usr/lib/libgpgmepp.so.6 is owned by gpgme
/usr/lib/libgpgmepp.so.6.21.3 is owned by gpgme
$ pamac info gpgmepp
Name : gpgmepp
Version : 2.0.0-2
Description : C++ bindings for GPGME
URL : https://gnupg.org/software/gpgme/index.html
Licenses : LGPL-2.0-or-later
Repository : extra
Installed Size : 587,5 kB
Groups : --
Depends On : gcc-libs glibc gpgme libgpg-error
Optional Dependencies : --
Required By : kwallet libreoffice-fresh poppler
Optional For : --
Provides : libgpgmepp.so=7-64
Replaces : --
Conflicts With : gpgme<2
Packager : Antonio Rojas <arojas@archlinux.org>
Build Date : tor 05 jun 2025 08:44:05 CEST
Install Date : lør 07 jun 2025 04:55:51 CEST
Install Reason : Installed as a dependency for another package
Validated By : Signature
Backup files : --
$ pamac info gpgme
Name : gpgme
Version : 2.0.0-1
Description : C wrapper library for GnuPG
URL : https://www.gnupg.org/related_software/gpgme/
Licenses : GPL-2.0-or-later LGPL-2.0-or-later LGPL-2.1-or-later MIT
Repository : core
Installed Size : 771,7 kB
Groups : --
Depends On : gcc-libs glib2 glibc libassuan libgpg-error gnupg>=2
Optional Dependencies : --
Required By : flatpak gpgmepp libjcat ostree pacman python-gpgme samba seahorse volume_key
Optional For : --
Provides : libgpgme.so=45-64
Replaces : --
Conflicts With : --
Packager : Christian Hesse <eworm@archlinux.org>
Build Date : tir 03 jun 2025 18:27:06 CEST
Install Date : lør 07 jun 2025 04:55:51 CEST
Install Reason : Installed as a dependency for another package
Validated By : Signature
Backup files : --
$ pamac info gnupg
Name : gnupg
Version : 2.4.8-1
Description : Complete and free implementation of the OpenPGP standard
URL : https://www.gnupg.org/
Licenses : BSD-2-Clause BSD-3-Clause BSD-4-Clause CC0-1.0 GPL-2.0-or-later GPL-3.0-or-later LGPL-2.1-or-later LGPL-3.0-or-later OR
GPL-2.0-or-later MIT Unicode-TOU
Repository : core
Installed Size : 10,6 MB
Groups : --
Depends On : glibc gnutls libgcrypt libgpg-error libksba libldap libusb pinentry sh sqlite tpm2-tss zlib bzip2 libbz2.so=1.0-64 libassuan
libassuan.so=9-64 npth libnpth.so=0-64 readline libreadline.so=8-64
Optional Dependencies : pcsclite: for using scdaemon not with the gnupg internal card driver [Installed]
Required By : arkdep gpgme manjaro-arm-tools manjaro-tools-base-git pacman pass python-gnupg
Optional For : --
Provides : --
Replaces : --
Conflicts With : --
Packager : David Runge <dvzrv@archlinux.org>
Build Date : lør 21 jun 2025 14:02:53 CEST
Install Date : tir 24 jun 2025 16:31:21 CEST
Install Reason : Installed as a dependency for another package
Validated By : Signature
Backup files : --
pamac search -f libgpgmepp
/usr/lib/libgpgmepp.so is owned by gpgmepp
/usr/lib/libgpgmepp.so.7 is owned by gpgmepp
/usr/lib/libgpgmepp.so.7.0.0 is owned by gpgmepp
/usr/lib/libgpgmepp.so is owned by gpgme
/usr/lib/libgpgmepp.so.6 is owned by gpgme
/usr/lib/libgpgmepp.so.6.21.2 is owned by gpgme
I wonder why the older version of KmyMoney can’t see the “so.6” file despite it being there?
Hmm - very strange - very strange… but it explains why the app is not working - but I have no idea why the package manager report the file as part of the gpgme package
The file is not physically available but the functionality is provided by the package
I checked arch wiki for soname - which there is more to… and it is beyond my knowledge…
Be very careful when using IgnorePkg and IgnoreGroup for the same reason. If the system has locally built packages (such as AUR packages), users will need to rebuild them when their dependencies receive a soname bump.
If a partial upgrade scenario has been created, and binaries are broken because they cannot find the libraries they are linked against, do not “fix” the problem simply by symlinking. Libraries receive soname bumps when they are not backwards compatible. A simple pacman -Syu to a properly synced mirror will fix the problem as long as pacman is not broken.
I started two virtual machine with Arch Linux - one ISO from May, 2025 and one ISO from July, 2025 with the intention of comparing what library versions provided before and after the gnupg 2.0 was released.
The libgpgmepp.so.6 was only on the ISO from May 2025.
I was thinking - dynamic linker - it got to have some cache - perhaps the result is from an invalid cache.
So - I switched to root context
sudo su
Then rebuild the cache
ldconfig --format new
Then I retested
# pacman -Qo /usr/lib/libgpgmepp.so.6
error: No package owns /usr/lib/libgpgmepp.so.6
Tried the first and second commands and got the same results from your third and fourth queries and it still doesnt work.
Interesting - doing a pamac search for the library still says its owned by gpgme, so I’m not sure if that ldconfig command hasnt had a effect?
pamac search -f libgpgmepp
/usr/lib/libgpgmepp.so is owned by gpgmepp
/usr/lib/libgpgmepp.so.7 is owned by gpgmepp
/usr/lib/libgpgmepp.so.7.0.0 is owned by gpgmepp
/usr/lib/libgpgmepp.so is owned by gpgme
/usr/lib/libgpgmepp.so.6 is owned by gpgme
/usr/lib/libgpgmepp.so.6.21.2 is owned by gpgme
Did you reboot after your last update? pamac search -f searches for filenames in all packages in the repos, not just those installed on your system.
I assume that the first place pamac searches is in the temporary pamac databases, which are located at /tmp/pamac-${USER}/dbs/sync/. The file listings for all packages in the repos are contained in these files: core.files, extra.files & multilib.files. They are .gzipfiles, and they can be extracted and viewed in a text editor:
Being located in /tmp/, the pamac databases do not survive reboots. They are only rebuilt the next time pamac resyncs with the repos, which is usually when doing an update or installing a package via pamac. The pamac databases do not sync when pacman is used.
After searching the /tmp/pamac-${USER}/dbs/sync/ files for the matching file name, pamac then probably scans all installed packages, which are in the /tmp/pamac-${USER}/dbs/local/ directory (a symbolic link to /var/lib/pacman/local). That would ensure it picks up any installed packages which are not in the repos (such as AUR packages).
So, if you did your last system update using sudo pacman -Syu, and did not reboot, and you have not refreshed your pamac databases since then, your pamac search for packages which own libgpgmepp may be looking in out-of-date pamac databases as well as your currently installed packages. That is possibly why you are still seeing entries for libgpgmepp.so.6.
Try rebooting and see if pamac search -f libgpgmepp provides a different result.
oh i have rebooted quite a few times since the update so dont think thats the issue unfortunately. it still seems to think that library is there despite it not existing. just seems very strange! not sure if its a packaging error or omission somewhere along the line.
To get the correct results - you need to use the latest metadata
sudo pacman -Fyy
$ pacman -Qo /usr/lib/libgpgmepp.so.6
error: No package owns /usr/lib/libgpgmepp.so.6
$ pamac search -f libgpgmepp
/usr/lib/libgpgmepp.so is owned by gpgmepp
/usr/lib/libgpgmepp.so.7 is owned by gpgmepp
/usr/lib/libgpgmepp.so.7.0.0 is owned by gpgmepp
The application is same version across all branches and matches upstream Arch Linux
$ mbn info kmymoney -q
Branch : archlinux
Name : kmymoney
Version : 5.2.0-5
Repository : extra
Build Date : Mon 07 Jul 2025 20:03:53
Packager : Antonio Rojas <arojas@archlinux.org>
Branch : unstable
Name : kmymoney
Version : 5.2.0-5
Repository : extra
Build Date : Mon 07 Jul 2025 20:03:53
Packager : Antonio Rojas <arojas@archlinux.org>
Branch : testing
Name : kmymoney
Version : 5.2.0-5
Repository : extra
Build Date : Mon 07 Jul 2025 20:03:53
Packager : Antonio Rojas <arojas@archlinux.org>
Branch : stable
Name : kmymoney
Version : 5.2.0-5
Repository : extra
Build Date : Mon 07 Jul 2025 20:03:53
Packager : Antonio Rojas <arojas@archlinux.org>
note though that I am not trying to install the 5.2.0 version of KMM, but rather the one before it (5.1.8) which is in the arch linux archive.
it still gives the error saying that shared library is missing. i think the issue is that on the latest version of manjaro, for some reason it has been removed. and there doesnt seem to be a way to add it back. not sure why they would have removed it though.
Thanks very much - this is great! Didn’t realise there was a way to download freestanding versions of apps that don’t update with the rest of the system. FlatPak has the version I wanted so can just use that until the latest version stabilises enough to use without issues.