When for example "emerge-webrsync" or "emaint -a sync" are executed, they give following: OpenPGP key import failed: gpg: /usr/lib64/libassuan.so.9: version `LIBASSUAN_2.0' not found (required by gpg) Reproducible: Always Steps to Reproduce: 1.emerge-webrsync 2.Error Actual Results: Error Expected Results: Synced packages
Created attachment 896533 [details] Emerge --info log
Emaint stdout: # emaint -a sync >>> Syncing repository 'gentoo' into '/var/db/repos/gentoo'... * Using keys from /usr/share/openpgp-keys/gentoo-release.asc !!! Manifest verification impossible due to keyring problem: OpenPGP key import failed: gpg: /usr/lib64/libassuan.so.9: version `LIBASSUAN_2.0' not found (required by gpg) gpgconf --kill failed: gpgconf: error running '/usr/bin/gpg-connect-agent': exit status 1 gpgconf: error running '/usr/bin/gpg-connect-agent KILLDIRMNGR': General error gpgconf: error running '/usr/bin/gpg-connect-agent': exit status 1 gpgconf: error running '/usr/bin/gpg-connect-agent scd killscd': General error gpgconf: error running '/usr/bin/gpg-connect-agent': exit status 1 gpgconf: error running '/usr/bin/gpg-connect-agent KILLAGENT': General error gpgconf: error running '/usr/bin/gpg-connect-agent': exit status 1 gpgconf: error running '/usr/bin/gpg-connect-agent KILLKEYBOXD': General error Action: sync for repo: gentoo, returned code = 1
Probably you have libassuan 3.0.1 $ emerge -p =libassuan-3.0.1 !!! All ebuilds that could satisfy "=libassuan-3.0.1" have been masked. !!! One of the following masked packages is required to complete your request: - dev-libs/libassuan-3.0.1::gentoo (masked by: package.mask, ~amd64 keyword) /var/db/repos/gentoo/profiles/package.mask: # Sam James <sam@gentoo.org> (2024-06-25) # The symbol versioning "fix" breaks anything built with 3.0.0. Rebuild gnupg and you should be fine. Unclear that there's anything which can be done to detect this beyond masking libassuan itself.
Thank you, rebuilding of gnupg did the job. I'm using ~amd64 and libassuan-3.0.1 got pulled automatically in some day for some reason.
Hello, another newbee Gentoo user here. Sorry if this does not belong to this bug, but I think it may be related. On 11. December I have synced the portage tree and used that to perform the update of everything as last update was done about a month ago or so. All looked fine, so I rebooted as there was also glibc update. All OK, but I am now receiving "getuto" errors involving gnupg. Noticed that gnupg and libassuan got updated as well: snips from emerge.log: 1734277623: >>> AUTOCLEAN: app-crypt/gnupg:0 1734277623: === Unmerging... (app-crypt/gnupg-2.4.5-r1) 1734277626: >>> unmerge success: app-crypt/gnupg-2.4.5-r1 1734277629: === (107 of 214) Post-Build Cleaning (app-crypt/gnupg-2.4.6-r1::/var/cache/binpkgs/app-crypt/gnupg-2.4.6-r1.gpkg.tar) 1734277629: ::: completed emerge (107 of 214) app-crypt/gnupg-2.4.6-r1 to / 734277105: >>> AUTOCLEAN: dev-libs/libassuan:0 1734277105: === Unmerging... (dev-libs/libassuan-2.5.7) 1734277108: >>> unmerge success: dev-libs/libassuan-2.5.7 1734277111: === (65 of 214) Post-Build Cleaning (dev-libs/libassuan-3.0.0::/var/cache/binpkgs/dev-libs/libassuan-3.0. 0.gpkg.tar) 1734277111: ::: completed emerge (65 of 214) dev-libs/libassuan-3.0.0 to / Now, any attempt to use emerge fails with: # emerge --ask --verbose --update --deep --newuse @world gpgconf: error running '/usr/local/bin/gpg-connect-agent': probably not installed gpgconf: error running '/usr/local/bin/gpg-connect-agent KILLAGENT': Configuration error gpgconf: error running '/usr/local/bin/gpg-connect-agent': probably not installed gpgconf: error running '/usr/local/bin/gpg-connect-agent KILLAGENT': Configuration error Traceback (most recent call last): File "/usr/lib/python-exec/python3.12/emerge", line 57, in main retval = emerge_main() ^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/_emerge/main.py", line 1309, in emerge_main return run_action(emerge_config) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/_emerge/actions.py", line 3506, in run_action mytrees["bintree"].populate( File "/usr/lib/python3.12/site-packages/portage/dbapi/bintree.py", line 959, in populate self._populate_remote( File "/usr/lib/python3.12/site-packages/portage/dbapi/bintree.py", line 1363, in _populate_remote self._run_trust_helper() File "/usr/lib/python3.12/site-packages/portage/dbapi/bintree.py", line 1351, in _run_trust_helper ret.check_returncode() File "/usr/lib/python3.12/subprocess.py", line 502, in check_returncode raise CalledProcessError(self.returncode, self.args, self.stdout, subprocess.CalledProcessError: Command '/usr/bin/getuto' returned non-zero exit status 1. Tried to look around: # gpg-connect-agent --version gpg-connect-agent: error while loading shared libraries: libassuan.so.0: cannot open shared object file: No such file or directory # libassuan-config --version 3.0.0 # eix app-crypt/gnupg [I] app-crypt/gnupg Available versions: 2.2.42-r4^t 2.2.43-r1^t 2.2.45^t 2.4.5-r1^t{gpkg} 2.4.5-r2^t 2.4.6-r1^t{gpkg} ~2.4.7^t [M]**2.5.1^t {bzip2 doc ldap nls readline selinux +smartcard ssl test (+)tofu tools tpm usb user-socket verify-sig wks-server} Installed versions: 2.4.6-r1^t{gpkg}(10:15:31 12/11/24)(bzip2 nls readline smartcard ssl tofu usb -doc -ldap -selinux -test -tools -tpm -user-socket -verify-sig -wks-server) Homepage: <url_not_allowed_yet> Description: The GNU Privacy Guard, a GPL OpenPGP implementation # eix dev-libs/libassuan [I] dev-libs/libassuan Available versions: 2.5.6 2.5.7 3.0.0(0/3.0){gpkg} [M]~3.0.1(0/3.0) {verify-sig} Installed versions: 3.0.0(0/3.0){gpkg}(11:18:02 10/06/24)(-verify-sig) Homepage: <url_not_allowed_yet> Description: IPC library used by GnuPG and GPGME Althought gnupg seems to be present, revdep-rebuild ccomplains about some orphaned files: # revdep-rebuild * This is the new python coded version * Please report any bugs found using it. * The original revdep-rebuild script is installed as revdep-rebuild.sh * Please file bugs at: <url_not_allowed_yet> * Checking dynamic linking consistency * Assign files to packages !!! Broken orphaned files: No installed package was found for the following: * /usr/local/bin/dirmngr-client * /usr/local/bin/gpg-wks-client * /usr/local/bin/gpgsm * /usr/local/bin/gpgv * /usr/local/bin/gpg-agent * /usr/local/bin/gpg-card * /usr/local/bin/gpg * /usr/local/bin/dirmngr * /usr/local/bin/gpg-connect-agent There is nothing to emerge. Exiting. I still have older version of gnupg inside of /var/cache/binpkgs, but since emerge is broken, I do not know how to fix that. Is there any way to recover from this?
The issue is that you have a copy of gpg being picked up from /usr/local. Installing anything to /usr/local is a bad idea because it's outside the control of the PM, but many things look there (not just via PATH but sometimes hardcoding it as a search location). If you must build things manually, you should put them in /opt or even better just in your homedir in some special location.
I do not recall of having doing any manual things to gpg package, however your tip about that being pulled from /usr/local eventually lead me to reveal an issue with wrong selection of profile into split-usr variant. I do not have /usr separated, but had split-usr profile in use for some time... I clearly fucked it up in the past, and consequently there might be many other problems than just gpg, so I will rather simply rebuild everything in new chroot with correct profile and then replace the whole content of rootfs. Thank you very much for the tip, the lessons and have a nice holidays!