Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 736876

Summary: app-crypt/libb2-0.98.1-r3 USE=openmp - causes emerging and depcleaning of clang
Product: Gentoo Linux Reporter: Andreas <alamahant>
Component: Current packagesAssignee: Fabian Groffen <grobian>
Status: RESOLVED CANTFIX    
Severity: normal CC: dev-portage
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Andreas 2020-08-12 13:41:08 UTC
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.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2020-08-12 17:13:27 UTC
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.
Comment 2 Fabian Groffen gentoo-dev 2020-08-13 06:21:34 UTC
@Portage: any idea why a dep on clang-runtime[openmp] seems to be ignored by depclean?
Comment 3 Fabian Groffen gentoo-dev 2021-01-06 09:38:23 UTC
You better globally disable openmp, you don't want to pull in clang just for that I suppose.