Project:Toolchain/libcrypt implementation

From Gentoo Wiki
Jump to:navigation Jump to:search

glibc provides many interfaces and there's a steady process to deprecate some of these built-in implementations to allow other providers on the system to better fulfill their purpose. Eventually, glibc will remove its libcrypt implementation, so this migration is unavoidable.

Gentoo has already done this before with:

This time, we're working on replacing sys-libs/glibc's libcrypt with sys-libs/libxcrypt. This effort is being tracked in bug #699422.

TL;DR

  • Most people won't have to do anything special at all, just sync and do a world upgrade!
  • Check out Troubleshooting if you hit a problem.
    • The most common issue is needing to use emerge --ignore-built-slot-operator-deps=y -uvDU @world temporarily, then doing world again without that special --ignore-built-slot-operator-deps=y option.
    • The second most common issue is needing to upgrade Python to not incorrectly include crypt.h and link against libcrypt (which may break anything trying to use libpython): emerge -uv1 --ignore-built-slot-operator-deps=y dev-lang/python:3.8 dev-lang/python:3.9 should be sufficient on an already up to date system, but use this only if truly necessary. Recommend running first.

Migrating the system

Preliminaries

Don't skip these!

  1. Ensure FEATURES="preserve-libs" (default) has been set for now (bug #802207)!
  2. If a user's password was set before the year 2008 (bug #802267), the password may need changed in order to force it to be protected using newer mechanisms than e.g. md5crypt. A new sys-libs/pam version has been added to avoid this issue (bug #802807) although issues are being investigated (bug #803050).
  3. Sync your copy of the repository (emerge --sync), especially to avoid issues like bug #802210.
  4. Fully upgrade the system (emerge -a -uvDU @world or similar). This is critical to mitigate possible Portage issues.
  5. Depclean (emerge -acv).

/etc/portage changes

Warning
This is now obsolete since stabilisation on 2021-11-01, see bug #809410.

This section is now obsolete for ~arch users since the changes have now been made in the Gentoo ebuild repository. It is still relevant if you're using stable.

FILE /etc/portage/package.use
# Disable libcrypt in glibc
>=sys-libs/glibc-2.33-r3 -crypt

# Provide libcrypt
>=sys-libs/libxcrypt-4.4.23-r2 system
FILE /etc/portage/package.accept_keywords
# Allow the new libcrypt virtual which includes libxcrypt
~virtual/libcrypt-2

# Needed for the right masks to kick in, we revbumped for the migration
# NOTE: Remember to drop this once the migration is done as a stable user
=sys-libs/glibc-2.33-r7
>=sys-libs/libxcrypt-4.4.24
FILE /etc/portage/package.unmask
# Allow virtual which specifies libxcrypt
~virtual/libcrypt-2
FILE /etc/portage/profile/package.use.mask
# Allow libxcrypt to be the system provider of libcrypt, not glibc
>=sys-libs/libxcrypt-4.4.23-r2 -system -split-usr
FILE /etc/portage/profile/package.use.force
# Don't force glibc to provide libcrypt
>=sys-libs/glibc-2.33-r3 -crypt

Upgrade system

Perform a full world upgrade again. If all is going well, there should be many rebuilds caused by virtual/libcrypt.

root #emerge -p -uvDU @world
These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] app-crypt/openpgp-keys-libidn-20210517::gentoo  0 KiB
[ebuild     U  ] net-libs/nghttp2-1.41.0-r2:0/1.14::gentoo [1.41.0:0/1.14::gentoo] USE="threads -cxx -debug -hpack-tools -jemalloc -static-libs -test -utils -xml (-abi_riscv_lp64%) (-abi_riscv_lp64d%) (-libressl%)" 0 KiB
[ebuild     U ~] net-analyzer/openbsd-netcat-1.195-r1::gentoo [1.195::gentoo] 0 KiB
[ebuild     U  ] dev-util/source-highlight-3.1.9-r1::gentoo [3.1.9::gentoo] USE="-doc -static-libs" 0 KiB
[ebuild     U  ] net-libs/libslirp-4.6.1::gentoo [4.6.0::gentoo] USE="-static-libs" 133 KiB
[ebuild     U  ] net-vpn/tor-0.4.5.9-r1::gentoo [0.4.5.9::gentoo] USE="caps man seccomp (selinux) server verify-sig -doc -lzma -scrypt (-systemd) -test -tor-hardening -zstd" 0 KiB
[ebuild     U  ] net-misc/curl-7.77.0-r1::gentoo [7.77.0::gentoo] USE="ftp http2 imap ipv6 openssl pop3 progress-meter smtp ssl tftp threads -adns -alt-svc -brotli -gnutls -gopher -hsts -idn -kerberos -ldap -mbedtls -metalink (-nghttp3) -nss (-quiche) -rtmp -samba -ssh -sslv3 -static-libs -telnet -test (-winssl) -zstd" CURL_SSL="openssl -gnutls -mbedtls -nss (-winssl)" 0 KiB
[ebuild     U  ] sys-kernel/dracut-053-r1::gentoo [053::gentoo] USE="(selinux)" 0 KiB
[ebuild  NS   ~] sys-kernel/gentoo-kernel-bin-5.4.127-r1:5.4.127::gentoo [5.4.117-r1:5.4.117::gentoo, 5.4.118-r1:5.4.118::gentoo, 5.4.119-r1:5.4.119::gentoo, 5.4.120-r1:5.4.120::gentoo, 5.4.121-r1:5.4.121::gentoo, 5.4.123-r1:5.4.123::gentoo, 5.4.125-r1:5.4.125::gentoo] USE="initramfs -test" 55073 KiB
[ebuild  r  U ~] virtual/dist-kernel-5.4.127:0/5.4.127::gentoo [5.4.125:0/5.4.125::gentoo] 0 KiB
[ebuild     U  ] net-dns/libidn2-2.3.1:0/2::gentoo [2.3.0:0/2::gentoo] USE="verify-sig%* -static-libs (-abi_riscv_lp64%) (-abi_riscv_lp64d%)" 0 KiB
[ebuild  rR   ~] sys-fs/zfs-2.0.4-r1:0/4::gentoo  USE="dist-kernel pam rootfs (split-usr) -custom-cflags -debug (-kernel-builtin) -minimal -nls -python -static-libs (-test-suite)" PYTHON_TARGETS="python3_8 python3_9" 0 KiB
[ebuild   R    ] sys-libs/glibc-2.33:2.2::gentoo  USE="caps multiarch (selinux) ssp (static-libs) (-audit) (-cet) -compile-locales -crypt* -custom-cflags -doc -gd -headers-only (-multilib) -multilib-bootstrap -nscd -profile -static-pie -suid -systemtap -test (-vanilla)" 0 KiB
[ebuild  N    ~] sys-libs/libxcrypt-4.4.20:0/1::gentoo  USE="compat static-libs system (-split-usr) -test" 522 KiB
[ebuild  r  U #] virtual/libcrypt-2:0/2::gentoo [1-r1:0/1::gentoo] USE="static-libs (-abi_riscv_lp64%) (-abi_riscv_lp64d%)" 0 KiB
[ebuild  rR    ] sys-libs/pam-1.5.1::gentoo  USE="filecaps (selinux) (split-usr) (-audit) -berkdb -debug -nis" 0 KiB
[ebuild  rR    ] sys-apps/busybox-1.32.1-r1::gentoo  USE="ipv6 (selinux) static -debug -livecd -make-symlinks -math -mdev -pam -savedconfig -sep-usr -syslog (-systemd)" 0 KiB
[ebuild  rR    ] dev-lang/perl-5.32.1:0/5.32::gentoo  USE="gdbm -berkdb -debug -doc -ithreads -minimal" 0 KiB
[ebuild  rR    ] sys-apps/util-linux-2.36.2::gentoo  USE="caps cramfs logger ncurses pam readline (selinux) (split-usr) suid (unicode) (-audit) -build -cryptsetup -fdformat -hardlink -kill -magic% -nls -python -slang -static-libs -su (-systemd) -test -tty-helpers -udev" PYTHON_TARGETS="python3_8 python3_9 (-python3_7%)" 0 KiB
[ebuild  rR    ] sys-apps/shadow-4.8.1-r3::gentoo  USE="acl pam (selinux) (split-usr) su xattr (-audit) -bcrypt -cracklib -nls (-skey)" 0 KiB
[ebuild  rR   ~] sys-fs/zfs-kmod-2.0.4-r1:0/2.0.4-r1::gentoo  USE="dist-kernel rootfs -custom-cflags -debug" 0 KiB
[ebuild  rR    ] dev-lang/python-3.9.5_p2:3.9::gentoo  USE="gdbm hardened ipv6 ncurses readline sqlite ssl verify-sig (xml) -bluetooth -build -examples -test -tk -wininst" 0 KiB
[ebuild  rR    ] dev-lang/python-3.8.10_p2:3.8::gentoo  USE="gdbm hardened ipv6 ncurses readline sqlite ssl verify-sig (xml) -bluetooth -build -examples -test -tk -wininst" 0 KiB
[ebuild     U ~] dev-lang/python-3.10.0_beta3:3.10::gentoo [3.10.0_beta2:3.10::gentoo] USE="gdbm hardened ipv6 ncurses readline sqlite ssl verify-sig (xml) -bluetooth -build -examples -test -tk -wininst" 18213 KiB
[ebuild     U  ] net-misc/openssh-8.6_p1-r2::gentoo [8.6_p1-r1::gentoo] USE="pam pie scp (selinux) ssl -X -X509 (-audit) -bindist (-debug) -hpn -kerberos (-ldns) -libedit -livecd -sctp -security-key -static -test -xmss" 0 KiB

Total: 25 packages (12 upgrades, 2 new, 1 in new slot, 10 reinstalls), Size of downloads: 73939 KiB

The following packages are causing rebuilds:

  (virtual/libcrypt-2:0/2::gentoo, ebuild scheduled for merge) causes rebuilds for:
    (sys-apps/shadow-4.8.1-r3:0/0::gentoo, ebuild scheduled for merge)
    (dev-lang/python-3.8.10_p2:3.8/3.8::gentoo, ebuild scheduled for merge)
    (dev-lang/perl-5.32.1:0/5.32::gentoo, ebuild scheduled for merge)
    (dev-lang/python-3.9.5_p2:3.9/3.9::gentoo, ebuild scheduled for merge)
    (sys-apps/busybox-1.32.1-r1:0/0::gentoo, ebuild scheduled for merge)
    (sys-libs/pam-1.5.1:0/0::gentoo, ebuild scheduled for merge)
    (sys-apps/util-linux-2.36.2:0/0::gentoo, ebuild scheduled for merge)
  (virtual/dist-kernel-5.4.127:0/5.4.127::gentoo, ebuild scheduled for merge) causes rebuilds for:
    (sys-fs/zfs-2.0.4-r1:0/4::gentoo, ebuild scheduled for merge)
    (sys-fs/zfs-kmod-2.0.4-r1:0/2.0.4-r1::gentoo, ebuild scheduled for merge)

Troubleshooting

General tips before getting into specific situations:

  • Use more backtracking if needed (e.g. --backtrack=9999)
  • Disable binpkgs temporarily (--usepkg=n)

error: crypt.h: No such file or directory

It is possible to hit an error such as:

/usr/include/python3.9/Python.h:44:10: fatal error: crypt.h: No such file or directory
   44 | #include <crypt.h>
      |          ^~~~~~~~~

Such errors are likely to be caused by a Portage scheduling issue - bug #802210. A workaround for this has been introduced into >=sys-libs/glibc-2.33-r5 which temporarily preserves the crypt.h header (removed because of the confusion with collisions).

Newer versions of each Python in Gentoo no longer unnecessarily link against libcrypt or try to include crypt.h:

  1. emerge -v1 dev-lang/python:3.8 dev-lang/python:3.9 (and python:3.10 if you have that installed already)
  2. emerge -v1 libxcrypt

Perl fails when trying to emerge libxcrypt

If you have an newer version of glibc installed already with -crypt, you'll need to employ a workaround in order to trigger the preservation mechanism again:

FILE /etc/portage/package.mask
# Mask newer glibc *temporarily*
>=sys-libs/glibc-2.33-r7
FILE /etc/portage/package.unmask
# Allow virtual which specifies glibc *temporarily*
virtual/libcrypt:0/1
FILE /etc/portage/package.mask
# Forbid libxcrypt virtual *temporarily*
virtual/libcrypt:0/2
root #USE="crypt" emerge -v1O sys-libs/glibc --autounmask=n --usepkg=n

Now delete the aforementioned entries just created. Then:

root #USE="-crypt" emerge -v1O sys-libs/glibc --autounmask=n --usepkg=n

Please only do this if you are unable to merge libxcrypt itself with a Perl error.

Python can't be re-emerged

Re-emerging Python may rarely give an error like:

root #emerge -v1 dev-lang/python
[...]
*** WARNING: renaming "_crypt" since importing it failed: build/lib.linux-x86_64-3.9/_crypt.cpython-39-x86_64-linux-gnu.so: undefined symbol: crypt

In this case, please run: 1. emerge -v1O sys-libs/libxcrypt 2. emerge -v1O dev-lang/python:3.9 only if your existing Python wasn't too old (make sure you already had e.g. Python 3.9). Otherwise, skip straight to step 3. 3. Run a world upgrade/try again with your world upgrade.

Conflicts: Nudge the virtual

In some cases, confusing conflicts have appeared.

If this happens, it is recommended to nudge the virtual first:

root #emerge -v1 "~virtual/libcrypt-2" --autounmask=n --usepkg=n

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ~] sys-libs/glibc-2.33-r1:2.2::gentoo [2.33:2.2::gentoo] USE="multiarch ssp (static-libs) (-audit) -caps (-cet) -compile-locales -crypt* -custom-cflags -doc -gd -headers-only (-multilib) -mult
ilib-bootstrap -nscd -profile (-selinux) -static-pie -suid -systemtap -test (-vanilla)" 0 KiB
[ebuild  N    ~] sys-libs/libxcrypt-4.4.20:0/1::gentoo  USE="compat static-libs system (-split-usr) -test" 0 KiB
[ebuild  r  U #] virtual/libcrypt-2:0/2::gentoo [1-r1:0/1::gentoo] USE="static-libs" 0 KiB
[ebuild  rR    ] sys-libs/pam-1.5.1::gentoo  USE="berkdb filecaps (split-usr) (-audit) -debug -nis (-selinux)" 0 KiB
[ebuild  rR    ] sys-apps/busybox-1.32.1-r1::gentoo  USE="ipv6 static -debug -livecd -make-symlinks -math -mdev -pam -savedconfig (-selinux) -sep-usr -syslog -systemd" 0 KiB
[ebuild  rR    ] sys-apps/shadow-4.8.1-r3::gentoo  USE="acl nls pam (split-usr) su xattr (-audit) -bcrypt -cracklib (-selinux) (-skey)" 0 KiB
[ebuild  rR    ] dev-lang/perl-5.32.1:0/5.32::gentoo  USE="berkdb gdbm -debug -doc -ithreads -minimal" 0 KiB
[ebuild  rR    ] sys-apps/util-linux-2.36.2::gentoo  USE="cramfs logger ncurses nls pam readline (split-usr) suid udev (unicode) (-audit) -build -caps -cryptsetup -fdformat -hardlink -kill -magic -python (-selinux) -slang -static-libs -su -systemd -test -tty-helpers" PYTHON_TARGETS="python3_8 python3_9 (-python3_7%)" 0 KiB
[ebuild  rR    ] dev-lang/python-3.9.5_p2:3.9::gentoo  USE="bluetooth gdbm hardened ipv6 ncurses readline sqlite ssl xml -build -examples -test -tk -verify-sig -wininst" 0 KiB
[ebuild  rR    ] dev-lang/python-3.8.10_p2:3.8::gentoo  USE="bluetooth gdbm hardened ipv6 ncurses readline sqlite ssl xml -build -examples -test -tk -verify-sig -wininst" 0 KiB
[ebuild  r  U  ] net-misc/openssh-8.6_p1-r2::gentoo [8.6_p1-r1::gentoo] USE="X pam pie scp ssl -X509 (-audit) -bindist (-debug) -hpn -kerberos (-ldns) -libedit -livecd -sctp -security-key (-selinux) -static -test -xmss" 0 KiB

Total: 11 packages (3 upgrades, 1 new, 7 reinstalls), Size of downloads: 0 KiB

The following packages are causing rebuilds:

  (virtual/libcrypt-2:0/2::gentoo, ebuild scheduled for merge) causes rebuilds for:
    (sys-libs/pam-1.5.1:0/0::gentoo, ebuild scheduled for merge)
    (dev-lang/python-3.8.10_p2:3.8/3.8::gentoo, ebuild scheduled for merge)
    (dev-lang/python-3.9.5_p2:3.9/3.9::gentoo, ebuild scheduled for merge)
    (dev-lang/perl-5.32.1:0/5.32::gentoo, ebuild scheduled for merge)
    (sys-apps/shadow-4.8.1-r3:0/0::gentoo, ebuild scheduled for merge)
    (sys-apps/util-linux-2.36.2:0/0::gentoo, ebuild scheduled for merge)
    (net-misc/openssh-8.6_p1-r2:0/0::gentoo, ebuild scheduled for merge)
    (sys-apps/busybox-1.32.1-r1:0/0::gentoo, ebuild scheduled for merge)

Then complete a full world upgrade.

Conflicts: static-libs conflicts

Even with the nudge, you may still get some conflicts. It's possible they're to do with static-libs.

root #emerge -v1 "~virtual/libcrypt-2" --autounmask=n --usepkg=n --backtrack=9999
These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] sys-libs/glibc-2.33-r1:2.2::gentoo [2.33:2.2::gentoo] USE="caps multiarch ssp (static-libs) -audit (-cet) -compile-locales -crypt* -custom-cflags -doc -gd -headers-only (-multilib) -multili
b-bootstrap -nscd -profile (-selinux) (-static-pie) -suid -systemtap -test (-vanilla)" 59 KiB
[ebuild  N     ] sys-libs/libxcrypt-4.4.22:0/1::gentoo  USE="compat static-libs system (-split-usr) -test" 524 KiB
[ebuild     U #] virtual/libcrypt-2:0/2::gentoo [1-r1:0/1::gentoo] USE="-static-libs* (-abi_riscv_lp64%) (-abi_riscv_lp64d%)" 0 KiB

Total: 3 packages (2 upgrades, 1 new), Size of downloads: 582 KiB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

virtual/libcrypt:0

  (virtual/libcrypt-2:0/2::gentoo, ebuild scheduled for merge) USE="-static-libs" pulled in by
    >=virtual/libcrypt-2 (Argument)

  (virtual/libcrypt-1-r1-1:0/1::gentoo, installed) USE="static-libs -abi_riscv_lp64 -abi_riscv_lp64d" pulled in by
    virtual/libcrypt[static-libs] required by (sys-apps/busybox-1.33.1:0/0::gentoo, installed) USE="ipv6 static -debug -livecd -make-symlinks -math -mdev -pam -savedconfig (-selinux) -sep-usr -syslog -syste
md"
                     ^^^^^^^^^^^


    virtual/libcrypt:0/1= required by (dev-lang/python-3.9.5_p1:3.9/3.9::gentoo, installed) USE="gdbm ipv6 ncurses readline sqlite ssl xml (-bluetooth) -build -examples (-hardened) -test -tk -verify-sig -wi
ninst"
                    ^^^^^


    virtual/libcrypt:0/1= required by (dev-lang/python-3.10.0_beta1:3.10/3.10::gentoo, installed) USE="gdbm ipv6 ncurses readline sqlite ssl xml (-bluetooth) -build -examples (-hardened) -test -tk -verify-s
ig -wininst"
                    ^^^^^


    virtual/libcrypt:0/1= required by (net-misc/openssh-8.6_p1-r1:0/0::gentoo, installed) USE="X pam pie scp ssl -X509 -audit -bindist (-debug) (-hpn) -kerberos -ldns (-libedit) -libressl -livecd -sctp (-se
curity-key) (-selinux) -static -test -xmss"
                    ^^^^^



    =virtual/libcrypt-1-r1 required by (sys-apps/util-linux-2.37:0/0::gentoo, installed) USE="caps cramfs logger ncurses nls pam readline (split-usr) suid (unicode) -audit -build -cryptsetup -fdformat -hard
link -kill -magic -python (-selinux) -slang -static-libs -su -systemd -test -tty-helpers -udev" PYTHON_TARGETS="python3_8 python3_9"
    ^                 ^^^^




    virtual/libcrypt:0/1= required by (dev-lang/python-3.8.10_p1:3.8/3.8::gentoo, installed) USE="gdbm ipv6 ncurses readline sqlite ssl xml (-bluetooth) -build -examples (-hardened) -test -tk -verify-sig -wininst"
                    ^^^^^

    virtual/libcrypt:0/1= required by (dev-lang/python-3.8.10_p1:3.8/3.8::gentoo, installed) USE="gdbm ipv6 ncurses readline sqlite ssl xml (-bluetooth) -build -examples (-hardened) -test -tk -verify-sig -wininst"
                    ^^^^^
    (and 15 more with the same problems)

sys-libs/glibc:2.2

  (sys-libs/glibc-2.33-r1:2.2/2.2::gentoo, ebuild scheduled for merge) USE="caps multiarch ssp (static-libs) -audit (-cet) -compile-locales -crypt -custom-cflags -doc -gd -headers-only (-multilib) -multilib-bootstrap -nscd -profile (-selinux) (-static-pie) -suid -systemtap -test (-vanilla)" pulled in by
    sys-libs/glibc[-crypt(+)] required by (sys-libs/libxcrypt-4.4.22:0/1::gentoo, ebuild scheduled for merge) USE="compat static-libs system (-split-usr) -test"


  (sys-libs/glibc-2.33:2.2/2.2::gentoo, installed) USE="caps crypt multiarch ssp (static-libs) -audit (-cet) -compile-locales -custom-cflags -doc -gd -headers-only (-multilib) -multilib-bootstrap -nscd -profile (-selinux) (-static-pie) -suid -systemtap -test (-vanilla)" pulled in by
    sys-libs/glibc[crypt(+),static-libs(+)?] required by (virtual/libcrypt-1-r1-1:0/1::gentoo, installed) USE="static-libs -abi_riscv_lp64 -abi_riscv_lp64d"


NOTE: Use the '--verbose-conflicts' option to display parents omitted above

!!! The slot conflict(s) shown above involve package(s) which may need to
!!! be rebuilt in order to solve the conflict(s). However, the following
!!! package(s) cannot be rebuilt for the reason(s) shown:

  (dev-lang/python-3.8.10_p1:3.8/3.8::gentoo, installed): ebuild is masked or unavailable
  (dev-lang/python-3.10.0_beta1:3.10/3.10::gentoo, installed): ebuild is masked or unavailable
  (dev-lang/python-3.9.5_p1:3.9/3.9::gentoo, installed): ebuild is masked or unavailable
  (net-misc/openssh-8.6_p1-r1:0/0::gentoo, installed): ebuild is masked or unavailable


It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.

Make sure that static-libs consistently enabled on both sys-libs/libxcrypt and virtual/libcrypt if a package e.g. sys-apps/util-linux or sys-apps/busybox requires it:

FILE /etc/portage/package.use
# Disable libcrypt in glibc
sys-libs/glibc -crypt

# Provide libcrypt
sys-libs/libxcrypt system static-libs
virtual/libcrypt static-libs

Then try the nudge again, then a full world upgrade.

Conflicts: General (try with explicit reverse dependencies)

Where the above --usepkg=n and --backtrack=9999 did not help rebuilding all reverse dependencies of virtual/libcrypt, handing that list to portage explicitly has been proven to work in some cases. All it takes is either qdepends (of app-portage/portage-utils) or equery (from app-portage/gentoolkit) to gather the list and glueing things together in shell:

For the variant using qdepends:

root #emerge -1 '~virtual/libcrypt-2' $(qdepends -Q virtual/libcrypt | awk -F: '{print $1}' | sed 's,^,=,')

For the variant using equery:

root #emerge -1 '~virtual/libcrypt-2' $(equery depends virtual/libcrypt | awk '{print $1}' | sed 's,^,=,')

What this does is collect reverse dependencies, take the first word of each line, prepend "=" to each line, and forward the resulting lines to emerge.

This works because we're forcing Portage to consider rebuilding both libxcrypt and any packages which must be rebuilt together with it simultaneously.

Circular dependencies

Tip
This is a prominent issue when performing a fresh install with a stage3 then upgrading immediately to ~arch.

A Portage (arguably PMS) bug bug #702806 (and its many duplicates) mean that the python-any-r1 eclass pulls in the latest version of Python even if it is not listed in PYTHON_TARGETS.

See Circular_dependencies#Solution_2 for more details / fixes!

This can manifest as:

root #emerge -p -uvDU @world
[...]

* Error: circular dependencies:

(dev-lang/python-3.10.0_beta4:3.10/3.10::gentoo, ebuild scheduled for merge) depends on
 (virtual/libcrypt-2:0/2::gentoo, ebuild scheduled for merge) (buildtime_slot_op)
  (sys-libs/libxcrypt-4.4.23-r1:0/1::gentoo, ebuild scheduled for merge) (runtime)
   (sys-libs/glibc-2.33-r2:2.2/2.2::gentoo, ebuild scheduled for merge) (buildtime)
    (dev-lang/python-3.10.0_beta4:3.10/3.10::gentoo, ebuild scheduled for merge) (buildtime)

In this case, please try emerge -a -uvDU @world --exclude python:3.10.

Collisions

  • Collisions on just libcrypt.h where libcrypt.h is not owned by any package was possible for a time although the workaround has since been removed. We recommend using FEATURES="unmerge-orphans" and not FEATURES="collision-protect".
  • Collisions between glibc and libxcrypt are the result of a possible Portage bug. Work around this with FEATURES="-collision-protect -unmerge-orphans -protect-owned" emerge -v1 libxcrypt.

Blockers

On one occasion, a nonsensical blocker occurred (on a more outdated system):

root #emerge -p -uvDU @world --backtrack=9999

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] sys-kernel/linux-headers-5.13::gentoo [5.10::gentoo] USE="-headers-only" 3 KiB
[ebuild     U  ] sys-devel/gnuconfig-20210107::gentoo [20200621::gentoo] 0 KiB
[ebuild     U  ] sys-libs/ncurses-6.2_p20210619:0/6::gentoo [6.2-r1:0/6::gentoo] USE="cxx (split-usr) (tinfo) -ada -debug -doc -gpm -minimal -profile -static-libs -test -trace (-abi_riscv_lp64%) (-abi_riscv_lp64d%) (-threads%) (-unicode%*)" 818 KiB
[ebuild     U  ] sys-libs/timezone-data-2021a-r1::gentoo [2020f::gentoo] USE="nls -leaps-timezone -zic-slim" 0 KiB
[ebuild     U  ] sys-devel/gcc-config-2.4::gentoo [2.3.2-r1::gentoo] USE="(cc-wrappers) (native-symlinks)" 0 KiB
[ebuild     U  ] sys-devel/binutils-config-5.4::gentoo [5.3.2::gentoo] USE="(native-symlinks)" 0 KiB
[ebuild     U  ] app-arch/unzip-6.0_p26::gentoo [6.0_p25-r1::gentoo] USE="bzip2 (unicode) -natspec" 0 KiB
[ebuild     U  ] app-misc/pax-utils-1.3.2::gentoo [1.2.8::gentoo] USE="-caps -debug -python (-seccomp)" PYTHON_SINGLE_TARGET="python3_8 -python3_10% -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild  N     ] sys-devel/autoconf-archive-2021.02.19::gentoo  0 KiB
[ebuild  N     ] acct-group/cron-0::gentoo  0 KiB
[ebuild     U  ] sys-devel/autoconf-wrapper-15::gentoo [13-r1::gentoo] 0 KiB
[ebuild  N     ] acct-group/crontab-0::gentoo  0 KiB
[ebuild  N     ] acct-user/cron-0::gentoo  0 KiB
[ebuild     U  ] sys-process/cronbase-0.3.7-r7::gentoo [0.3.7-r6::gentoo] 0 KiB
[ebuild  N     ] acct-group/ssmtp-0::gentoo  0 KiB
[ebuild     U  ] sys-apps/tcp-wrappers-7.6.31::gentoo [7.6.28::gentoo] USE="ipv6 (split-usr) -netgroups -static-libs (-abi_riscv_lp64%) (-abi_riscv_lp64d%)" 36 KiB
[ebuild     U  ] dev-util/pkgconf-1.7.4:0/3::gentoo [1.7.3-r1:0/3::gentoo] USE="pkg-config -test" 0 KiB
[ebuild     U  ] sys-libs/readline-8.1_p1-r1:0/8::gentoo [8.1:0/8::gentoo] USE="(split-usr) (unicode) -static-libs -utils" 0 KiB
[ebuild     U  ] app-shells/bash-5.1_p8::gentoo [5.1_p4::gentoo] USE="net nls (readline) (-afs) -bashlogger -examples -mem-scramble -plugins" 0 KiB
[ebuild     U  ] sys-libs/e2fsprogs-libs-1.46.2::gentoo [1.45.6::gentoo] USE="(split-usr) -static-libs (-abi_riscv_lp64%) (-abi_riscv_lp64d%)" 0 KiB
[ebuild     U  ] net-libs/nghttp2-1.44.0:0/1.14::gentoo [1.42.0:0/1.14::gentoo] USE="threads -cxx -debug -hpack-tools -jemalloc -static-libs -test -utils -xml (-libressl%)" 3,880 KiB
[ebuild     U  ] dev-libs/libburn-1.5.4::gentoo [1.5.2_p1::gentoo] USE="-debug -static-libs" 968 KiB
[ebuild     U  ] sys-apps/sysvinit-2.99::gentoo [2.98::gentoo] USE="(-ibm) (-selinux) -static" 0 KiB
[ebuild  N     ] app-crypt/libmd-1.0.3-r1::gentoo  253 KiB
[ebuild     U  ] sys-libs/zlib-1.2.11-r4:0/1::gentoo [1.2.11-r3:0/1::gentoo] USE="(split-usr) -minizip -static-libs" 0 KiB
[ebuild     U  ] app-arch/xz-utils-5.2.5-r1::gentoo [5.2.5::gentoo] USE="extra-filters nls (split-usr) -static-libs (-abi_riscv_lp64%) (-abi_riscv_lp64d%) (-threads%*)" 0 KiB
[ebuild     U  ] dev-libs/libpcre-8.45:3::gentoo [8.44:3::gentoo] USE="bzip2 cxx readline recursion-limit (split-usr) (unicode) zlib (-jit) -libedit -pcre16 -pcre32 -static-libs (-abi_riscv_lp64%) (-abi_riscv_lp64d%)" 0 KiB
[ebuild     U  ] dev-libs/libunistring-0.9.10-r1:0/2::gentoo [0.9.10:0/2::gentoo] USE="-doc -static-libs" 0 KiB
[ebuild     U  ] sys-apps/file-5.40-r3::gentoo [5.39-r3::gentoo] USE="bzip2 zlib -lzma -python (-seccomp) -static-libs" PYTHON_TARGETS="python3_8 -python3_10% -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild     U  ] app-arch/zstd-1.5.0:0/1::gentoo [1.4.8-r1:0/1::gentoo] USE="threads -lz4 -static-libs" 0 KiB
[ebuild     U  ] dev-util/gtk-doc-am-1.33.2::gentoo [1.33.1::gentoo] 0 KiB
[ebuild     U  ] media-libs/freetype-2.11.0:2::gentoo [2.10.4:2::gentoo] USE="adobe-cff bzip2 cleartype-hinting%* png -X -brotli -debug -doc -fontforge -harfbuzz (-infinality) -static-libs -utils (-bindist%) (-cleartype_hinting%*)" 2,204 KiB
[ebuild     U  ] sys-apps/sandbox-2.24::gentoo [2.20::gentoo] 0 KiB
[ebuild     U  ] net-libs/libtirpc-1.3.2:0/3::gentoo [1.3.1:0/3::gentoo] USE="ipv6 (split-usr) -kerberos -static-libs" 0 KiB
[ebuild     U  ] app-emacs/emacs-common-1.8::gentoo [1.6-r4::gentoo] USE="-games -gui" 60 KiB
[ebuild  N     ] dev-lang/python-exec-conf-2.4.6:2::gentoo  PYTHON_TARGETS="python3_8 (-pypy3) -python3_10 -python3_9" 0 KiB
[ebuild     U  ] dev-lang/python-exec-2.4.8:2::gentoo [2.4.6-r3:2::gentoo] USE="(native-symlinks) -test%" PYTHON_TARGETS="(python3_10%*) (python3_8) (python3_9) (-pypy3) (-python2_7%*) (-python3_6%) (-python3_7%*)" 0 KiB
[blocks b      ] <dev-lang/python-exec-2.4.6-r4 ("<dev-lang/python-exec-2.4.6-r4" is blocking dev-lang/python-exec-conf-2.4.6)
[ebuild     U  ] sys-kernel/installkernel-gentoo-3::gentoo [2::gentoo] 0 KiB
[ebuild     U  ] sys-apps/baselayout-2.7-r3::gentoo [2.7-r1::gentoo] USE="(split-usr) -build" 0 KiB
[ebuild     U  ] sys-apps/net-tools-2.10::gentoo [1.60_p20180626073013::gentoo] USE="arp hostname ipv6 nls -nis -plipconfig (-selinux) -slattach -static" 0 KiB
[ebuild     U  ] sys-process/procps-3.3.17-r1:0/8::gentoo [3.3.16-r2:0/8::gentoo] USE="kill ncurses nls (split-usr) (unicode) -elogind -modern-top (-selinux) -static-libs -systemd -test (-abi_riscv_lp64%) (-abi_riscv_lp64d%)" 0 KiB
[ebuild     U  ] app-arch/pigz-2.6::gentoo [2.4-r1::gentoo] USE="symlink -static -test" 105 KiB
[ebuild     U  ] app-arch/rpm2targz-2021.03.16::gentoo [9.0.0.5g-r2::gentoo] 0 KiB
[ebuild     U  ] net-analyzer/netcat-110.20180111-r1::gentoo [110.20180111::gentoo] USE="ipv6 -static" 69 KiB
[ebuild     U  ] sys-apps/memtester-4.5.1::gentoo [4.5.0::gentoo] 0 KiB
[ebuild     U  ] sys-fs/dosfstools-4.2::gentoo [4.1::gentoo] USE="compat iconv%* -test (-udev%*)" 0 KiB
[ebuild     U  ] sys-fs/squashfs-tools-ng-1.1.2::gentoo [1.0.3::gentoo] USE="lzma%* tools -lz4 -lzo (-selinux) -zstd (-xz%*)" 1,151 KiB
[ebuild     U  ] sys-fs/mtools-4.0.33::gentoo [4.0.26::gentoo] USE="-X" 430 KiB
[ebuild     U  ] dev-libs/libbsd-0.11.3::gentoo [0.10.0::gentoo] USE="-static-libs (-abi_riscv_lp64%) (-abi_riscv_lp64d%)" 391 KiB
[ebuild     U  ] app-eselect/eselect-pinentry-0.7.2::gentoo [0.7::gentoo] 0 KiB
[ebuild     U  ] app-admin/perl-cleaner-2.30::gentoo [2.28::gentoo] 0 KiB
[ebuild     U  ] net-mail/mailbase-1.6-r1::gentoo [1.6::gentoo] USE="pam" 0 KiB
[ebuild     U  ] net-misc/netifrc-0.7.3::gentoo [0.7.1-r1::gentoo] 0 KiB
[ebuild     U  ] sys-apps/hwids-20210613-r1::gentoo [20201207::gentoo] USE="net pci udev usb -systemd%" 0 KiB
[ebuild     U  ] sys-boot/efibootmgr-17::gentoo [16::gentoo] 41 KiB
[ebuild     U  ] dev-libs/expat-2.4.1::gentoo [2.2.10::gentoo] USE="(split-usr) unicode -examples -static-libs" 0 KiB
[ebuild     U  ] sys-libs/gdbm-1.20:0/6::gentoo [1.19:0/6::gentoo] USE="berkdb nls readline -static-libs" 0 KiB
[ebuild     U  ] sys-apps/kmod-29::gentoo [27-r2::gentoo] USE="lzma (tools) zlib -debug -doc -pkcs7 -python -static-libs -zstd% (-libressl%)" PYTHON_TARGETS="python3_8 -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild     U  ] net-firewall/iptables-1.8.7:0/1.8.3::gentoo [1.8.6:0/1.8.3::gentoo] USE="ipv6 (split-usr) -conntrack -netlink -nftables -pcap -static-libs" 0 KiB
[ebuild     U  ] dev-libs/libuv-1.41.1:0/1::gentoo [1.40.0:0/1::gentoo] USE="(-static-libs%)" 0 KiB
[ebuild     U  ] dev-lang/tcl-8.6.11:0/8.6::gentoo [8.6.10:0/8.6::gentoo] USE="threads -debug" 0 KiB
[ebuild     U  ] dev-db/sqlite-3.35.5:3::gentoo [3.34.0:3::gentoo] USE="readline -debug -doc -icu -secure-delete -static-libs -tcl -test -tools" 0 KiB
[ebuild     U  ] dev-util/re2c-2.1.1-r1::gentoo [2.0.3::gentoo] USE="-debug" 0 KiB
[ebuild     U  ] dev-util/strace-5.13::gentoo [5.10::gentoo] USE="-aio -elfutils -perl -static -unwind" 1,993 KiB
[ebuild     U  ] sys-apps/hwloc-2.5.0:0/15::gentoo [2.3.0:0/15::gentoo] USE="cpuid pci -X -cairo (-cuda) -debug (-gl) -netloc (-nvml) -static-libs -svg -udev% -xml (-libudev%)" 6,532 KiB
[ebuild     U  ] app-text/asciidoc-9.0.5-r1::gentoo [9.0.4::gentoo] USE="-doc (-test)" PYTHON_SINGLE_TARGET="python3_8 (-pypy3) -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild     U  ] dev-lang/perl-5.32.1:0/5.32::gentoo [5.32.0-r1:0/5.32::gentoo] USE="gdbm -berkdb* -debug -doc -ithreads -minimal" 0 KiB
[ebuild     U  ] dev-lang/perl-5.34.0-r1:0/5.34::gentoo [5.32.0-r1:0/5.32::gentoo] USE="gdbm -berkdb* -debug -doc -ithreads -minimal" 0 KiB
[ebuild     U  ] virtual/perl-Data-Dumper-2.179.0::gentoo [2.174.0-r1::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-Test-Harness-3.430.0::gentoo [3.420.0-r3::gentoo] 0 KiB
[ebuild     U  ] perl-core/File-Temp-0.231.100::gentoo [0.230.900::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-File-Temp-0.231.100::gentoo [0.230.900::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-ExtUtils-MakeMaker-7.620.0::gentoo [7.440.0::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-Carp-1.520.0-r1::gentoo [1.500.0-r3::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-Exporter-5.760.0::gentoo [5.740.0::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-Encode-3.80.0::gentoo [3.60.0::gentoo] 0 KiB
[ebuild     U  ] sys-apps/help2man-1.48.3::gentoo [1.47.16::gentoo] USE="nls" 0 KiB
[ebuild     U  ] net-dns/libidn2-2.3.2:0/2::gentoo [2.3.0:0/2::gentoo] USE="-static-libs -verify-sig% (-abi_riscv_lp64%) (-abi_riscv_lp64d%)" 2,119 KiB
[ebuild     U  ] virtual/perl-File-Spec-3.800.0::gentoo [3.780.0-r1::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-IO-1.460.0::gentoo [1.430.0::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-MIME-Base64-3.160.0::gentoo [3.150.0-r7::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-Digest-MD5-2.580.0::gentoo [2.550.100_rc::gentoo] 0 KiB
[ebuild  N     ] virtual/perl-Time-Local-1.300.0::gentoo  0 KiB
[ebuild  N     ] dev-perl/HTTP-Date-6.50.0::gentoo  0 KiB
[ebuild  N     ] virtual/perl-Compress-Raw-Zlib-2.101.0::gentoo  0 KiB
[ebuild  N     ] dev-perl/Encode-Locale-1.50.0::gentoo  USE="-test" 0 KiB
[ebuild     U  ] virtual/perl-Getopt-Long-2.520.0::gentoo [2.510.0::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-Module-Metadata-1.0.37-r1::gentoo [1.0.37::gentoo] 0 KiB
[ebuild  N     ] dev-perl/File-Listing-6.140.0::gentoo  USE="-test" 0 KiB
[ebuild  N     ] dev-perl/Socket6-0.280.0::gentoo  0 KiB
[ebuild  N     ] dev-perl/IO-HTML-1.4.0::gentoo  USE="-test" 0 KiB
[ebuild  N     ] dev-perl/HTML-Tagset-3.200.0-r2::gentoo  0 KiB
[ebuild     U  ] virtual/perl-Digest-SHA-6.20.0-r2::gentoo [6.20.0-r1::gentoo] 0 KiB
[ebuild  N     ] virtual/perl-XSLoader-0.300.0-r4::gentoo  0 KiB
[ebuild  N     ] virtual/perl-Compress-Raw-Bzip2-2.101.0::gentoo  0 KiB
[ebuild  N     ] virtual/perl-IO-Compress-2.102.0::gentoo  0 KiB
[ebuild     U  ] virtual/perl-ExtUtils-CBuilder-0.280.236::gentoo [0.280.234::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-ExtUtils-Install-2.200.0::gentoo [2.140.0-r3::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-ExtUtils-Manifest-1.730.0::gentoo [1.720.0-r1::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-ExtUtils-ParseXS-3.430.0::gentoo [3.400.0-r1::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-Perl-OSType-1.10.0-r5::gentoo [1.10.0-r4::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-Text-ParseWords-3.300.0-r8::gentoo [3.300.0-r7::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-podlators-4.140.0-r2::gentoo [4.140.0::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-version-0.992.800::gentoo [0.992.400-r1::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-CPAN-Meta-YAML-0.18.0-r7::gentoo [0.18.0-r6::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-JSON-PP-4.60.0::gentoo [4.40.0::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-Parse-CPAN-Meta-2.150.10-r5::gentoo [2.150.10-r4::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-CPAN-Meta-2.150.10-r5::gentoo [2.150.10-r4::gentoo] 0 KiB
[ebuild     U  ] dev-perl/Module-Build-0.423.100::gentoo [0.422.400::gentoo] USE="-test" 0 KiB
[ebuild  N     ] dev-perl/IO-Socket-INET6-2.720.0-r1::gentoo  0 KiB
[ebuild  N     ] virtual/perl-IO-Socket-IP-0.410.0::gentoo  0 KiB
[ebuild  N     ] virtual/perl-parent-0.238.0-r1::gentoo  0 KiB
[ebuild  N     ] virtual/perl-CPAN-Meta-Requirements-2.140.0-r7::gentoo  0 KiB
[ebuild     U  ] dev-libs/openssl-1.1.1k:0/1.1::gentoo [1.1.1i:0/1.1::gentoo] USE="asm zlib -bindist -rfc3779 (-sctp) -sslv3 -static-libs -test -tls-heartbeat -vanilla" 0 KiB
[ebuild     U  ] net-misc/curl-7.77.0-r1::gentoo [7.74.0-r2::gentoo] USE="ftp http2 imap ipv6 openssl pop3 progress-meter smtp ssl tftp -adns -alt-svc -brotli -gnutls -gopher -hsts -idn -kerberos -ldap -mbedtls (-metalink) (-nghttp3) -nss (-quiche) (-rtmp) -samba -ssh -sslv3% -static-libs -telnet -test -threads (-winssl) -zstd (-libressl%)" CURL_SSL="openssl -gnutls -mbedtls -nss (-winssl) (-libressl%)" 0 KiB
[ebuild     U  ] mail-mta/ssmtp-2.64-r4::gentoo [2.64-r3::gentoo] USE="ipv6 mta ssl -gnutls (-libressl%)" 59 KiB
[ebuild     U  ] dev-perl/Net-SSLeay-1.900.0::gentoo [1.880.0::gentoo] USE="-examples -minimal -test (-libressl%)" 522 KiB
[ebuild     U  ] virtual/mta-1-r2::gentoo [1-r1::gentoo] 0 KiB
[ebuild     U  ] virtual/perl-libnet-3.130.0::gentoo [3.110.0-r4::gentoo] USE="ssl" 0 KiB
[ebuild     U  ] dev-perl/MailTools-2.210.0::gentoo [2.190.0::gentoo] USE="-examples -test" 0 KiB
[ebuild  N     ] perl-core/Scalar-List-Utils-1.560.0::gentoo  0 KiB
[ebuild     U  ] virtual/perl-Scalar-List-Utils-1.560.0::gentoo [1.550.0::gentoo] 0 KiB
[blocks b      ] >perl-core/Scalar-List-Utils-1.550.0-r999 (">perl-core/Scalar-List-Utils-1.550.0-r999" is blocking virtual/perl-Scalar-List-Utils-1.550.0)
[ebuild  N     ] dev-perl/URI-1.730.0::gentoo  USE="-test" 0 KiB
[ebuild     U  ] dev-perl/IO-Socket-SSL-2.71.0::gentoo [2.66.0::gentoo] USE="-examples -idn -test%" 0 KiB
[ebuild  N     ] dev-perl/LWP-MediaTypes-6.40.0::gentoo  USE="-test" 0 KiB
[ebuild  N     ] dev-perl/HTTP-Message-6.320.0::gentoo  USE="-test" 0 KiB
[ebuild  N     ] dev-perl/Net-HTTP-6.210.0::gentoo  USE="-minimal -test" 0 KiB
[ebuild  N     ] dev-perl/HTML-Parser-3.760.0::gentoo  USE="-test" 0 KiB
[ebuild  N     ] dev-perl/HTTP-Cookies-6.100.0::gentoo  USE="-test" 0 KiB
[ebuild  N     ] dev-perl/HTTP-Negotiate-6.10.0-r1::gentoo  0 KiB
[ebuild  N     ] dev-perl/Try-Tiny-0.300.0::gentoo  USE="-minimal -test" 0 KiB
[ebuild  N     ] dev-perl/WWW-RobotRules-6.20.0-r1::gentoo  0 KiB
[ebuild  N     ] dev-perl/libwww-perl-6.550.0::gentoo  USE="ssl -test" 174 KiB
[ebuild  N     ] dev-perl/LWP-Protocol-https-6.100.0::gentoo  USE="-test" 0 KiB
[ebuild     U  ] dev-perl/XML-Parser-2.460.0::gentoo [2.440.0::gentoo] 0 KiB
[ebuild     U  ] dev-perl/Digest-HMAC-1.40.0::gentoo [1.30.0-r2::gentoo] 0 KiB
[ebuild     U  ] dev-perl/IO-Tty-1.160.0::gentoo [1.120.0::gentoo] USE="-test%" 27 KiB
[ebuild   R    ] sys-libs/pam-1.5.1::gentoo  USE="filecaps (split-usr) -audit -berkdb* -debug -nis (-selinux)" 0 KiB
[ebuild     U  ] sys-apps/util-linux-2.37-r1::gentoo [2.36.1-r1::gentoo] USE="cramfs logger ncurses nls pam python readline (split-usr) suid (unicode) -audit -build -caps -cryptsetup -fdformat -hardlink -kill -magic% (-selinux) -slang -static-libs -su -systemd -test -tty-helpers -udev" PYTHON_TARGETS="python3_8 -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild     U  ] sys-apps/attr-2.5.1::gentoo [2.4.48-r5::gentoo] USE="nls (split-usr) -debug -static-libs" 0 KiB
[ebuild     U  ] sys-libs/libcap-2.51::gentoo [2.46::gentoo] USE="pam (split-usr) -static-libs" 0 KiB
[ebuild     U  ] sys-devel/bison-3.7.6::gentoo [3.7.4::gentoo] USE="nls -examples -static -test" 0 KiB
[ebuild     U  ] sys-devel/m4-1.4.19::gentoo [1.4.18-r1::gentoo] USE="nls%* -examples" 0 KiB
[ebuild     U  ] dev-libs/libxml2-2.9.12-r3:2::gentoo [2.9.10-r4:2::gentoo] USE="ipv6 python readline -debug -examples -icu -lzma -static-libs -test -verify-sig%" PYTHON_TARGETS="python3_8 -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild     U  ] dev-lang/python-3.8.11:3.8::gentoo [3.8.7:3.8::gentoo] USE="gdbm ipv6 ncurses readline sqlite ssl xml (-bluetooth) -build -examples -hardened -test -tk -verify-sig% -wininst (-libressl%)" 0 KiB
[ebuild     U  ] sys-devel/gettext-0.21-r1::gentoo [0.21::gentoo] USE="acl cxx ncurses nls openmp -cvs -doc -emacs -git (-java) -static-libs" 0 KiB
[ebuild  NS    ] dev-lang/python-3.10.0_beta4:3.10::gentoo [3.8.7:3.8::gentoo, 3.9.1:3.9::gentoo] USE="gdbm ipv6 ncurses readline sqlite ssl xml (-bluetooth) -build -examples -hardened -test -tk -verify-sig% -wininst (-libressl%)" 18,224 KiB
[ebuild     U  ] sys-libs/glibc-2.33-r1:2.2::gentoo [2.32-r6:2.2::gentoo] USE="(crypt) multiarch ssp (static-libs) -audit -caps (-cet) -compile-locales -custom-cflags -doc -gd -headers-only (-multilib) -multilib-bootstrap% -nscd -profile (-selinux) (-static-pie) -suid -systemtap -test (-vanilla)" 0 KiB
[ebuild     U  ] sys-libs/glibc-2.33-r3:2.2::gentoo [2.32-r6:2.2::gentoo] USE="multiarch ssp (static-libs) -audit -caps (-cet) -compile-locales (-crypt*) -custom-cflags -doc -gd -headers-only (-multilib) -multilib-bootstrap% -nscd -profile (-selinux) (-static-pie) -suid -systemtap -test (-vanilla)" 0 KiB
[ebuild     U  ] dev-libs/gmp-6.2.1-r1:0/10.4::gentoo [6.2.1:0/10.4::gentoo] USE="asm cxx -doc -pic -static-libs" 0 KiB
[ebuild     U  ] sys-apps/acl-2.3.1::gentoo [2.2.53-r1::gentoo] USE="nls (split-usr) -static-libs" 0 KiB
[ebuild     U  ] app-misc/ca-certificates-20210119.3.66::gentoo [20200601.3.60::gentoo] USE="-cacert" 0 KiB
[ebuild     U  ] sys-apps/findutils-4.8.0::gentoo [4.7.0::gentoo] USE="nls (-selinux) -static -test" 0 KiB
[ebuild  NS    ] sys-devel/binutils-2.36.1-r1:2.36::gentoo [2.32-r1:2.32::gentoo, 2.34:2.34::gentoo, 2.35.1-r1:2.35::gentoo] USE="gold nls plugins (-cet) -default-gold -doc -multitarget -static-libs -test -vanilla" 0 KiB
[ebuild     U  ] app-arch/tar-1.34::gentoo [1.32::gentoo] USE="acl nls xattr -minimal (-selinux) (-static%)" 0 KiB
[ebuild     U  ] net-misc/rsync-3.2.3-r4::gentoo [3.2.3-r1::gentoo] USE="acl iconv ipv6 ssl xattr -examples -lz4 -stunnel -system-zlib -xxhash -zstd (-libressl%)" 0 KiB
[ebuild     U  ] sys-process/psmisc-23.4-r1::gentoo [23.3-r1::gentoo] USE="ipv6 nls -X (-selinux)" 0 KiB
[ebuild     U  ] app-editors/nano-5.8-r2::gentoo [5.4::gentoo] USE="ncurses nls spell (split-usr) (unicode) -debug -justify -magic -minimal -static (-slang%)" 0 KiB
[ebuild     U  ] sys-auth/passwdqc-2.0.2-r1::gentoo [1.4.0-r1::gentoo] 0 KiB
[ebuild     U  ] sys-apps/iproute2-5.13.0::gentoo [5.10.0::gentoo] USE="iptables ipv6 -atm -berkdb* -bpf% -caps -elf -libbsd% -minimal (-selinux)" 826 KiB
[ebuild     U  ] sys-apps/texinfo-6.8::gentoo [6.7::gentoo] USE="nls standalone -static" 0 KiB
[ebuild     U  ] dev-libs/libgpg-error-1.42::gentoo [1.41::gentoo] USE="nls -common-lisp -static-libs" 0 KiB
[ebuild     U  ] dev-lang/python-3.9.6:3.9::gentoo [3.9.1:3.9::gentoo] USE="gdbm ipv6 ncurses readline sqlite ssl xml (-bluetooth) -build -examples -hardened -test -tk -verify-sig% -wininst (-libressl%)" 0 KiB
[ebuild     U  ] sys-process/cronie-1.5.7::gentoo [1.5.5::gentoo] USE="anacron inotify pam (-selinux)" 146 KiB
[ebuild     U  ] dev-libs/libtasn1-4.17.0:0/6::gentoo [4.16.0:0/6::gentoo] USE="-doc -static-libs -test (-valgrind) (-abi_riscv_lp64%) (-abi_riscv_lp64d%)" 0 KiB
[ebuild     U  ] app-text/xmlto-0.0.28-r6::gentoo [0.0.28-r3::gentoo] USE="-latex -text" 0 KiB
[ebuild     U  ] app-crypt/rhash-1.4.2::gentoo [1.4.0::gentoo] USE="nls ssl -debug -static-libs (-libressl%)" 408 KiB
[ebuild     U  ] dev-libs/libisofs-1.5.4::gentoo [1.5.2::gentoo] USE="acl xattr zlib -debug -static-libs -verbose-debug" 850 KiB
[ebuild     U  ] app-text/po4a-0.63-r1::gentoo [0.62::gentoo] USE="-test" 0 KiB
[ebuild     U  ] dev-libs/elfutils-0.185::gentoo [0.182::gentoo] USE="bzip2 nls utils -lzma -static-libs -test (-threads) (-valgrind) -zstd" 0 KiB
[ebuild     U *] app-admin/sysstat-12.5.4::gentoo [12.4.1::gentoo] USE="nls -dcron -debug (-lm-sensors) (-selinux) -static -systemd" 1,440 KiB
[ebuild     U  ] app-misc/tmux-3.2a::gentoo [3.1c::gentoo] USE="-debug (-selinux) -utempter -vim-syntax" 634 KiB
[ebuild     U  ] app-portage/gentoolkit-0.5.1::gentoo [0.5.0-r2::gentoo] USE="-test" PYTHON_TARGETS="python3_8 (-pypy3) -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild     U  ] net-dialup/minicom-2.8::gentoo [2.7.1::gentoo] USE="nls" 926 KiB
[ebuild     U  ] net-dns/bind-tools-9.16.18::gentoo [9.16.8::gentoo] USE="caps ipv6 readline -doc -gssapi -idn -libedit -xml (-libressl%)" 4,906 KiB
[ebuild     U  ] dev-python/pydecomp-0.3-r1::gentoo [0.3::gentoo] PYTHON_TARGETS="python3_8 -python3_9% (-python3_6%) (-python3_7%)" 0 KiB
[ebuild  NS    ] sys-devel/gcc-11.1.0-r2:11::gentoo [9.2.0-r2:9.2.0::gentoo, 9.3.0:9.3.0::gentoo, 10.2.0-r5:10::gentoo] USE="(cxx) fortran nls nptl openmp pch (pie) ssp (-ada) -custom-cflags% -d -debug -doc (-fixed-point) -go -graphite (-hardened) -jit (-libssp) -lto (-multilib) -objc -objc++ -objc-gc -pgo (-sanitize) -systemtap -test (-valgrind) -vanilla (-vtv) -zstd" 0 KiB
[ebuild     U  ] dev-libs/libpcre2-10.37-r2:0/3::gentoo [10.36:0/0::gentoo] USE="bzip2 pcre16* readline recursion-limit (split-usr) unicode zlib (-jit) -libedit -pcre32 -static-libs" 0 KiB
[ebuild     U  ] sys-fs/e2fsprogs-1.46.2::gentoo [1.45.6::gentoo] USE="nls (split-usr) threads%* -cron -fuse -lto% -static-libs" 0 KiB
[ebuild  N     ] sys-libs/libxcrypt-4.4.23-r2:0/1::gentoo  USE="(compat) (split-usr) static-libs (system) -test" 0 KiB
[ebuild     U  ] sys-apps/man-db-2.9.4::gentoo [2.9.3-r1::gentoo] USE="gdbm manpager nls zlib -berkdb* (-seccomp) (-selinux) -static-libs" 0 KiB
[ebuild     U  ] dev-libs/libgcrypt-1.9.3:0/20::gentoo [1.8.7:0/20::gentoo] USE="asm%* -doc -o-flag-munging -static-libs" 0 KiB
[ebuild     U  ] dev-libs/libassuan-2.5.5::gentoo [2.5.4::gentoo] 0 KiB
[ebuild     U  ] dev-libs/nettle-3.7.3:0/8-6::gentoo [3.6-r3:0/8-6::gentoo] USE="asm gmp -doc -static-libs -test" 0 KiB
[ebuild   R    ] app-editors/vim-8.2.0814-r100::gentoo  USE="acl ipv6%* nls -X -cscope -debug -gpm -lua -minimal -perl -python (-racket) (-ruby) (-selinux) -sound -tcl -terminal -vim-pager" LUA_SINGLE_TARGET="lua5-1 (-luajit)" PYTHON_SINGLE_TARGET="python3_8 -python3_10% -python3_9% (-python3_6%) (-python3_7%)" 14,606 KiB
[ebuild     U  ] dev-libs/libksba-1.6.0::gentoo [1.5.0::gentoo] USE="-static-libs" 0 KiB
[ebuild     U  ] dev-libs/libisoburn-1.5.4::gentoo [1.5.2::gentoo] USE="acl readline xattr zlib -debug -external-filters -external-filters-setuid -frontend-optional -launch-frontend -launch-frontend-setuid -libedit -static-libs" 1,586 KiB
[ebuild     U  ] sys-boot/grub-2.06:2/2.06::gentoo [2.05_alpha20200310-r1:2/2.05_alpha20200310-r1::gentoo] USE="fonts nls themes -device-mapper -doc -efiemu (-libzfs) -mount -sdl (-test) -truetype" GRUB_PLATFORMS="efi-64 -coreboot -efi-32 -emu -ieee1275 -loongson -multiboot -pc -qemu -qemu-mips -uboot (-xen) (-xen-32) (-xen-pvh)" 8,140 KiB
[ebuild     U  ] sys-devel/gdb-10.2::gentoo [10.1::gentoo] USE="nls python server* (-cet) -lzma -multitarget -source-highlight -test -vanilla -xml -xxhash (-client%*)" PYTHON_SINGLE_TARGET="python3_8 -python3_10% -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild     U  ] sys-process/htop-3.0.5-r1::gentoo [3.0.4-r1::gentoo] USE="unicode -debug -hwloc (-lm-sensors) -openvz -vserver" 291 KiB
[ebuild     U  ] net-misc/wget-1.21.1::gentoo [1.21-r1::gentoo] USE="ipv6 nls pcre (ssl) zlib -cookie_check -debug -gnutls -idn (-metalink) -ntlm -static -test -uuid (-libressl%)" 0 KiB
[ebuild     U  ] virtual/libcrypt-2:0/2::gentoo [1-r1:0/1::gentoo] USE="static-libs (-abi_riscv_lp64%) (-abi_riscv_lp64d%)" 0 KiB
[ebuild     U  ] sys-apps/less-590::gentoo [563-r1::gentoo] USE="pcre unicode" 0 KiB
[ebuild     U  ] net-libs/gnutls-3.7.2:0/30::gentoo [3.6.15:0/30::gentoo] USE="cxx idn nls openssl tls-heartbeat (-dane) -doc -examples -guile -pkcs11 (-seccomp) -sslv2 -sslv3 -static-libs -test (-test-full) -tools (-valgrind)" 0 KiB
[ebuild     U  ] app-crypt/pinentry-1.1.1-r1::gentoo [1.1.0-r3::gentoo] USE="ncurses -caps (-efl) -emacs -gnome-keyring -gtk (-qt5) (-fltk%)" 0 KiB
[ebuild     U  ] app-arch/libarchive-3.5.1-r1:0/13::gentoo [3.5.1:0/13::gentoo] USE="acl bzip2 e2fsprogs iconv lzma xattr zlib -blake2 -expat -lz4 -lzo -nettle -static-libs -zstd (-libressl%) (-threads%*)" 0 KiB
[ebuild     U  ] app-vim/gentoo-syntax-20210716::gentoo [20201216::gentoo] USE="-ignore-glep31" 19 KiB
[ebuild     U  ] net-dns/dnsmasq-2.85::gentoo [2.82-r100::gentoo] USE="dhcp dnssec dumpfile idn inotify ipv6 libidn2 nls -auth-dns -conntrack -dbus -dhcp-tools -id -lua -nettlehash% -script (-selinux) -static -tftp" LUA_SINGLE_TARGET="lua5-1 (-lua5-2) -lua5-3 -lua5-4 (-luajit)" 507 KiB
[ebuild  NS    ] sys-kernel/gentoo-sources-5.13.4:5.13.4::gentoo [4.19.86:4.19.86::gentoo, 5.6.2:5.6.2::gentoo, 5.10.4:5.10.4::gentoo] USE="-build -experimental -symlink" 441 KiB
[ebuild     U  ] sys-apps/busybox-1.33.1::gentoo [1.32.0-r1::gentoo] USE="ipv6 static -debug -livecd -make-symlinks -math -mdev -pam -savedconfig (-selinux) -sep-usr -syslog -systemd" 0 KiB
[ebuild     U  ] sys-apps/man-pages-5.12-r1::gentoo [5.10::gentoo] L10N="-de -es% -fr -it -ja -nl -pl -pt-BR% -ro% -ru -zh-CN" 0 KiB
[ebuild     U  ] app-crypt/gnupg-2.2.28::gentoo [2.2.26::gentoo] USE="bzip2 nls readline smartcard ssl -doc -ldap (-selinux) -tofu -tools -usb -user-socket -wks-server (-scd-shared-access%)" 0 KiB
[ebuild     U  ] app-editors/emacs-27.2-r3:27::gentoo [27.1-r3:27::gentoo] USE="acl gmp inotify ssl threads xpm zlib -Xaw3d -alsa (-aqua) -athena -cairo -dbus -dynamic-loading -games -gconf -gfile -gif -gpm -gsettings -gtk -gui -gzip-el -harfbuzz -imagemagick -jpeg -json -kerberos -lcms -libxml2 -livecd -m17n-lib -mailutils -motif -png (-selinux) -sound -source -svg -systemd -tiff -toolkit-scroll-bars -wide-int -xft (-xwidgets) (-gtk2%)" 43,586 KiB
[ebuild     U  ] dev-util/cmake-3.21.0::gentoo [3.19.2::gentoo] USE="ncurses -doc -emacs (-qt5) -test" 9,393 KiB
[ebuild     U  ] app-text/wgetpaste-2.32::gentoo [2.29-r1::gentoo] USE="ssl" 0 KiB
[ebuild     U  ] app-crypt/gpgme-1.16.0:1/11::gentoo [1.15.0:1/11::gentoo] USE="cxx -common-lisp -python (-qt5) -static-libs" PYTHON_TARGETS="python3_8 -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild     U  ] dev-util/ccache-4.3-r2::gentoo [4.1::gentoo] USE="-static-c++% -test" 0 KiB
[ebuild     U  ] dev-vcs/git-2.32.0::gentoo [2.30.0::gentoo] USE="blksha1 curl gpg iconv nls pcre perl threads webdav -cgi -cvs -doc -emacs -gnome-keyring -highlight (-mediawiki) (-mediawiki-experimental) -perforce (-ppcsha1) -subversion -test -tk -xinetd (-libressl%) (-pcre-jit%)" PYTHON_SINGLE_TARGET="python3_8 -python3_10% -python3_9% (-python3_6%) (-python3_7%)" 0 KiB
[ebuild     U  ] app-portage/portage-utils-0.92::gentoo [0.90.1::gentoo] USE="nls openmp qmanifest qtegrity -static (-libressl%)" 0 KiB
[ebuild     U  ] dev-python/setuptools-57.4.0::gentoo [51.1.1::gentoo] USE="-test" PYTHON_TARGETS="python3_8 (-pypy3) -python3_10% -python3_9 (-python3_6%) (-python3_7%)" 2,092 KiB
[ebuild     U  ] dev-util/meson-0.58.1::gentoo [0.55.3::gentoo] USE="(-test)" PYTHON_TARGETS="python3_8 -python3_10% -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild     U  ] dev-python/setuptools_scm-6.0.1-r1::gentoo [5.0.1::gentoo] USE="-test" PYTHON_TARGETS="python3_8 (-pypy3) -python3_10% -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild     U  ] dev-python/six-1.16.0::gentoo [1.15.0-r1::gentoo] USE="-doc -test" PYTHON_TARGETS="python3_8 (-pypy3) -python3_10% -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild     U  ] dev-python/idna-3.2::gentoo [2.10-r1::gentoo] PYTHON_TARGETS="python3_8 (-pypy3) -python3_10% -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild     U  ] dev-python/urllib3-1.26.6::gentoo [1.26.2-r1::gentoo] USE="-brotli -test" PYTHON_TARGETS="python3_8 (-pypy3) -python3_10% -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild     U  ] dev-python/markupsafe-2.0.1::gentoo [1.1.1-r1::gentoo] USE="-test" PYTHON_TARGETS="python3_8 (-pypy3) -python3_10% -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild     U  ] net-misc/iputils-20210202::gentoo [20200821::gentoo] USE="arping filecaps ipv6 nls ssl -caps -clockdiff -doc -gcrypt -idn -nettle -rarpd -rdisc -static -tftpd -tracepath -traceroute6 (-libressl%)" 0 KiB
[ebuild     U  ] dev-python/jinja-3.0.1::gentoo [2.11.2-r1::gentoo] USE="-doc -examples -test" PYTHON_TARGETS="python3_8 (-pypy3) -python3_10% -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild  N     ] dev-python/lazy-object-proxy-1.5.0::gentoo  USE="-test" PYTHON_TARGETS="python3_8 (-pypy3) -python3_10 -python3_9" 0 KiB
[ebuild     U  ] dev-python/requests-2.25.1-r2::gentoo [2.25.1::gentoo] USE="-socks5 -test (-ssl%*)" PYTHON_TARGETS="python3_8 (-pypy3) -python3_10% -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild  N     ] dev-python/fasteners-0.16.3::gentoo  USE="-test" PYTHON_TARGETS="python3_8 -python3_9" 0 KiB
[ebuild     U  ] x11-base/xorg-proto-2021.4::gentoo [2020.1::gentoo] USE="-test%" 0 KiB
[ebuild     U  ] sys-auth/pambase-20210201.1::gentoo [20201103::gentoo] USE="nullok passwdqc sha512 -caps -debug -elogind -gnome-keyring -homed% -minimal -mktemp -pam_krb5 -pam_ssh -pwhistory -pwquality -securetty (-selinux) -systemd" 0 KiB
[ebuild     U  ] sys-fs/udev-249-r1::gentoo [246-r1::gentoo] USE="acl kmod (split-usr) (-selinux) -static-libs" 0 KiB
[ebuild     U  ] dev-python/snakeoil-0.9.6::gentoo [0.8.9::gentoo] USE="-test" PYTHON_TARGETS="python3_8 -python3_10% -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild     U  ] net-misc/openssh-8.6_p1-r2::gentoo [8.4_p1-r2::gentoo] USE="pam pie scp ssl -X -X509 -audit -bindist (-debug) -hpn -kerberos -ldns -libedit -livecd (-sctp) (-security-key) (-selinux) -static -test -xmss (-libressl%)" 0 KiB
[ebuild     U  ] dev-libs/glib-2.68.3-r1:2::gentoo [2.66.4:2::gentoo] USE="elf%* mime xattr -dbus -debug -fam -gtk-doc (-selinux) -static-libs (-sysprof) -systemtap -test -utils" 0 KiB
[ebuild  N     ] dev-util/desktop-file-utils-0.26-r1::gentoo  USE="-emacs" 0 KiB
[ebuild     U  ] app-admin/syslog-ng-3.32.1-r1::gentoo [3.30.1::gentoo] USE="ipv6 tcpd -amqp -caps -dbi -geoip2 -http -json (-kafka) (-mongodb) -pacct -python (-redis) -smtp -snmp -spoof-source -systemd (-test) (-libressl%)" PYTHON_SINGLE_TARGET="python3_8 -python3_10% -python3_9 (-python3_7%)" 0 KiB
[ebuild     U  ] app-misc/mc-4.8.26-r5::gentoo [4.8.25-r1::gentoo] USE="edit nls slang unicode xdg -X -gpm -samba -sftp -spell -test" 0 KiB
[ebuild     U  ] sys-apps/lshw-02.19.2b_p20210121::gentoo [02.18b-r1::gentoo] USE="sqlite -gtk -static" 2,412 KiB
[ebuild  N     ] sys-apps/systemd-tmpfiles-248.3::gentoo  USE="(-selinux) -test" 0 KiB
[uninstall     ] sys-apps/opentmpfiles-0.2::gentoo  USE="(-selinux)"
[blocks b      ] sys-apps/opentmpfiles ("sys-apps/opentmpfiles" is blocking sys-apps/systemd-tmpfiles-248.3)
[ebuild     U  ] sys-apps/openrc-0.43.3::gentoo [0.42.1::gentoo] USE="ncurses netifrc pam unicode -audit -bash -debug -newnet (-prefix) (-selinux) -sysv-utils (-split-usr%*) (-static-libs%)" 0 KiB
[ebuild     U  ] app-admin/logrotate-3.18.1::gentoo [3.17.0::gentoo] USE="acl cron (-selinux)" 220 KiB
[ebuild     U  ] app-admin/sudo-1.9.7_p1-r1::gentoo [1.9.4_p2::gentoo] USE="nls pam secure-path sendmail ssl -gcrypt -ldap -offensive -sasl (-selinux) -skey -sssd (-libressl%)" 4,100 KiB
[ebuild     U  ] app-misc/screen-4.8.0-r3::gentoo [4.8.0::gentoo] USE="pam -debug -multiuser -nethack (-selinux)" 0 KiB
[ebuild     U  ] app-portage/eix-0.35.2::gentoo [0.34.11::gentoo] USE="nls sqlite -debug -doc" 0 KiB
[ebuild     U *] net-misc/chrony-4.1-r1::gentoo [4.0::gentoo] USE="caps cmdmon ipv6 nettle ntp nts%* phc refclock rtc sechash -debug% -html -libedit -libtomcrypt% -nss% -pps -samba (-seccomp) (-selinux) -verify-sig%" 552 KiB
[blocks B      ] sys-libs/glibc[crypt(+)] ("sys-libs/glibc[crypt(+)]" is blocking sys-libs/libxcrypt-4.4.23-r2)

Total: 238 packages (193 upgrades, 39 new, 4 in new slots, 2 reinstalls, 1 uninstall), Size of downloads: 138,120 KiB
Conflict: 4 blocks (1 unsatisfied)

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-lang/perl:0

  (dev-lang/perl-5.34.0-r1:0/5.34::gentoo, ebuild scheduled for merge) USE="gdbm -berkdb -debug -doc -ithreads -minimal" pulled in by
    =dev-lang/perl-5.34* required by (virtual/perl-ExtUtils-ParseXS-3.430.0:0/0::gentoo, ebuild scheduled for merge) USE=""
    ^              ^^^^^
    (and 33 more with the same problem)

  (dev-lang/perl-5.32.1:0/5.32::gentoo, ebuild scheduled for merge) USE="gdbm -berkdb -debug -doc -ithreads -minimal" pulled in by
    dev-lang/perl:0/5.32= required by (dev-perl/Unicode-LineBreak-2019.1.0-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    (and 12 more with the same problem)

virtual/libcrypt:0

  (virtual/libcrypt-2:0/2::gentoo, ebuild scheduled for merge) USE="static-libs" pulled in by
    =virtual/libcrypt-2[static-libs] required by (sys-apps/busybox-1.33.1:0/0::gentoo, ebuild scheduled for merge) USE="ipv6 static -debug -livecd -make-symlinks -math -mdev -pam -savedconfig (-selinux) -sep-usr -syslog -systemd"
    ^                 ^
    (and 1 more with the same problem)

  (virtual/libcrypt-1-r1-1:0/1::gentoo, installed) USE="static-libs -abi_riscv_lp64 -abi_riscv_lp64d" pulled in by
    virtual/libcrypt:0/1= required by (sys-apps/shadow-4.8.1-r3-1:0/0::gentoo, installed) USE="acl nls pam (split-usr) su xattr -audit -bcrypt -cracklib (-selinux) -skey"
                    ^^^^^
    =virtual/libcrypt-1-r1 required by (sys-apps/shadow-4.8.1-r3-1:0/0::gentoo, installed) USE="acl nls pam (split-usr) su xattr -audit -bcrypt -cracklib (-selinux) -skey"
    ^                 ^^^^

sys-libs/glibc:2.2

  (sys-libs/glibc-2.33-r3:2.2/2.2::gentoo, ebuild scheduled for merge) USE="multiarch ssp (static-libs) -audit -caps (-cet) -compile-locales (-crypt) -custom-cflags -doc -gd -headers-only (-multilib) -multilib-bootstrap -nscd -profile (-selinux) (-static-pie) -suid -systemtap -test (-vanilla)" pulled in by
    sys-libs/glibc[-crypt(+)] required by (sys-libs/libxcrypt-4.4.23-r2:0/1::gentoo, ebuild scheduled for merge) USE="(compat) (split-usr) static-libs (system) -test"


  (sys-libs/glibc-2.33-r1:2.2/2.2::gentoo, ebuild scheduled for merge) USE="(crypt) multiarch ssp (static-libs) -audit -caps (-cet) -compile-locales -custom-cflags -doc -gd -headers-only (-multilib) -multilib-bootstrap -nscd -profile (-selinux) (-static-pie) -suid -systemtap -test (-vanilla)" pulled in by
    sys-libs/glibc[crypt(+),static-libs(+)?] required by (virtual/libcrypt-1-r1-1:0/1::gentoo, installed) USE="static-libs -abi_riscv_lp64 -abi_riscv_lp64d"


NOTE: Use the '--verbose-conflicts' option to display parents omitted above

It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.


 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (sys-libs/libxcrypt-4.4.23-r2:0/1::gentoo, ebuild scheduled for merge) pulled in by
    sys-libs/libxcrypt[system(-),static-libs(-)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] (sys-libs/libxcrypt[system(-),static-libs(-)]) required by (virtual/libcrypt-2:0/2::gentoo, ebuild scheduled for merge) USE="static-libs"


For more information about Blocked Packages, please refer to the following
section of the Gentoo Linux x86 Handbook (architecture is irrelevant):

Handbook:X86/Working/Portage#Blocked_packages

Do NOT attempt to unmerge sys-libs/glibc.

In this case, emerge -av1 virtual/libcrypt sys-libs/libxcrypt was sufficient to install the new sys-libs/glibc[-crypt] and allow a subsequent world upgrade to be cleanly calculated (even if it looks scary):

root #emerge -av1 virtual/libcrypt sys-libs/libxcrypt

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] sys-libs/glibc-2.33-r3:2.2::gentoo [2.32-r6:2.2::gentoo] USE="multiarch ssp (static-libs) -audit -caps (-cet) -compile-locales (-crypt*) -custom-cflags -doc -gd -headers-only (-multilib) -multilib-bootstrap% -nscd -profile (-selinux) (-static-pie) -suid -systemtap -test (-vanilla)" 0 KiB
[ebuild  N     ] sys-devel/autoconf-archive-2021.02.19::gentoo  0 KiB
[ebuild  N     ] sys-libs/libxcrypt-4.4.23-r2:0/1::gentoo  USE="(compat) (split-usr) static-libs (system) -test" 0 KiB
[ebuild  r  U  ] virtual/libcrypt-2:0/2::gentoo [1-r1:0/1::gentoo] USE="static-libs (-abi_riscv_lp64%) (-abi_riscv_lp64d%)" 0 KiB
[ebuild  rR    ] sys-libs/pam-1.5.1::gentoo  USE="filecaps (split-usr) -audit -berkdb* -debug -nis (-selinux)" 0 KiB
[ebuild  r  U  ] sys-apps/busybox-1.33.1::gentoo [1.32.0-r1::gentoo] USE="ipv6 static -debug -livecd -make-symlinks -math -mdev -pam -savedconfig (-selinux) -sep-usr -syslog -systemd" 0 KiB
[ebuild  r  U  ] dev-lang/perl-5.32.1:0/5.32::gentoo [5.32.0-r1:0/5.32::gentoo] USE="gdbm -berkdb* -debug -doc -ithreads -minimal" 0 KiB
[ebuild  rR    ] sys-apps/shadow-4.8.1-r3::gentoo  USE="acl nls pam (split-usr) su xattr -audit -bcrypt -cracklib (-selinux) -skey" 0 KiB
[ebuild  r  U  ] net-misc/openssh-8.6_p1-r2::gentoo [8.4_p1-r2::gentoo] USE="pam pie scp ssl -X -X509 -audit -bindist (-debug) -hpn -kerberos -ldns -libedit -livecd (-sctp) (-security-key) (-selinux) -static -test -xmss (-libressl%)" 0 KiB
[ebuild  r  U  ] sys-apps/util-linux-2.37-r1::gentoo [2.36.1-r1::gentoo] USE="cramfs logger ncurses nls pam python readline (split-usr) suid (unicode) -audit -build -caps -cryptsetup -fdformat -hardlink -kill -magic% (-selinux) -slang -static-libs -su -systemd -test -tty-helpers -udev" PYTHON_TARGETS="python3_8 -python3_9 (-python3_6%) (-python3_7%)" 0 KiB
[ebuild  r  U  ] dev-lang/python-3.8.11:3.8::gentoo [3.8.7:3.8::gentoo] USE="gdbm ipv6 ncurses readline sqlite ssl xml (-bluetooth) -build -examples -hardened -test -tk -verify-sig% -wininst (-libressl%)" 0 KiB
[ebuild  r  U  ] dev-lang/python-3.9.6:3.9::gentoo [3.9.1:3.9::gentoo] USE="gdbm ipv6 ncurses readline sqlite ssl xml (-bluetooth) -build -examples -hardened -test -tk -verify-sig% -wininst (-libressl%)" 0 KiB

Total: 12 packages (8 upgrades, 2 new, 2 reinstalls), Size of downloads: 0 KiB

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

dev-lang/perl:0

  (dev-lang/perl-5.34.0-r1:0/5.34::gentoo, ebuild scheduled for merge) USE="gdbm -berkdb -debug -doc -ithreads -minimal" conflicts with
    =dev-lang/perl-5.32* required by (virtual/perl-File-Spec-3.780.0-r1-2:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-CPAN-Meta-YAML-0.18.0-r6-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-podlators-4.140.0-1:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-ExtUtils-Install-2.140.0-r3-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (perl-core/File-Temp-0.230.900-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-ExtUtils-Install-2.140.0-r3-2:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-version-0.992.400-r1-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-ExtUtils-ParseXS-3.400.0-r1-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-version-0.992.400-r1-2:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-Exporter-5.740.0-1:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (dev-perl/Authen-SASL-2.160.0-r2-2:0/0::gentoo, installed) USE="-kerberos -test"
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-Digest-MD5-2.550.100_rc-1:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (dev-perl/Pod-Parser-1.630.0-r1-1:0/0::gentoo, installed) USE="-test"
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (dev-perl/Digest-HMAC-1.30.0-r2-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32=[-build(-)] required by (dev-perl/IO-Tty-1.120.0-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-File-Spec-3.780.0-r1-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (dev-perl/Error-0.170.290-2:0/0::gentoo, installed) USE="-test"
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-podlators-4.140.0-1:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32=[-build(-)] required by (dev-perl/XML-Parser-2.440.0-3:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-ExtUtils-MakeMaker-7.440.0-1:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-Getopt-Long-2.510.0-1:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-ExtUtils-Manifest-1.720.0-r1-2:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-Scalar-List-Utils-1.550.0-1:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-ExtUtils-MakeMaker-7.440.0-1:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-Test-Harness-3.420.0-r3-2:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-Scalar-List-Utils-1.550.0-1:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-Module-Metadata-1.0.37-1:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (dev-perl/Module-Build-0.422.400-3:0/0::gentoo, installed) USE="-test"
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-Module-Metadata-1.0.37-1:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-Exporter-5.740.0-1:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-IO-1.430.0-1:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-libnet-3.110.0-r4-2:0/0::gentoo, installed) USE="ssl"
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-File-Temp-0.230.900-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (dev-perl/TermReadKey-2.370.0-3:0/0::gentoo, installed) USE="-examples"
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (dev-perl/MailTools-2.190.0-3:0/0::gentoo, installed) USE="-examples -test"
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (dev-perl/YAML-Tiny-1.730.0-2:0/0::gentoo, installed) USE="-minimal -test"
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-ExtUtils-CBuilder-0.280.234-1:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-Pod-Parser-1.630.0-r8-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-Getopt-Long-2.510.0-1:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-ExtUtils-Manifest-1.720.0-r1-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-Carp-1.500.0-r3-2:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (dev-perl/TimeDate-2.330.0-1:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-JSON-PP-4.40.0-1:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-Test-Harness-3.420.0-r3-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-JSON-PP-4.40.0-1:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-CPAN-Meta-2.150.10-r4-2:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (dev-perl/IO-Socket-SSL-2.66.0-2:0/0::gentoo, installed) USE="-examples -idn"
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-IO-1.430.0-1:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (dev-perl/Unicode-LineBreak-2019.1.0-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-libnet-3.110.0-r4-2:0/0::gentoo, installed) USE="ssl"
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-Text-ParseWords-3.300.0-r7-2:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32=[-build(-)] required by (dev-perl/Text-WrapI18N-0.60.0-r1-3:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (dev-perl/MIME-Charset-1.12.2-2:0/0::gentoo, installed) USE="" L10N="-ja -zh"
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (dev-perl/Net-SSLeay-1.880.0-2:0/0::gentoo, installed) USE="-examples -libressl -minimal -test"
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (dev-perl/Locale-gettext-1.70.0-3:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-Data-Dumper-2.174.0-r1-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-Data-Dumper-2.174.0-r1-2:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-Perl-OSType-1.10.0-r4-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-Parse-CPAN-Meta-2.150.10-r4-2:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-ExtUtils-CBuilder-0.280.234-1:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-MIME-Base64-3.150.0-r7-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-Carp-1.500.0-r3-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-Perl-OSType-1.10.0-r4-2:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-CPAN-Meta-YAML-0.18.0-r6-2:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-MIME-Base64-3.150.0-r7-2:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-Encode-3.60.0-1:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (app-text/po4a-0.62-2:0/0::gentoo, installed) USE="-test"
                 ^^^^^^^^
    dev-lang/perl:0/5.32=[-build(-)] required by (dev-perl/Text-CharWidth-0.40.0-r1-3:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-Encode-3.60.0-1:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-CPAN-Meta-2.150.10-r4-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32=[-build(-)] required by (dev-vcs/git-2.30.0-1:0/0::gentoo, installed) USE="blksha1 curl gpg iconv nls pcre perl threads webdav -cgi -cvs -doc -emacs -gnome-keyring -highlight -libressl (-mediawiki) (-mediawiki-experimental) (-pcre-jit) -perforce (-ppcsha1) -subversion -test -tk -xinetd" PYTHON_SINGLE_TARGET="python3_8 -python3_6 -python3_7"
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (dev-perl/SGMLSpm-1.1-r1-3:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-ExtUtils-ParseXS-3.400.0-r1-2:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-Text-ParseWords-3.300.0-r7-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-Digest-SHA-6.20.0-r1-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-Digest-MD5-2.550.100_rc-1:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (virtual/perl-Parse-CPAN-Meta-2.150.10-r4-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^
    =dev-lang/perl-5.32* required by (virtual/perl-Digest-SHA-6.20.0-r1-2:0/0::gentoo, installed) USE=""
    ^              ^^^^^
    dev-lang/perl:0/5.32= required by (dev-perl/Mozilla-CA-20999999-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^


The following packages are causing rebuilds:

  (virtual/libcrypt-2:0/2::gentoo, ebuild scheduled for merge) causes rebuilds for:
    (sys-apps/busybox-1.33.1:0/0::gentoo, ebuild scheduled for merge)
    (sys-apps/shadow-4.8.1-r3:0/0::gentoo, ebuild scheduled for merge)
    (dev-lang/python-3.8.11:3.8/3.8::gentoo, ebuild scheduled for merge)
    (net-misc/openssh-8.6_p1-r2:0/0::gentoo, ebuild scheduled for merge)
    (dev-lang/perl-5.32.1:0/5.32::gentoo, ebuild scheduled for merge)
    (sys-apps/util-linux-2.37-r1:0/0::gentoo, ebuild scheduled for merge)
    (dev-lang/python-3.9.6:3.9/3.9::gentoo, ebuild scheduled for merge)
    (sys-libs/pam-1.5.1:0/0::gentoo, ebuild scheduled for merge)

!!! The following installed packages are masked:
- sys-apps/opentmpfiles-0.2::gentoo (masked by: package.mask)
/usr/portage/profiles/base/package.mask:
# Andreas K. Hüttel <dilfridge@gentoo.org> (2021-07-06)
# Root privilege escalation, CVE-2017-18925, bug 751415

- virtual/perl-Pod-Parser-1.630.0-r8::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Andreas K. Hüttel <dilfridge@gentoo.org> (2021-07-17)
# Obsolete virtual; package was removed from the Perl
# core distribution. Please depend on dev-perl/Pod-Parser
# instead. Removal in 30 days.

- sys-devel/binutils-2.35.1-r1::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Andreas K. Hüttel <dilfridge@gentoo.org> (2017-05-21)
# (and others, updated later)
# These old versions of toolchain packages (binutils, gcc, glibc) are no
# longer officially supported and are not suitable for general use. Using
# these packages can result in build failures (and possible breakage) for
# many packages, and may leave your system vulnerable to known security
# exploits.
# If you still use one of these old toolchain packages, please upgrade (and
# switch the compiler / the binutils) ASAP. If you need them for a specific
# (isolated) use case, feel free to unmask them on your system.

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
Masking previous subslot
Note
Please remember to mention this if seeking support and remember to delete the entry if it doesn't seem to help, to avoid confusion.

In some cases, it's helped to mask the older subslot of virtual/libcrypt when faced with conflicts that cannot be solved by the other methods described here. A high --backtrack value is likely to be needed still!

FILE /etc/portage/package.mask
# Attempt to avoid conflicts for libxcrypt migration
virtual/libcrypt:0/1
Last resort
Warning
Only do this if all other options have been attempted. This is a last-resort option after troubleshooting in e.g. forums and support channels has failed.

If the system is in a state where part of it has been rebuilt against libxcrypt and part has not, emerge output will appear similar to:

root #emerge -p -uvDU @world
Calculating dependencies... done!
[ebuild     UD ] sys-libs/glibc-2.33-r1:2.2::gentoo [2.33-r5:2.2::gentoo] USE="(crypt*) multiarch (multilib) ssp (static-libs) -audit -caps (-cet) -compile-locales -custom-cflags -doc -gd -headers-only -multilib-bootstrap -nscd -profile (-selinux) -static-pie -suid -systemtap -test (-vanilla) (-systemd%)" 0 KiB
[ebuild     UD ] virtual/libcrypt-1-r1:0/1::gentoo [2:0/2::gentoo] USE="static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild   R    ] app-emulation/wine-gecko-2.47.2:2.47.2::gentoo  USE="shared%*" ABI_X86="32 (64)" 86,507 KiB
[ebuild  NS   ~] app-emulation/wine-mono-6.3.0:6.3.0::gentoo [6.2.0:6.2.0::gentoo] USE="shared%*" 43,353 KiB
[ebuild     U  ] dev-perl/Class-Singleton-1.600.0::gentoo [1.500.0-r1::gentoo] 16 KiB
[ebuild     U  ] app-eselect/eselect-rust-20210703::gentoo [20200419::gentoo] 5 KiB
[ebuild     U  ] dev-perl/XML-Parser-2.460.0::gentoo [2.440.0::gentoo] 249 KiB
[ebuild     U  ] dev-lang/python-3.9.6:3.9::gentoo [3.9.5_p2:3.9::gentoo] USE="gdbm ipv6 ncurses readline sqlite ssl tk xml -bluetooth -build -examples -hardened -test -verify-sig -wininst" 18,618 KiB
[ebuild     U  ] dev-lang/python-3.8.11:3.8::gentoo [3.8.10_p2:3.8::gentoo] USE="gdbm ipv6 ncurses readline sqlite ssl tk xml -bluetooth -build -examples -hardened -test -verify-sig -wininst" 18,023 KiB
[ebuild     U  ] sci-libs/libqalculate-3.19.0:0/21::gentoo [3.18.0:0/21::gentoo] USE="icu readline -curl -gnuplot" 1,961 KiB
[ebuild     U  ] dev-libs/libconfig-1.7.3:0/11::gentoo [1.7.2:0/11::gentoo] USE="cxx -static-libs" ABI_X86="(64) -32 (-x32)" 2,956 KiB
[ebuild     U  ] app-crypt/mit-krb5-1.19.2::gentoo [1.18.2-r4::gentoo] USE="keyutils nls pkinit threads -doc -lmdb -openldap (-selinux) -test -xinetd" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="-aes" 8,537 KiB
[ebuild     U  ] dev-libs/libfstrcmp-0.7-r1::gentoo [0.7::gentoo] USE="-doc -static-libs% -test" 0 KiB
[ebuild     U  ] sys-fs/cryptsetup-2.3.6-r1:0/12::gentoo [2.3.6:0/12::gentoo] USE="argon2 nls openssl udev -gcrypt -kernel -nettle -pwquality -reencrypt -static -static-libs -urandom" 0 KiB
[ebuild     U  ] app-admin/logrotate-3.18.1-r1::gentoo [3.18.1::gentoo] USE="acl cron (-selinux)" 0 KiB
[ebuild     U  ] sys-apps/man-db-2.9.4-r1::gentoo [2.9.4::gentoo] USE="gdbm manpager nls seccomp zlib -berkdb (-selinux) -static-libs" 0 KiB
[ebuild     U  ] media-plugins/gst-transcoder-1.14.1-r1::gentoo [1.14.1::gentoo] USE="-gtk-doc" 0 KiB
[ebuild     U  ] sys-libs/libblockdev-2.25::gentoo [2.24::gentoo] USE="cryptsetup tools -bcache -device-mapper -dmraid -escrow -gtk-doc -introspection -kbd -lvm -test -vdo" PYTHON_SINGLE_TARGET="python3_9 -python3_8" 909 KiB
[ebuild     U  ] app-eselect/eselect-repository-11::gentoo [10::gentoo] USE="-test%" PYTHON_SINGLE_TARGET="python3_9 (-python3_10) -python3_8" 9 KiB
[ebuild     U  ] www-client/vivaldi-4.0.2312.41::gentoo [4.0.2312.38::gentoo] USE="-proprietary-codecs -widevine" L10N="en-US pl -af -am -ar -az -be -bg -bn -ca -cs -da -de -de-CH -el -en-GB -eo -es -es-419 -es-PE -et -eu -fa -fi -fil -fr -fy -gd -gl -gu -he -hi -hr -hu -hy -id -io -is -it -ja -jbo -ka -kab -kn -ko -ku -lt -lv -mk -ml -mr -ms -nb -nl -nn -pa -pt-BR -pt-PT -ro -ru -sc -sk -sl -sq -sr -sr-Latn -sv -sw -ta -te -th -tr -uk -vi -zh-CN -zh-TW" 82,302 KiB
[ebuild  N    ~] dev-libs/collada-dom-2.5.0:0/25::gentoo  4,404 KiB
[ebuild     U  ] dev-lang/rust-1.53.0:stable/1.53::gentoo [1.52.1:stable/1.52::gentoo] USE="-clippy -debug -doc (-miri) (-nightly) (-parallel-compiler) -rls -rustfmt (-system-bootstrap) (-system-llvm) -test -verify-sig -wasm" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="sse2" LLVM_TARGETS="(X86) -AArch64 -AMDGPU -ARM -AVR -BPF -Hexagon -Lanai -MSP430 -Mips -NVPTX -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore" 252,676 KiB
[ebuild     U  ] media-libs/glfw-3.3.4-r2::gentoo [3.3.4::gentoo] USE="-wayland" 0 KiB
[ebuild     U ~] dev-games/openscenegraph-openmw-3.4_p20200425-r101:0/132::gentoo [3.4_p20200425-r100:0/132::gentoo] USE="ffmpeg gif jpeg pdf png qt5 sdl svg tiff truetype wxwidgets zlib -curl -debug -doc -egl -examples -fltk -fox -gdal -glut -gstreamer -lua -openexr -openinventor -osgapps -sdl2 -vnc -xine -xrandr" LUA_SINGLE_TARGET="lua5-1 (-lua5-2)" 0 KiB
[ebuild     U  ] virtual/rust-1.53.0::gentoo [1.52.1::gentoo] ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild     U ~] dev-games/openscenegraph-openmw-3.6_p20210610:0/162::gentoo [3.4_p20200425-r100:0/132::gentoo] USE="collada%* ffmpeg gif jpeg pdf png sdl svg tiff truetype wxwidgets zlib -curl -debug -dicom% -doc -egl -examples -fltk -fox -gdal -glut -gstreamer -las% -lua -openexr -openinventor -osgapps -sdl2 -vnc -xrandr (-qt5%*) (-xine%)" LUA_SINGLE_TARGET="lua5-1 (-lua5-2%)" 5,653 KiB
[ebuild     U  ] sys-auth/polkit-qt-0.114.0::gentoo [0.113.0::gentoo] USE="-debug" 58 KiB
[ebuild     U  ] sys-fs/udisks-2.9.1-r2:2::gentoo [2.9.1-r1:2::gentoo] USE="acl daemon elogind introspection nls -debug -lvm (-selinux) -systemd -vdo -zram" 0 KiB
[ebuild  NS   ~] app-emulation/wine-vanilla-6.14:6.14::gentoo [6.13:6.13::gentoo] USE="X alsa cups faudio fontconfig gecko jpeg lcms mono mp3 nls opengl perl png realtime run-exes sdl ssl threads truetype udev udisks unwind usb xcomposite xinerama xml -capi -custom-cflags -dos -gphoto2 -gsm -gssapi -gstreamer -kerberos -ldap -mingw -netapi -odbc -openal -opencl -osmesa -oss -pcap -prelink -pulseaudio -samba -scanner (-selinux) -test -v4l -vkd3d -vulkan" ABI_X86="32 64 (-x32)" 24,142 KiB
[ebuild     U  ] gnome-base/gvfs-1.48.1-r1::gentoo [1.48.1::gentoo] USE="cdda elogind http (policykit) udev udisks -afp -archive -bluray -fuse -gnome-keyring -gnome-online-accounts -google -gphoto2 -ios -mtp -nfs -samba -systemd -test -zeroconf" 0 KiB
[ebuild     U  ] dev-python/urllib3-1.26.6::gentoo [1.26.5::gentoo] USE="-brotli -test" PYTHON_TARGETS="python3_8 python3_9 (-pypy3) (-python3_10)" 284 KiB
[ebuild     U  ] dev-python/cryptography-3.4.7-r2::gentoo [3.4.7-r1::gentoo] USE="-test" PYTHON_TARGETS="python3_9 (-pypy3) (-python3_10) -python3_8" 0 KiB
[ebuild     U  ] dev-python/matplotlib-3.4.2::gentoo [3.4.1::gentoo] USE="cairo gtk3 qt5 tk (-doc) -examples -excel -latex -test -webagg -wxwidgets" PYTHON_TARGETS="python3_9 (-python3_10) -python3_8" 36,435 KiB
[ebuild     U  ] dev-python/pip-21.1.3::gentoo [21.1.2-r1::gentoo] USE="-test -vanilla" PYTHON_TARGETS="python3_9 (-pypy3) (-python3_10) -python3_8" 8,568 KiB
[ebuild     U  ] dev-python/astroid-2.6.2::gentoo [2.5.8::gentoo] USE="-test" PYTHON_TARGETS="python3_9 (-python3_10) -python3_8" 353 KiB
[ebuild     U ~] dev-python/hypothesis-6.14.5::gentoo [6.14.3::gentoo] USE="cli -test" PYTHON_TARGETS="python3_9 -pypy3 -python3_10 -python3_8" 8,922 KiB
[ebuild     U  ] net-libs/webkit-gtk-2.32.3:4/37::gentoo [2.32.1:4/37::gentoo] USE="X egl geolocation gstreamer introspection jpeg2k jumbo-build libnotify opengl (seccomp) spell (-aqua) -examples -gamepad -gles2-only -gnome-keyring -gtk-doc -systemd -test -wayland" 22,778 KiB
[ebuild     U  ] media-libs/openimageio-2.2.15.1:0/2.2::gentoo [2.2.13.1:0/2.2::gentoo] USE="X gif opengl qt5 truetype -dicom -doc -ffmpeg -field3d -jpeg2k -opencv -openvdb -ptex -python -raw" CPU_FLAGS_X86="sse2 sse3 sse4_1 ssse3 -aes -avx -avx2 -avx512f -f16c -sse4_2" PYTHON_SINGLE_TARGET="python3_9 -python3_8" 28,553 KiB
[blocks B      ] sys-libs/glibc[crypt(+)] ("sys-libs/glibc[crypt(+)]" is blocking sys-libs/libxcrypt-4.4.23-r2)

Total: 38 packages (32 upgrades, 2 downgrades, 1 new, 2 in new slots, 1 reinstall), Size of downloads: 656,257 KiB
Conflict: 1 block (1 unsatisfied)

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

virtual/libcrypt:0

  (virtual/libcrypt-2:0/2::gentoo, installed) USE="static-libs" ABI_X86="(64) -32 (-x32)" pulled in by
    =virtual/libcrypt-2 required by (sys-apps/busybox-1.32.1-r1:0/0::gentoo, installed) USE="ipv6 static -debug -livecd -make-symlinks -math -mdev -pam -savedconfig (-selinux) -sep-usr -syslog -systemd" ABI_X86="(64)"
    ^                 ^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
    virtual/libcrypt:0/2= required by (net-mail/mailutils-3.12-r2:0/0::gentoo, installed) USE="clients gdbm ipv6 nls pam (split-usr) ssl tcpd threads -berkdb -bidi -emacs -guile -kerberos -kyotocabinet -ldap -mysql -postgres -python -sasl -servers -static-libs -tokyocabinet" ABI_X86="(64)" PYTHON_SINGLE_TARGET="python3_9 -python3_8"
                    ^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
    (and 17 more with the same problems)

  (virtual/libcrypt-1-r1:0/1::gentoo, ebuild scheduled for merge) USE="static-libs" ABI_X86="(64) -32 (-x32)" pulled in by
    =virtual/libcrypt-1-r1 required by (sys-apps/util-linux-2.36.2-r1:0/0::gentoo, installed) USE="cramfs logger ncurses nls pam readline (split-usr) static-libs suid udev (unicode) -audit -build -caps -cryptsetup -fdformat -hardlink -kill -magic -python (-selinux) -slang -su -systemd -test -tty-helpers" ABI_X86="32 (64) (-x32)" PYTHON_TARGETS="python3_9 -python3_8"
    ^                 ^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
    virtual/libcrypt:0/1= required by (sys-apps/util-linux-2.36.2-r1:0/0::gentoo, installed) USE="cramfs logger ncurses nls pam readline (split-usr) static-libs suid udev (unicode) -audit -build -caps -cryptsetup -fdformat -hardlink -kill -magic -python (-selinux) -slang -su -systemd -test -tty-helpers" ABI_X86="32 (64) (-x32)" PYTHON_TARGETS="python3_9 -python3_8"
                    ^^^^^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
                                                                                 

sys-libs/glibc:2.2

  (sys-libs/glibc-2.33-r5:2.2/2.2::gentoo, installed) USE="multiarch (multilib) ssp (static-libs) -audit -caps (-cet) -compile-locales (-crypt) -custom-cflags -doc -gd -headers-only -multilib-bootstrap -nscd -profile (-selinux) -static-pie -suid -systemd -systemtap -test (-vanilla)" ABI_X86="(64)" pulled in by
    sys-libs/glibc[-crypt(+)] required by (sys-libs/libxcrypt-4.4.23-r2:0/1::gentoo, installed) USE="(compat) (split-usr) static-libs (system) -test" ABI_X86="(64) -32 (-x32)"
                                                                                                                                                                                                                                                                                                                                                       

  (sys-libs/glibc-2.33-r1:2.2/2.2::gentoo, ebuild scheduled for merge) USE="(crypt) multiarch (multilib) ssp (static-libs) -audit -caps (-cet) -compile-locales -custom-cflags -doc -gd -headers-only -multilib-bootstrap -nscd -profile (-selinux) -static-pie -suid -systemtap -test (-vanilla)" ABI_X86="(64)" pulled in by
    sys-libs/glibc[crypt(+),static-libs(+)?] required by (virtual/libcrypt-1-r1:0/1::gentoo, ebuild scheduled for merge) USE="static-libs" ABI_X86="(64) -32 (-x32)

Note that in the previous output, some packages expected :0/1, while some expected :0/2. The initial investigation should be focused on trying to emerge --oneshot --verbose packages stuck on :0/1 to investigate why emerge cannot consider for them for upgrades.

If such investigation fails, it may be necessary to use a sledgehammer approach. Avoid this unless completely necessary:

root #emerge -p -uvDU @world --ignore-built-slot-operator-deps=y

Then proceed to attempt a world upgrade without the --ignore-built-slot-operator-deps=y option. If it fails, please refer to Conflicts: try with explicit reverse dependencies.

Migrating tree-wide

Expected problems

  • Largely should be smooth when building applications
    • Fedora switched in 2018 and have hit few issues, upstreaming patches where they did (rarely) hit something
  • Missing dependencies on virtual/libcrypt (or missing subslot operator :=)
    • Note that while it's possible (not verified) we could avoid some rebuilds, this is both not guaranteed and doing the work now allows us to migrate to -compat on libxcrypt in future with a revbumped virtual (not yet possible due to so many pre-built binaries requiring compat).

Developer information

gyakovlev has implemented a QA check to ease finding missing dependencies.

  • If your package links against libcrypt, you need to explicitly depend on virtual/libcrypt:= in DEPEND and RDEPEND.
    • Please do revision bump (straight-to-stable) your package (recommended: git mv) when adding a either the dependency or a subslot operator for it. Revbump all versions in tree to avoid the need for stabilisation later and to apply the change consistently.
  • If your package doesn't link against libcrypt but uses it otherwise (e.g. runtime dlopen), please ensure you RDEPEND on virtual/libcrypt (no := required for rebuilds).
  • If your package doesn't use libcrypt, no action is required.

TODO

  1. Get sufficient testing on tinderboxes (ago, toralf, ...)
    • sam is going to switch to libxcrypt for arch testing too
  2. Ensure we're happy with the virtuals
  3. Discuss plan for migration (draft news item, ...)
  4. Achieve full set of keywords
    1. Finalise keywording in bug #749933 (as of writing, only ~m68k remains)
    2. Stabilise a version of libxcrypt on all architectures where we have stable glibc, ongoing in bug #796722

Migration plan

  1. Revbump sys-libs/glibc with IUSE="crypt" (not +crypt)
  2. Revbump sys-libs/libxcrypt with IUSE="+system"?
  3. Unmask the virtual
  4. Migrate masks to musl + uclibc-ng profiles? (... and include a force on the m68k prices until they keyword it?)

Future work

We can look into building sys-libs/libxcrypt with -compat in the distant future (and even then, not guaranteed), but this is not doable for now given the large number of binaries which expect sys-libs/glibc's libcrypt.

We can consider making another version of the virtual which is indefinitely masked for this. Please note that it's not possible to migrate back to sys-libs/glibc's libcrypt if you disable the compatibility interface in sys-libs/libxcrypt.

See also