Did you guys recently imposed a mandatory USE='openmp' to the ebuild? Because as of yesterday portage update started pulling many clang junk only to have them depcleaned 5 minutes later. Here is an output These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] app-shells/push-3.3::gentoo [2.0-r1::gentoo] 3 KiB [ebuild U ] app-shells/quoter-4.2::gentoo [3.0_p2-r1::gentoo] 11 KiB [ebuild N ] sys-devel/clang-common-10.0.1::gentoo 118,048 KiB [ebuild N ] sys-devel/clang-10.0.1:10::gentoo USE="static-analyzer xml -debug -default-compiler-rt -default-libcxx -doc -test" ABI_X86="(64) -32 (-x32)" LLVM_TARGETS="AMDGPU BPF NVPTX (X86) -AArch64 -ARC -ARM -AVR -Hexagon -Lanai -MSP430 -Mips -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore" PYTHON_SINGLE_TARGET="python3_7 -python3_6 -python3_8 -python3_9" 0 KiB [ebuild N ] sys-devel/clang-runtime-10.0.1:10.0.1::gentoo USE="compiler-rt openmp sanitize -libcxx" ABI_X86="(64) -32 (-x32)" 0 KiB [ebuild U ] sys-libs/pam-1.4.0_p20200809::gentoo [1.4.0-r2::gentoo] USE="berkdb filecaps pie (split-usr) -audit -debug -nis (-selinux) -static-libs" ABI_X86="(64) -32 (-x32)" 834 KiB [ebuild N ] sys-libs/compiler-rt-10.0.1:10.0.1::gentoo USE="clang -test" 0 KiB [ebuild N ] sys-libs/compiler-rt-sanitizers-10.0.1:10.0.1::gentoo USE="clang libfuzzer profile sanitize xray -test" 0 KiB [ebuild N ] sys-libs/libomp-10.0.1::gentoo USE="-cuda -hwloc -offload -ompt -test" ABI_X86="(64) -32 (-x32)" 0 KiB [ebuild U ] dev-libs/check-0.15.2::gentoo [0.15.0::gentoo] USE="-doc -subunit -test" ABI_X86="(64) -32 (-x32)" 299 KiB [ebuild U ] dev-python/urwid-2.1.1::gentoo [2.1.0::gentoo] USE="-doc -examples" PYTHON_TARGETS="python3_7 -python3_6 -python3_8 -python3_9" 619 KiB [ebuild U ] sys-apps/iproute2-5.8.0::gentoo [5.7.0::gentoo] USE="berkdb iptables ipv6 -atm -caps -elf -minimal (-selinux)" 763 KiB [ebuild U ] dev-python/docutils-0.16-r1::gentoo [0.16::gentoo] PYTHON_TARGETS="python3_7 -pypy3 -python3_6 -python3_8 -python3_9 (-python2_7%)" 1,917 KiB [ebuild U ] sys-auth/pambase-20200806::gentoo [20200618::gentoo] USE="elogind nullok passwdqc sha512 -caps -debug -minimal -mktemp -pam_krb5 -pam_ssh -securetty (-selinux) -systemd (-consolekit%)" 4 KiB [ebuild U ] app-arch/file-roller-3.36.3::gentoo [3.32.4::gentoo] USE="libnotify -nautilus (-packagekit)" 851 KiB Total: 15 packages (9 upgrades, 6 new), Size of downloads: 123,344 KiB Would you like to merge these packages? [Yes/No] y >>> Verifying ebuild manifests >>> Running pre-merge checks for sys-libs/compiler-rt-10.0.1 >>> Running pre-merge checks for sys-libs/compiler-rt-sanitizers-10.0.1 >>> Running pre-merge checks for sys-libs/libomp-10.0.1 * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found sources for kernel version: * 5.8.0-gentoo-r1 >>> Emerging (1 of 15) app-shells/push-3.3::gentoo >>> Installing (1 of 15) app-shells/push-3.3::gentoo >>> Emerging (2 of 15) app-shells/quoter-4.2::gentoo >>> Installing (2 of 15) app-shells/quoter-4.2::gentoo >>> Emerging (3 of 15) sys-devel/clang-common-10.0.1::gentoo >>> Installing (3 of 15) sys-devel/clang-common-10.0.1::gentoo >>> Emerging (4 of 15) sys-devel/clang-10.0.1::gentoo >>> Installing (4 of 15) sys-devel/clang-10.0.1::gentoo >>> Emerging (5 of 15) sys-devel/clang-runtime-10.0.1::gentoo >>> Installing (5 of 15) sys-devel/clang-runtime-10.0.1::gentoo >>> Emerging (6 of 15) sys-libs/pam-1.4.0_p20200809::gentoo >>> Installing (6 of 15) sys-libs/pam-1.4.0_p20200809::gentoo >>> Emerging (7 of 15) sys-libs/compiler-rt-10.0.1::gentoo >>> Installing (7 of 15) sys-libs/compiler-rt-10.0.1::gentoo >>> Emerging (8 of 15) sys-libs/compiler-rt-sanitizers-10.0.1::gentoo >>> Installing (8 of 15) sys-libs/compiler-rt-sanitizers-10.0.1::gentoo >>> Emerging (9 of 15) sys-libs/libomp-10.0.1::gentoo >>> Installing (9 of 15) sys-libs/libomp-10.0.1::gentoo >>> Emerging (10 of 15) dev-libs/check-0.15.2::gentoo >>> Installing (10 of 15) dev-libs/check-0.15.2::gentoo >>> Emerging (11 of 15) dev-python/urwid-2.1.1::gentoo >>> Installing (11 of 15) dev-python/urwid-2.1.1::gentoo >>> Emerging (12 of 15) sys-apps/iproute2-5.8.0::gentoo >>> Installing (12 of 15) sys-apps/iproute2-5.8.0::gentoo >>> Emerging (13 of 15) dev-python/docutils-0.16-r1::gentoo >>> Installing (13 of 15) dev-python/docutils-0.16-r1::gentoo >>> Emerging (14 of 15) sys-auth/pambase-20200806::gentoo >>> Installing (14 of 15) sys-auth/pambase-20200806::gentoo >>> Emerging (15 of 15) app-arch/file-roller-3.36.3::gentoo >>> Installing (15 of 15) app-arch/file-roller-3.36.3::gentoo >>> Jobs: 15 of 15 complete Load avg: 2.13, 3.03, 3.68 * Messages for package sys-devel/clang-10.0.1: * You can find additional utility scripts in: * /usr/lib/llvm/10/share/clang * Some of them are vim integration scripts (with instructions inside). * The run-clang-tidy.py script requires the following additional package: * dev-python/pyyaml * Messages for package sys-libs/pam-1.4.0_p20200809: * Some software with pre-loaded PAM libraries might experience * warnings or failures related to missing symbols and/or versions * after any update. While unfortunate this is a limit of the * implementation of PAM and the software, and it requires you to * restart the software manually after the update. * * You can get a list of such software running a command like * lsof / | egrep -i 'del.*libpam\.so' * * Alternatively, simply reboot your system. >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. * IMPORTANT: 2 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. * After world updates, it is important to remove obsolete packages with * emerge --depclean. Refer to `man emerge` for more information. * IMPORTANT: 2 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. These are the packages that would be merged, in order: Calculating dependencies... done! Total: 0 packages, Size of downloads: 0 KiB Nothing to merge; quitting. * Always study the list of packages to be cleaned for any obvious * mistakes. Packages that are part of the world set will always * be kept. They can be manually added to this set with * `emerge --noreplace <atom>`. Packages that are listed in * package.provided (see portage(5)) will be removed by * depclean, even if they are part of the world set. * * As a safety measure, depclean will not remove any packages * unless *all* required dependencies have been resolved. As a * consequence of this, it often becomes necessary to run * `emerge --update --newuse --deep @world` prior to depclean. Calculating dependencies... done! >>> Calculating removal order... >>> These are the packages that would be unmerged: sys-devel/clang-common selected: 10.0.1 protected: none omitted: none sys-devel/clang selected: 10.0.1 protected: none omitted: none sys-devel/clang-runtime selected: 10.0.1 protected: none omitted: none sys-libs/libomp selected: 10.0.1 protected: none omitted: none sys-libs/compiler-rt selected: 10.0.1 protected: none omitted: none sys-libs/compiler-rt-sanitizers selected: 10.0.1 protected: none omitted: none All selected packages: =sys-libs/libomp-10.0.1 =sys-libs/compiler-rt-sanitizers-10.0.1 =sys-devel/clang-10.0.1 =sys-devel/clang-runtime-10.0.1 =sys-devel/clang-common-10.0.1 =sys-libs/compiler-rt-10.0.1 >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. Would you like to unmerge these packages? [Yes/No] After a lot of frustration and searching I pinpointed the problem to this ebuild and the ebuild also of app-portage/portage-utils-0.88 Globally disabling USE="openmp" in make.conf stops the imposition of clang-runtime and the rest clang-related stuff. Maybe you should create a "news" item explainig the whole issue.
DEPEND=" openmp? ( || ( >=sys-devel/gcc-4.2:*[openmp] sys-devel/clang-runtime:*[openmp] ) ) " In order to build, libb2 wants either a sufficiently new version of sys-devel/gcc with USE=openmp or any version of sys-devel/clang-runtime with USE=openmp. Since you have sys-devel/gcc installed with USE=-openmp, and since sys-devel/clang-runtime on you profile or with your local settings defaults to USE=openmp, only sys-devel/clang-runtime satisfies that build time dependency. Since the libb2 ebuild further states that RDEPEND=$DEPEND, it's a mystery to me why depclean thinks those dependencies are no longer needed. Your workaround (globally setting USE=-openmp) does not really help explain that and probably shouldn't end up in a "news" item.
@Portage: any idea why a dep on clang-runtime[openmp] seems to be ignored by depclean?
You better globally disable openmp, you don't want to pull in clang just for that I suppose.