host is amd64-glibc, crossdev is latest snapshot (20181202) how to reproduce: crossdev -S -t x86_64-unknown-linux-musl and then remove it: crossdev -C x86_64-unknown-linux-musl next emerge -auvND world on the host will throw out warnings that cross-x86_64-unknown-linux-musl/{linux-headers;binutils;musl;gcc} can't be handled as there is no ebuild for them. This means: portage finds them in world file, but can't find the ebuild they were installed with, as these were cleaned up with crossdev -C how to fix: edit /var/lib/portage/world with text editor and remove offending lines.
I can also confirm this on targets x86_64-w64-mingw32 and i686-w64-mingw32 with latest ~amd64 crossdev.
Could it be that this happens when at least one of the glibc/gcc/binutils/kernel-headers is set to unstable during configure of the cross-toolchain? Because, I had this recently happening while uninstalling a armv7a-unknown-linux-gnueabihf target.
neither does it clean up glibc related toolchains. I mean, it's not that big of a deal to do it by hand, but it's possible that portage uses a ton of I/O to look for something that just isn't there.
*** Bug 681914 has been marked as a duplicate of this bug. ***
I assume it happens when the target fails to build one of its components (For example GCC fails), and then we try to clean it.
No. I think crossdev just does not have code to unmerge packages: https://gitweb.gentoo.org/proj/crossdev.git/tree/crossdev#n546 I think qmerge does not affect world file.
The problem is still very much present in 20201129.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=bec5fd6a5597f736a868e79017f99b5bc79a9dbf commit bec5fd6a5597f736a868e79017f99b5bc79a9dbf Author: Mike Frysinger <vapier@gentoo.org> AuthorDate: 2021-10-27 09:19:31 +0000 Commit: Mike Frysinger <vapier@gentoo.org> CommitDate: 2021-10-27 09:19:31 +0000 crossdev: clean world file on uninstall Closes: https://bugs.gentoo.org/676490 Signed-off-by: Mike Frysinger <vapier@gentoo.org> crossdev | 3 +++ 1 file changed, 3 insertions(+)