Howdy, I've been dealing with this for a while. When I do my updates, it either omits seamonkey because the rust version installed is to new or downgrades rust. I keyworded rust to see if emerge could sort it out itself but Seamonkey then complains about the newer version of rust. This is just one example of what I get.
root@fireball / # emerge -auDN world These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] dev-lang/rust-bin-1.53.0:stable::gentoo USE="-clippy -doc (-prefix) -rls -rustfmt -verify-sig" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="sse2" 358,655 KiB [ebuild UD ] virtual/rust-1.53.0-r1::gentoo [1.55.0::gentoo] USE="-rustfmt" ABI_X86="32 (64) (-x32)" 0 KiB [ebuild U ] dev-lang/rust-1.56.1:stable/1.56::gentoo [1.55.0:stable/1.55::gentoo] USE="-clippy -debug -doc (-miri) (-nightly) (-parallel-compiler) -rls -rust-src% -rustfmt (-system-bootstrap) (-system-llvm) -test -verify-sig -wasm" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="sse2" LLVM_TARGETS="(X86) -AArch64 -AMDGPU -ARM -AVR -BPF -Hexagon -Lanai -MSP430 -Mips -NVPTX -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore" 477,539 KiB [ebuild U ] virtual/rust-1.56.1::gentoo [1.55.0::gentoo] USE="-rustfmt" ABI_X86="32 (64) (-x32)" 0 KiB Total: 4 packages (2 upgrades, 1 downgrade, 1 new), Size of downloads: 836,193 KiB !!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: virtual/rust:0 (virtual/rust-1.56.1:0/0::gentoo, ebuild scheduled for merge) USE="-rustfmt" ABI_X86="32 (64) (-x32)" pulled in by =virtual/rust-1.56.1 required by (www-client/firefox-95.0.1-r1:0/95::gentoo, installed) USE="clang dbus gmp-autoupdate openh264 -debug -eme-free -geckodriver -hardened -hwaccel -jack -lto -pgo -pulseaudio -screencast (-selinux) -sndio (-system-av1) -system-harfbuzz -system-icu -system-jpeg -system-libevent -system-libvpx -system-png -system-webp -wayland -wifi" ABI_X86="(64)" L10N="-ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -de -dsb -el -en-CA -en-GB -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -ia -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mk -mr -ms -my -nb -ne -nl -nn -oc -pa -pl -pt-BR -pt-PT -rm -ro -ru -sco -si -sk -sl -son -sq -sr -sv -szl -ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW" ^ ^^^^^^ (and 1 more with the same problem) (virtual/rust-1.53.0-r1:0/0::gentoo, ebuild scheduled for merge) USE="-rustfmt" ABI_X86="32 (64) (-x32)" pulled in by <virtual/rust-1.56.0 required by (www-client/seamonkey-2.53.9.1-r1:0/0::gentoo, installed) USE="chatzilla dbus gmp-autoupdate ipc roaming startup-notification system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-png system-sqlite -crypt -custom-cflags -custom-optimization -debug -jack (-lto) -pulseaudio (-selinux) -test -wifi" ABI_X86="(64)" L10N="-cs -de -en-GB -es-AR -es-ES -fr -hu -it -ja -lt -nl -pl -pt-PT -ru -sk -sv -zh-CN -zh-TW" ^ ^^^^^^ =virtual/rust-1.53.0-r1 required by (www-client/seamonkey-2.53.9.1-r1:0/0::gentoo, installed) USE="chatzilla dbus gmp-autoupdate ipc roaming startup-notification system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-png system-sqlite -crypt -custom-cflags -custom-optimization -debug -jack (-lto) -pulseaudio (-selinux) -test -wifi" ABI_X86="(64)" L10N="-cs -de -en-GB -es-AR -es-ES -fr -hu -it -ja -lt -nl -pl -pt-PT -ru -sk -sv -zh-CN -zh-TW" ^ ^^^^^^^^^ 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. The following USE changes are necessary to proceed: (see "package.use" in the portage(5) man page for more details) # required by virtual/rust-1.53.0-r1::gentoo # required by dev-lang/spidermonkey-78.15.0::gentoo # required by sys-auth/polkit-0.120-r1::gentoo # required by gnome-extra/polkit-gnome-0.105-r2::gentoo =dev-lang/rust-bin-1.53.0 abi_x86_32 Would you like to add these changes to your config files? [Yes/No] In this example, it seems to want to install both the compiled version of rust and the binary version of rust, compiled by someone else, not me, to make Seamonkey happy. Thing is, if I allow it to downgrade, but stop the binary, when I update next time, Firefox pulls in the newer version. If I remove the keywords, it complains about other issues and refuses to update. If I upgrade to make Firefox happy, Seamonkey complains. I've read some stories about rust and such but this is annoying. Is there not a way to make both packages happy? For once, I'd like to be able to update and get a clean outcome. Heck, at this point, I'm a bit confused. I've went around in circles so much, I feel like a professional drunk. :/ Thoughts? Dale :-) :-)