Gentoo Emerge Slot Conflict

broken image


  1. #404157 emerge: -keep-going support pkgpretend failures #644246 Add mercurial sync support #710432 emerge: Enable parallel-fetch during pkgpretend #743115 emerge: Fix slot conflict backtracking to group similar missed updates into a single backtracking try #743631 emerge: Fix slot conflict backtracking to prefer choices that satisfy all.
  2. ebuild U dev-lang/php-5.6.13:5.6::gentoo 5.6.10:5.6::gentoo USE='berkdb bzip2 cli crypt ctype exif fileinfo filter fpm gd gdbm hash iconv ipv6 json ldap mysql nls opcache pdo phar posix readline session simplexml spell ssl tokenizer truetype unicode xml zlib -apache2 -bcmath -calendar -cdb -cgi -cjk -curl -debug -embed -enchant (-firebird) -flatfile (-frontbase) -ftp -gmp -imap -inifile.
This page contains changes which are not marked for translation.

Bookmakers Services Our site enables visitors to read honest real players' reviews that are posted by customers of some of the best brands in the iGaming industry. Get to know more about leading betting mobile apps that are optimized Gentoo Portage Slot Conflict for modern smart devices. To avoid an emerge slot conflict with dev-libs/libxml2. Emerge Chromium with the following command. On Gentoo, this can especially.

Home
Blog
Project

Chromium is the open source version of Google's Chrome web browser. It features a minimal user interface, powerful web development tools, and a built in task manager. The Chromium Project is at the forefront of implementing new web standards.

Because Chromium is open source it is legally unable to include several features that the proprietary Google Chrome browser includes by default. Namely automatic updates and the integration of Adobe's Flash Player. A complete list of the differences can be found in the chromium repository.

Installation

USE flags

Linguas

There are many linguas available via USE_EXPAND in Chromium. So many, in fact, that the Wiki cannot display all of them. For a full list of linguas run:

Note
The equery tools comes as part of the app-portage/gentoolkit package. It will need to be installed in order to use the above command.

Miscellaneous

Gentoo Emerge Slot Conflict

USE flags forwww-client/chromiumOpen-source version of Google Chrome web browser

component-build Split build into more shared libraries to speed up linking. Mostly intended for debugging and development, NOT RECOMMENDED for general use.
cups Add support for CUPS (Common Unix Printing System)
custom-cflags Build with user-specified CFLAGS (unsupported)
hangouts Enable support for Google Hangouts features such as screen sharing
headless Build Ozone only with headless backend, NOT RECOMMENDED for general use.
js-type-check Enable JavaScript type-checking for Chrome's web technology-based UI. Requires Java.
kerberos Add kerberos support
official Enable Official build instead of Developer build.
pic Disable optimized assembly code that is not PIC friendly
proprietary-codecs Enable codecs for patent-encumbered audio and video formats.
pulseaudio Add support for PulseAudio sound server
selinux !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
suid Build the SUID sandbox, which is only needed on CONFIG_USER_NS=n kernels
system-ffmpeg Use system ffmpeg instead of the bundled one
system-icu Use system icu instead of the bundled one
tcmalloc Use bundled tcmalloc instead of system malloc
vaapi Enable Video Acceleration API for hardware decoding
wayland Enable dev-libs/wayland backend
widevine Unsupported closed-source DRM capability (required by Netflix VOD)
Data provided by the Gentoo Package Database · Last update: 2020-12-12 15:56 More information about USE flags

icu USE flag

Important
To avoid an emerge slot conflict with dev-libs/libxml2, which prevents Chromium to be emerged, icu USE flag must be set in /etc/portage/make.conf. If icu is newly set, update the system before emerging Chromium by issuing:
root #emerge --ask --update --deep --newuse @world

Emerge

Tip
Be aware that compiling Chromium can take a significant amount of real time, CPU time, and system memory. Allow 2Gb of RAM per each make thread (as defined by MAKEOPTS, see this post). It is probably not a good idea to build Chromium when the system is under heavy load.

After setting USE flags as desired, emerge Chromium with the following command:

Configuration

HiDPI

Chromium's visual output is generally disconnected from a Desktop environment's DPI scaling. It can be instructed to start in a scaled mode by using the --force-device-scale-factor command-line option. This option can be passed a integer or decimal value. Standard scaling begins at 1.0. For example, to make Chromium's UI 1.5x larger:

A full list of command-line switches can be found here.

Usage

Chrome URLs

Much like Firefox, Chromium has many internal Chrome URLs (special pages) that are used for additional configuration, troubleshooting, task management, etc. An exhaustive list of special pages can be accessed by navigating to: chrome://about/

Prominent special pages include:

  • chrome://components/ - Shows enabled components and provides a button to check for updates for each of them. It is sometimes necessary to manually update the PPAPI Adobe flash module via this interfaces when using Chrome.
  • chrome://chrome/ - Displays the About page which includes version information.
  • chrome://extensions/ - A page to manage extensions.
  • chrome://flags/ - Enable/disable experimental features.
  • chrome://flash/ - Displays special information about the Adobe Flash Player (if it is accessible by Chromium).
  • chrome://history/ - Displays web history. Also accessible through the sandwich menu or by pressing Ctrl+h.
  • chrome://memory-redirect/ - Measure the memory usage of the browser and per-tab usage.
  • chrome://net-internals/ - Lots of information on network connections.
  • chrome://plugins/ - Shows a list of plugins. Enable/disable them from this interface. (Deprecated in Chrome version 57[1].)
  • chrome://version/ - Displays more version information than the chrome page.

Troubleshooting

Adobe Flash not working?

Warning
Portage masked www-plugins/adobe-flash as Adobe will stop distributing Flash Player after 2020-12-31.

Because Adobe Flash has a proprietary license, Chromium is not able to include flash as part of the source code package. One must install Adobe Flash Player manually. Installing www-plugins/adobe-flashshould get Adobe Flash Player working in Chromium.

Warning
As mentioned above a proprietary license must be accepted in order to use Adobe Flash. Since the source code is not open, this software could easily open the system to security holes and corporate or government eavesdropping. Be aware of this and proceed with caution!

Tabs crash

Occasionally tabs in Chromium crash. This can be caused by quite a few things, however one of the most common reason for occurrence is that the system is running low on memory. On Gentoo, this can especially happen if the system is compiling a www-client/chromium package update while running Chromium.

The free command can be used to see how much memory is available on the system:

The solution to is to free up memory until the large package compiles have finished. Open a resource monitor of choice and kill applications using large amounts of memory.

See also

  • Firefox — Mozilla's solution to the web browser.
  • Chrome — Google's proprietary (closed source) web browser.

References

  1. https://bugs.chromium.org/p/chromium/issues/detail?id=615738
Retrieved from 'https://wiki.gentoo.org/index.php?title=Chromium&oldid=903841'
Slot conflicts can be annoying. It's worse when an attempt to fix them leads to an even bigger mess. I hope this post helps you with some cases - and that portage will keep getting smarter about resolving them automatically.
It's mostly a transcript of commands and output snippets. Let's take a look:
# emerge -uDNa world

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

dev-libs/icu:0

(dev-libs/icu-54.1-r1:0/54a::gentoo, ebuild scheduled for merge) pulled in by
(no parents that aren't satisfied by other packages in this slot)

(dev-libs/icu-53.1:0/53::gentoo, installed) pulled in by
>=dev-libs/icu-51.2-r1:0/53=[abi_x86_32(-)] required by (media-libs/harfbuzz-0.9.28:0/0.9.18::gentoo, installed)
^^^^^^
(and 3 more with the same problem)

dev-lang/perl:0

(dev-lang/perl-5.20.1-r4:0/5.20::gentoo, ebuild scheduled for merge) pulled in by
(no parents that aren't satisfied by other packages in this slot)

(dev-lang/perl-5.18.2-r2:0/5.18::gentoo, installed) pulled in by
dev-lang/perl:0/5.18=[-build(-)] required by (dev-perl/XML-Parser-2.410.0-r2:0/0::gentoo, installed)
^^^^^^^^
(and 6 more with the same problem)
Gentoo Emerge Slot Conflict

x11-base/xorg-server:0

(x11-base/xorg-server-1.16.4:0/1.16.1::gentoo, ebuild scheduled for merge) pulled in by
(no parents that aren't satisfied by other packages in this slot)

(x11-base/xorg-server-1.15.0:0/1.15.0::gentoo, installed) pulled in by
x11-base/xorg-server:0/1.15.0= required by (x11-drivers/xf86-video-vesa-2.3.3:0/0::gentoo, installed)
^^^^^^^^^^

!!! The ebuild selected to satisfy '>=media-libs/gst-plugins-bad-1.4.5:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]' has unmet requirements.
Gentoo

USE flags forwww-client/chromiumOpen-source version of Google Chrome web browser

component-build Split build into more shared libraries to speed up linking. Mostly intended for debugging and development, NOT RECOMMENDED for general use.
cups Add support for CUPS (Common Unix Printing System)
custom-cflags Build with user-specified CFLAGS (unsupported)
hangouts Enable support for Google Hangouts features such as screen sharing
headless Build Ozone only with headless backend, NOT RECOMMENDED for general use.
js-type-check Enable JavaScript type-checking for Chrome's web technology-based UI. Requires Java.
kerberos Add kerberos support
official Enable Official build instead of Developer build.
pic Disable optimized assembly code that is not PIC friendly
proprietary-codecs Enable codecs for patent-encumbered audio and video formats.
pulseaudio Add support for PulseAudio sound server
selinux !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
suid Build the SUID sandbox, which is only needed on CONFIG_USER_NS=n kernels
system-ffmpeg Use system ffmpeg instead of the bundled one
system-icu Use system icu instead of the bundled one
tcmalloc Use bundled tcmalloc instead of system malloc
vaapi Enable Video Acceleration API for hardware decoding
wayland Enable dev-libs/wayland backend
widevine Unsupported closed-source DRM capability (required by Netflix VOD)
Data provided by the Gentoo Package Database · Last update: 2020-12-12 15:56 More information about USE flags

icu USE flag

Important
To avoid an emerge slot conflict with dev-libs/libxml2, which prevents Chromium to be emerged, icu USE flag must be set in /etc/portage/make.conf. If icu is newly set, update the system before emerging Chromium by issuing:
root #emerge --ask --update --deep --newuse @world

Emerge

Tip
Be aware that compiling Chromium can take a significant amount of real time, CPU time, and system memory. Allow 2Gb of RAM per each make thread (as defined by MAKEOPTS, see this post). It is probably not a good idea to build Chromium when the system is under heavy load.

After setting USE flags as desired, emerge Chromium with the following command:

Configuration

HiDPI

Chromium's visual output is generally disconnected from a Desktop environment's DPI scaling. It can be instructed to start in a scaled mode by using the --force-device-scale-factor command-line option. This option can be passed a integer or decimal value. Standard scaling begins at 1.0. For example, to make Chromium's UI 1.5x larger:

A full list of command-line switches can be found here.

Usage

Chrome URLs

Much like Firefox, Chromium has many internal Chrome URLs (special pages) that are used for additional configuration, troubleshooting, task management, etc. An exhaustive list of special pages can be accessed by navigating to: chrome://about/

Prominent special pages include:

  • chrome://components/ - Shows enabled components and provides a button to check for updates for each of them. It is sometimes necessary to manually update the PPAPI Adobe flash module via this interfaces when using Chrome.
  • chrome://chrome/ - Displays the About page which includes version information.
  • chrome://extensions/ - A page to manage extensions.
  • chrome://flags/ - Enable/disable experimental features.
  • chrome://flash/ - Displays special information about the Adobe Flash Player (if it is accessible by Chromium).
  • chrome://history/ - Displays web history. Also accessible through the sandwich menu or by pressing Ctrl+h.
  • chrome://memory-redirect/ - Measure the memory usage of the browser and per-tab usage.
  • chrome://net-internals/ - Lots of information on network connections.
  • chrome://plugins/ - Shows a list of plugins. Enable/disable them from this interface. (Deprecated in Chrome version 57[1].)
  • chrome://version/ - Displays more version information than the chrome page.

Troubleshooting

Adobe Flash not working?

Warning
Portage masked www-plugins/adobe-flash as Adobe will stop distributing Flash Player after 2020-12-31.

Because Adobe Flash has a proprietary license, Chromium is not able to include flash as part of the source code package. One must install Adobe Flash Player manually. Installing www-plugins/adobe-flashshould get Adobe Flash Player working in Chromium.

Warning
As mentioned above a proprietary license must be accepted in order to use Adobe Flash. Since the source code is not open, this software could easily open the system to security holes and corporate or government eavesdropping. Be aware of this and proceed with caution!

Tabs crash

Occasionally tabs in Chromium crash. This can be caused by quite a few things, however one of the most common reason for occurrence is that the system is running low on memory. On Gentoo, this can especially happen if the system is compiling a www-client/chromium package update while running Chromium.

The free command can be used to see how much memory is available on the system:

The solution to is to free up memory until the large package compiles have finished. Open a resource monitor of choice and kill applications using large amounts of memory.

See also

  • Firefox — Mozilla's solution to the web browser.
  • Chrome — Google's proprietary (closed source) web browser.

References

  1. https://bugs.chromium.org/p/chromium/issues/detail?id=615738
Retrieved from 'https://wiki.gentoo.org/index.php?title=Chromium&oldid=903841'
Slot conflicts can be annoying. It's worse when an attempt to fix them leads to an even bigger mess. I hope this post helps you with some cases - and that portage will keep getting smarter about resolving them automatically.
It's mostly a transcript of commands and output snippets. Let's take a look:
# emerge -uDNa world

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

dev-libs/icu:0

(dev-libs/icu-54.1-r1:0/54a::gentoo, ebuild scheduled for merge) pulled in by
(no parents that aren't satisfied by other packages in this slot)

(dev-libs/icu-53.1:0/53::gentoo, installed) pulled in by
>=dev-libs/icu-51.2-r1:0/53=[abi_x86_32(-)] required by (media-libs/harfbuzz-0.9.28:0/0.9.18::gentoo, installed)
^^^^^^
(and 3 more with the same problem)

dev-lang/perl:0

(dev-lang/perl-5.20.1-r4:0/5.20::gentoo, ebuild scheduled for merge) pulled in by
(no parents that aren't satisfied by other packages in this slot)

(dev-lang/perl-5.18.2-r2:0/5.18::gentoo, installed) pulled in by
dev-lang/perl:0/5.18=[-build(-)] required by (dev-perl/XML-Parser-2.410.0-r2:0/0::gentoo, installed)
^^^^^^^^
(and 6 more with the same problem)

x11-base/xorg-server:0

(x11-base/xorg-server-1.16.4:0/1.16.1::gentoo, ebuild scheduled for merge) pulled in by
(no parents that aren't satisfied by other packages in this slot)

(x11-base/xorg-server-1.15.0:0/1.15.0::gentoo, installed) pulled in by
x11-base/xorg-server:0/1.15.0= required by (x11-drivers/xf86-video-vesa-2.3.3:0/0::gentoo, installed)
^^^^^^^^^^

!!! The ebuild selected to satisfy '>=media-libs/gst-plugins-bad-1.4.5:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]' has unmet requirements.
- media-libs/gst-plugins-bad-1.4.5::gentoo USE='X gles2 introspection nls opengl orc -egl -vnc -wayland'

The following REQUIRED_USE flag constraints are unsatisfied:
gles2? ( !opengl )

The above constraints are a subset of the following complete expression:
egl? ( !gles2 ) gles2? ( !egl !opengl ) opengl? ( X ) wayland? ( egl )

(dependency required by 'media-plugins/gst-plugins-resindvd-1.4.5' [ebuild])
(dependency required by 'media-plugins/gst-plugins-meta-1.0-r2[dvd]' [installed])
(dependency required by '@selected' [set])
(dependency required by '@world' [argument])
This might look scary, and it's indeed harder when there are multiple conflicts at the same time. That's why it's easier to handle when updating the system more often. Anyway, we'll solve them one at a time:
# emerge -1av icu
This was actually quite easy. Now perl can be more complicated, so let's use a command suggested by perl-cleaner:
# emerge -uD1a $(qlist -IC 'virtual/perl-*')
[blocks B ]
[blocks B ]
* Error: The above package list contains packages which cannot be
* installed at the same time on the same system.

(sys-apps/kmod-19:0/0::gentoo, ebuild scheduled for merge) pulled in by
sys-apps/kmod required by (sys-apps/pciutils-3.2.0:0/0::gentoo, installed)

Gentoo Emerge Slot Conflict Guide

>=sys-apps/kmod-15:0= required by (sys-apps/systemd-216-r3:0/2::gentoo, ebuild scheduled for merge)
sys-apps/kmod[tools] required by (virtual/modutils-0:0/0::gentoo, installed)

(sys-apps/openrc-0.12.4:0/0::gentoo, installed) pulled in by
sys-apps/openrc required by @system

Gentoo Emerge Slot Conflict Tactics


>=sys-apps/openrc-0.12 required by (net-misc/netifrc-0.2.2:0/0::gentoo, installed)
sys-apps/openrc required by (virtual/service-manager-0:0/0::gentoo, installed)

(sys-fs/udev-init-scripts-27:0/0::gentoo, ebuild scheduled for merge) pulled in by
>=sys-fs/udev-init-scripts-25 required by (sys-apps/systemd-216-r3:0/2::gentoo, ebuild scheduled for merge)

More blockers, and seemingly unrelated. Anyway, we have to resolve the blocker first, let's try:
[blocks B ]
* Error: The above package list contains packages which cannot be

(sys-process/procps-3.3.9:0/0::gentoo, installed) pulled in by
sys-process/procps required by (app-emulation/open-vm-tools-2013.09.16.1328054-r3:0/0::gentoo, installed)

(sys-apps/openrc-0.13.11:0/0::gentoo, ebuild scheduled for merge) pulled in by
openrc
sys-apps/openrc required by (virtual/service-manager-0:0/0::gentoo, installed)
>=sys-apps/openrc-0.12 required by (net-misc/netifrc-0.2.2:0/0::gentoo, installed)

Finally, after including procps explicitly, it works! Don't forget to update config files when portage prompts about that.
# dispatch-conf

What were we doing before? Okay, back to perl, and looks like it's going to work this time...
# emerge -uD1a $(qlist -IC 'virtual/perl-*')
# emerge -1av @preserved-rebuild
Next remaining piece was X. Trying to emerge it explicitly gives a more detailed message:
# emerge -1av xorg-server

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

x11-proto/fontsproto:0

(x11-proto/fontsproto-2.1.3:0/0::gentoo, ebuild scheduled for merge) conflicts with

^ ^^^^^
# emerge -1av libXfont

Finally, the USE flag constraints:
# euse -D gles2
I hope you found this useful. Especially things like $(qlist -IC 'virtual/perl-*') could be hard to find otherwise I guess.




broken image