{New bug as requested in bug# 475850 comment# 13} I'm having this issue with both seamonkey and build{-boost}. dev-util/boost-build-1.53.0, dev-util/boost-build-1.53.0 and www-client/seamonkey-2.18_beta4 are all currently masked in /etc/portage/package.mask/package.mask. # cat /etc/portage/package.mask/package.mask # GNOME 3.2 stuff >=app-accessibility/caribou-0.4 app-admin/eselect-gnome-shell-extensions .. {snipped for brevity} =www-client/chromium-27.0.1453.93 =dev-util/mdds-0.9.0 >=dev-python/setuptools-0.7 =www-client/seamonkey-2.18_beta4 =dev-libs/boost-1.53.0 =dev-util/boost-build-1.53.0 =dev-util/boost-1.53.0 Note the following --pretend @world emerge: # date && time emerge -puNDv --with-bdeps=y --keep-going world Mon Jul 8 20:10:59 EDT 2013 These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] app-admin/hddtemp-0.3_beta15-r23 USE="nls%* -network-cron" 0 kB [ebuild U #] dev-util/boost-build-1.53.0 [1.52.0-r1] USE="python -examples {-test}" 0 kB [ebuild U ] sys-apps/hwids-20130707 [20130617] USE="udev" 0 kB [ebuild U ] dev-java/tomcat-servlet-api-7.0.42:3.0 [7.0.41:3.0] USE="-source" 4,319 kB [ebuild N ] dev-libs/boost-1.53.0:0/1.53 USE="icu mpi nls python threads tools -debug -doc -static-libs" PYTHON_TARGETS="python2_7 python3_2 -python2_5 -python2_6 -python3_1 -python3_3" 0 kB [ebuild rR ] app-office/akonadi-server-1.9.2 USE="mysql sqlite -postgres {-test}" 0 kB [ebuild rR ] kde-base/rocs-4.10.5:4 USE="handbook (-aqua) -debug" 0 kB [ebuild rR ] kde-base/kdepimlibs-4.10.5:4 USE="handbook semantic-desktop (-aqua) -debug -ldap -prison {-test}" 0 kB [ebuild rR ] dev-util/kdevplatform-1.5.1:4 USE="subversion (-aqua) -cvs -debug -reviewboard {-test}" LINGUAS="-bs -ca -ca@valencia -da -de -el -en_GB -es -et -fi -fr -gl -it -nb -nds -nl -pl -pt -pt_BR -sl -sv -th -uk -zh_CN -zh_TW" 0 kB [ebuild rR ] kde-base/kdepim-runtime-4.10.5-r1:4 USE="(-aqua) -debug -google -kolab" 0 kB [ebuild rR ] kde-base/kleopatra-4.10.5:4 USE="handbook (-aqua) -debug" 0 kB [ebuild U ] mail-client/thunderbird-17.0.7-r1 [17.0.7] USE="alsa bindist crypt dbus ipc jit libnotify lightning minimal startup-notification -custom-cflags -custom-optimization -debug -gconf -ldap -mozdom (-selinux) -system-sqlite -wifi" LINGUAS="ja -ar -ast -be -bg -bn_BD -br -ca -cs -da -de -el -en_GB -es_AR -es_ES -et -eu -fi -fr -fy_NL -ga_IE -gd -gl -he -hr -hu -hy_AM -id -is -it -ko -lt -nb_NO -nl -nn_NO -pa_IN -pl -pt_BR -pt_PT -rm -ro -ru -si -sk -sl -sq -sr -sv_SE -ta_LK -tr -uk -vi -zh_CN -zh_TW" 1,184 kB [ebuild U #] www-client/seamonkey-2.18_beta4 [2.17.1] USE="alsa chatzilla crypt dbus gstreamer ipc jit libnotify roaming startup-notification -custom-cflags -custom-optimization -debug -system-cairo% -system-jpeg -system-sqlite -wifi" LINGUAS="ja -be -ca -cs -de -en_GB -es_AR -es_ES -fi -fr -gl -hu -it -lt -nb_NO -nl -pl -pt_PT -ru -sk -sv_SE -tr -uk -zh_CN -zh_TW" 0 kB Total: 13 packages (5 upgrades, 1 new, 7 reinstalls), Size of downloads: 5,502 kB The following mask changes are necessary to proceed: (see "package.unmask" in the portage(5) man page for more details) # required by dev-libs/boost-1.53.0 # required by app-office/akonadi-server-1.9.2 # required by kde-base/kdepim-runtime-4.10.5-r1 # required by @__auto_slot_operator_replace_installed__ (argument) # /etc/portage/package.mask/package.mask: # GNOME 3.2 stuff # GNOME 3 core libs # Core Applications # Extra Applications # Documentation # NetworkManager # >=net-misc/networkmanager-0.8.99 # >=net-misc/networkmanager-pptp-0.8.99 # >=net-misc/networkmanager-openconnect-0.8.99 # >=net-misc/networkmanager-openvpn-0.8.99 # >=net-misc/networkmanager-openswan-0.8.99 # >=net-misc/networkmanager-vpnc-0.8.99 # >=gnome-extra/nm-applet-0.8.99 # Meta packages # Misc applications =dev-util/boost-build-1.53.0 NOTE: The --autounmask-keep-masks option will prevent emerge from creating package.unmask or ** keyword changes. The only way to prevent boost-1.53.0 and seamonkey-2.18_beta4 from being considered in the emerge right now is for me to make use of the --exclude function: # date && time emerge -puNDv --with-bdeps=y --keep-going --exclude="dev-libs/boost dev-util/boost-build www-client/seamonkey" world Mon Jul 8 20:50:47 EDT 2013 These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] app-admin/hddtemp-0.3_beta15-r23 USE="nls%* -network-cron" 0 kB [ebuild U ] sys-apps/hwids-20130707 [20130617] USE="udev" 0 kB [ebuild U ] dev-java/tomcat-servlet-api-7.0.42:3.0 [7.0.41:3.0] USE="-source" 4,319 kB [ebuild U ] mail-client/thunderbird-17.0.7-r1 [17.0.7] USE="alsa bindist crypt dbus ipc jit libnotify lightning minimal startup-notification -custom-cflags -custom-optimization -debug -gconf -ldap -mozdom (-selinux) -system-sqlite -wifi" LINGUAS="ja -ar -ast -be -bg -bn_BD -br -ca -cs -da -de -el -en_GB -es_AR -es_ES -et -eu -fi -fr -fy_NL -ga_IE -gd -gl -he -hr -hu -hy_AM -id -is -it -ko -lt -nb_NO -nl -nn_NO -pa_IN -pl -pt_BR -pt_PT -rm -ro -ru -si -sk -sl -sq -sr -sv_SE -ta_LK -tr -uk -vi -zh_CN -zh_TW" 1,184 kB Total: 4 packages (3 upgrades, 1 reinstall), Size of downloads: 5,502 kB real 4m49.479s user 4m44.227s sys 0m3.130s In the case of seamonkey-2.18_beta4m it failed for USE='crypt' bug# 471968 while boost-1.53.0 failed for USE='tools' bug# 473948 In both cases, I chose to mask these packages but portage continues to try to emerge both seamonkey and boost. Note that portage does seem to respect that boost-build is masked. The procedure followed was to unmerge the previous versions {because of blocking}, attempt to emerge the new versions {fail}, then re-emerge the old versions {sucessfully}. Relevant cut and past from boost example {snipped for brevity} follows: # date && time emerge -puNDv --with-bdeps=y --keep-going world Mon Jul 8 18:46:32 EDT 2013 These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] app-admin/hddtemp-0.3_beta15-r23 USE="nls%* -network-cron" 0 kB [ebuild U ] sys-apps/hwids-20130707 [20130617] USE="udev" 0 kB [ebuild U ] dev-java/tomcat-servlet-api-7.0.42:3.0 [7.0.41:3.0] USE="-source" 4,319 kB [ebuild U ] mail-client/thunderbird-17.0.7-r1 [17.0.7] USE="alsa bindist crypt dbus ipc jit libnotify lightning minimal startup-notification -custom-cflags -custom-optimization -debug -gconf -ldap -mozdom (-selinux) -system-sqlite -wifi" LINGUAS="ja -ar -ast -be -bg -bn_BD -br -ca -cs -da -de -el -en_GB -es_AR -es_ES -et -eu -fi -fr -fy_NL -ga_IE -gd -gl -he -hr -hu -hy_AM -id -is -it -ko -lt -nb_NO -nl -nn_NO -pa_IN -pl -pt_BR -pt_PT -rm -ro -ru -si -sk -sl -sq -sr -sv_SE -ta_LK -tr -uk -vi -zh_CN -zh_TW" 1,184 kB [ebuild U #] www-client/seamonkey-2.18_beta4 [2.17.1] USE="alsa chatzilla crypt dbus gstreamer ipc jit libnotify roaming startup-notification -custom-cflags -custom-optimization -debug -system-cairo% -system-jpeg -system-sqlite -wifi" LINGUAS="ja -be -ca -cs -de -en_GB -es_AR -es_ES -fi -fr -gl -hu -it -lt -nb_NO -nl -pl -pt_PT -ru -sk -sv_SE -tr -uk -zh_CN -zh_TW" 0 kB Total: 5 packages (4 upgrades, 1 reinstall), Size of downloads: 5,502 kB WARNING: One or more updates have been skipped due to a dependency conflict: dev-util/boost-build:0 (dev-util/boost-build-1.53.0::gentoo, ebuild scheduled for merge) conflicts with =dev-util/boost-build-1.52.0-r1 required by (dev-libs/boost-1.52.0-r6::gentoo, installed) !!! The following update(s) have been skipped due to unsatisfied dependencies !!! triggered by backtracking: dev-libs/boost:0 real 14m6.203s user 13m52.787s sys 0m7.147s # emerge -C =dev-libs/boost-1.52.0-r6 =dev-util/boost-build-1.52.0-r1 * This action can remove important packages! In order to be safer, use * `emerge -pv --depclean <atom>` to check for reverse dependencies before * removing packages. dev-libs/boost selected: 1.52.0-r6 protected: none omitted: none dev-util/boost-build selected: 1.52.0-r1 protected: none omitted: none All selected packages: dev-util/boost-build-1.52.0-r1 dev-libs/boost-1.52.0-r6 >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. >>> Waiting 5 seconds before starting... >>> (Control-C to abort)... >>> Unmerging in: 5 4 3 2 1 >>> Unmerging (1 of 2) dev-libs/boost-1.52.0-r6... >>> Unmerging (2 of 2) dev-util/boost-build-1.52.0-r1... * GNU info directory index is up-to-date. !!! existing preserved libs: .. {snip} # emerge -1 =dev-util/boost-build-1.53.0 =dev-libs/boost-1.53.0 Calculating dependencies... done! >>> Verifying ebuild manifests >>> Emerging (1 of 2) dev-util/boost-build-1.53.0 >>> Installing (1 of 2) dev-util/boost-build-1.53.0 >>> Emerging (2 of 2) dev-libs/boost-1.53.0 >>> Failed to emerge dev-libs/boost-1.53.0, Log file: >>> '/var/tmp/portage/dev-libs/boost-1.53.0/temp/build.log' >>> Jobs: 1 of 2 complete, 1 failed .. {snip} # emerge -1 =dev-util/boost-build-1.52.0-r1 =dev-libs/boost-1.52.0-r6 Calculating dependencies... done! >>> Verifying ebuild manifests >>> Emerging (1 of 2) dev-util/boost-build-1.52.0-r1 >>> Installing (1 of 2) dev-util/boost-build-1.52.0-r1 >>> Emerging (2 of 2) dev-libs/boost-1.52.0-r6 >>> Installing (2 of 2) dev-libs/boost-1.52.0-r6 >>> Jobs: 2 of 2 complete Load avg: 3.75, 5.36, 4.75 >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. Portage now behaves as indicated above.
(In reply to Guy from comment #0) > [ebuild U #] dev-util/boost-build-1.53.0 [1.52.0-r1] USE="python > -examples {-test}" 0 kB > [ebuild N ] dev-libs/boost-1.53.0:0/1.53 USE="icu mpi nls python This shows that boost-1.53 is not masked. If you want to avoid boost-build-1.53.0 then you also need to mask boost-1.53. This should solve it: echo ">=dev-libs/boost-1.53" >> /etc/portage/package.mask
(In reply to Zac Medico from comment #1) > > echo ">=dev-libs/boost-1.53" >> /etc/portage/package.mask The above worked for boost as did: "=dev-libs/boost-1.53" Thank you. As an enduser, I do have some commentary/questions I'm wondering about. I know that masking specific ebuilds{atoms} at least used to work. I usually rely on this when I want to mask updated versions of packages which have depencies which conflict with the same but older required depencies for other installed packages. Or sometimes mask newer versions of depencies which not all of the packages I have installed are ready for. I as an enduser interpret the situation such that if a package has an explicit slot/version, then I have to mask at the slot/version level and not at the ebuild version. i.e.: # eix dev-libs/boost [I] dev-libs/boost Available versions: 1.49.0-r2 (~)1.52.0-r6(0/1.52){tbz2} [m](~)1.53.0(0/1.53) {debug doc icu mpi +nls python static-libs +threads tools PYTHON_TARGETS="python2_5 python2_6 python2_7 python3_1 python3_2 python3_3"} where the slot/version I want to mask is indicated with the '(0/1.53)' notation. I get this and can deal with it. On the other hand, seamonkey doesn't have an explicit slot/version notation: # eix seamonkey [U] www-client/seamonkey Available versions: 2.17 (~)2.17.1 (~)2.18_beta4 {+alsa +chatzilla +crypt custom-cflags custom-optimization +dbus debug gstreamer +ipc +jit libnotify +roaming startup-notification system-cairo system-jpeg system-sqlite wifi LINGUAS="be ca cs de en_GB es_AR es_ES fi fr gl hu it ja lt nb_NO nl pl pt_PT ru sk sv_SE tr uk zh_CN zh_TW"} In addition to masking the explicit atom syntax "=www-client/seamonkey-2.18_beta4" I've also tried: ">=www-client/seamonkey-2.17.9" ">=www-client/seamonkey-2.18_beta*" "=www-client/seamonkey-2.18_beta*" In each atom syntax I've tried, I've gotten: [ebuild U #] www-client/seamonkey-2.18_beta4 [2.17.1] USE="alsa chatzilla crypt dbus gstreamer ipc jit libnotify roaming startup-notification -custom-cflags -custom-optimization -debug -system-cairo% -system-jpeg -system-sqlite -wifi" LINGUAS="ja -be -ca -cs -de -en_GB -es_AR -es_ES -fi -fr -gl -hu -it -lt -nb_NO -nl -pl -pt_PT -ru -sk -sv_SE -tr -uk -zh_CN -zh_TW" 0 kB If I'm doing something totally wrong, I'd really appreciate knowing! One of the things I thought I knew was that all possible atom syntaxes were valid in the /etc/portage/package.* files. Since my understanding appears to be incorrect, I'd appreciate being pointed to the correct place to find out more. Again, thank you
You can use any kind of atom you want for masking. There are no restrictions. One thing that you are struggling with is that --autounmask is enabled by default. This means that emerge will try to undo your masks when necessary to satisfy dependencies. In order to avoid this problem, you typically need the mask another package that pulled in the masked package. For example, you needed to mask boost-1.53.0 in order to avoid having emerge try to undo your boost-build-1.0.53 mask. For the seamonkey mask, it looks like you may have a package.unmask entry that is undoing your package.mask entry. You can easily spot an issue like that by looking at the output of this command: grep -r seamonkey /etc/portage You might also try using --autounmask=n to see if it gives you more understandable clues.
Invalid package.use {boost} and package.unmask {seamonkey} entries. /etc/portage/package.use/package.use:=dev-libs/boost-1.52.0-r6 -mpi s/b: >=dev-libs/boost-1.52.0-r6 -mpi /etc/portage/package.unmask/package.unmask:>=www-client/seamonkey-2.0 s/b: removed. Thank you for all your patience and help.