Gentoo Emerge Slot Conflict
- Gentoo Emerge Slot Conflict Guide
- Gentoo Portage Slot Conflict
- Gentoo Emerge Slot Conflict Games
- Gentoo Emerge Slot Conflict Theorists
Gentoo Into The Dependency Graph Resulting In A Slot Conflict, inzet roulette holland casino, stony plain casino alberta, witcher 3 blood and wine new skill slots. Multiple package instances within a single package slot have been pulled!!! Into the dependency graph, resulting in a slot conflict Have a good cry over it Find one 'Target' in the problem group. これはGentoo Advent Calendar 12/08分です。日付・・・・?なんのことです? Www.adventar.org みなさん, emergeしてますか. たとえば以下のようなものを見たことがありませんか Total: 35 packages (29 upgrades, 1 downgrade, 5 reinstalls), Size of downloads: 211,908 KiB!!! Multiple package instances within a.
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:
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
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) |
icu USE flag
ImportantTo 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
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 thechrome
page.
Troubleshooting
Adobe Flash not working?
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.
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
- ↑https://bugs.chromium.org/p/chromium/issues/detail?id=615738
The purpose of this page is to provide users, in particular new ones, with a set of techniques and tools to allow them to troubleshoot and fix problems with their Gentoo setups on their own. In addition, for those problems which are more complicated, this article seeks to provide users with the skills to collect information that will aid them and their supporters in resolving their issues with a greater degree of expediency.
This article assumes that the Gentoo Handbook has been read and that there is a basic understanding of using Gentoo.
Where to get help
Gentoo has quite a few wikis all of which have a wealth of information. Be wary that some articles may contain old or outdated information, but hands down, reading wiki articles is always a critical step when using Gentoo.
- Knowledge Base, for common practices and problems
On IRC, the #gentoo is the recommended channel for general issues. This is probably the fastest way to get an answer.
Since IRC channels require active presence, some users might prefer leaving a message at a forum or mailing list which continues to exist after closing the browser. When an answer pops up, a notification (usually through an e-mail) is sent back.
When all else fails, and it appears something is broken with Gentoo, Gentoo's bug tracker is a great resource to see if something has already been reported, or to create new bugs if need be. This is a very effective way to reach the Gentoo Developers, which can then use the given feedback to improve the problematic situation and solve the problem.
Programs
This is a collection of tools that are highly recommended:
Package management
Package | Description |
---|---|
app-portage/gentoolkit | provides a collection of tools for interacting with Gentoo; it includes the valuable equery, eclean, euse and eshowkw, see their man pages for more information. |
app-portage/eix | provides eix, a tool for querying portage for packages |
app-portage/pfl | provides e-file, a tool for querying what package contains a given file; it also works for packages that aren't installed since it uses an online lookup. |
app-portage/genlop | provides genlop, a tool for parsing emerge logs; handy to figure out when certain packages were installed, updated and to see how long they took to compile. |
app-portage/elogv | provides elogv, a ncurses based interface for browsing emerge logs. |
Hardware
Package | Description |
---|---|
sys-apps/pciutils | provides lspci, a tool for gathering information about PCI devices. |
sys-apps/usbutils | provides lsusb, a tool for gathering information about USB devices. |
Monitoring
Package | Description |
---|---|
sys-process/htop | provides htop, a tool for monitoring processes. Like top, but more advanced. |
sys-process/iotop | provides iotop, a top-like tool for monitoring IO activity by process. |
net-analyzer/nettop | provides nettop, a top-like tool for examining network traffic by protocol, port, and process. |
Miscellaneous
Package | Description |
---|---|
app-text/wgetpaste | provides wgetpaste, a tool for uploading text directly to a pastebin. |
net-irc/weechat | provides weechat, a simple text based IRC client. |
First steps
In order to shape a problem into a solution you first need to understand the problem well enough. If the problem is not clear then it will be very hard, if not impossible to come up with a solution. An accurate, detailed description of the problem is more likely to yield a solution that best fits the problem.
Identifying the problem
This part may seem like it's a no-brainer, but without it, any troubleshooting will be next to impossible.
Take note of a few things:
- Is this problem related to hardware or software?
- What was done or has been changed recently that may have been the cause of this issue?
- Can additional information about the problem be collected?
Storing any form of detail, logs, other people experiencing it and more can be valuable and gives a good overview.
Hardware issues
Drivers
Driver issues for hardware is one of the more common issues that are reported on IRC.
First and foremost, identify what the hardware is that is causing problems. lspci and lsusb are great tools for this purpose. For demonstration purposes, we'll be looking at an Ethernet card as the troublesome device.
Determining the proper driver
First look with lspci and find the device information:
It is also possible to use the -n
option to give a short-hand notation (which might be easier to search for on the Internet):
The model name (0200
) and vendor/model (11ab:436b
) can be used to look up the device on a place like WikiDevi or Debian HCL to find the right driver to use in Linux.
Verifying the driver is loaded
Getting the driver is less than half of the battle. Most of the trouble with drivers is making sure that they are loaded and operating correctly.
Relying on our friend lspci again, run:
Note that here, an indicator is given that a driver is in use. If not, then no driver has claimed responsibility over this hardware. Assuming the driver was built as a module rather than built-in, try modprobe <modulename> to attempt loading the right module. If the driver was built-in, consider making it a module, because modules can be loaded with modprobe and unloaded with modprobe -r which saves on number reboots while debugging the issue.
Troubleshooting a driver
Compile the driver as a module, then capture the output it generates when the module is loaded. Make sure to first remove all modules that depend on the driver (see lsmod).
The following command will compare the dmesg output after removing the module (in this example, r8169
) with the output after adding the module again, effectively showing the messages that were added (lines starting with +).
root #
diff -u <(modprobe -r r8169; dmesg) <(sleep 1; modprobe r8169; dmesg) grep ^+
The most common issue is missing firmware. If a message shows up that informs the administrator about missing firmware, grab either sys-kernel/linux-firmware or a specific firmware package from Portage and install it. After the firmware installation, unload and load the kernel module again to see if this fixes the situation.
Software issues
Portage issues
Dependency graph slot conflicts
Occasionally, messages like this occur when trying to emerge a package:
Generally, this means that the packages listed have multiple requested versions in the dependency graph. And fortunately most, if not all, cases allow to resolve it by manually upgrading to the highest requested version. So assuming that the following message was received:
The most recent version desired is 20120520, so:
Gentoo Emerge Slot Conflict Guide
root #
emerge --ask --oneshot =app-emulation/emul-linux-x86-xlibs-20120520
Often, it's advantageous to one-shot (--oneshot
or -1
) all of the conflicts at once because they sometimes depend on one another.
Here is another example of a block:
There should be no problem changing poppler versions. Note that app-text/texlive-core does not require a specific version of poppler, but it needs to be rebuild with whatever version is used:
root #
emerge --ask --oneshot =app-text/poppler-0.24.5 app-text/texlive-core
Here is another example that could have resulted in a blockage:
root #
emerge --ask --verbose --update --newuse --deep @world
Portage warns about an update that can not be performed, however, there is no issue because this update is not required by a package. More precisely, the update must be skipped because mate-base/mate-applets-1.12.1-r4 requires a version of sys-power/cpupower package lower than 4.7.
Debug a binary
Trouble shoot a compiled binary by Debugging with powerful tools.
Collecting additional information
When seeking help, often additional information will be asked, such as the output of a command. Some of these produce dozens or hundreds of lines of text - too much to be suitable for pasting into chat rooms, such as the Gentoo IRC support channel.
Wgetpaste allows users to post short links to a website that contains long output.
To show the contents of /etc/conf.d/net:
Gentoo Portage Slot Conflict
If someone needs the detailed output of an lspci command is:
Sometimes it is necessary to redirect stderr to stdout so that error messages can be pasted as well:
- In case of hardware problems or kernel issues:
- In case of portage issues:
- In case of package installation failures:
root #
wgetpaste /var/tmp/portage/<category>/<package>-<version>/temp/build.log
- In case of Xorg issues:
- In case all installed packages on the system needs to be provided:
Wrapping things together
Below is a shell function that can be used to have several commands executed and their output processed by a single wgetpaste command so that only one URL needs to be provided to the user or developer that wants to help out:
Please do not use pastebin services on the gentoo-user mailing list
Most pastebin services expire old pastes periodically (not to mention that pastebin services are hardly profitable, and close down all the time) whereas mailing list messages are archived in multiple places and are referenced for years. If the relevant output is short, or can be trimmed, then copy and paste it into the body of the email - longer output can be directed into a text file and added as a plain attachment.
Forming a solution
With a good description of the problem, a complete history of actions and all sorts of debugging data (problem details, hardware / software information, logs, backtraces and more) a good set of useful data is available to look for a solution.
In general, repeat the following steps to come to a solution:
Gentoo Emerge Slot Conflict Games
- Get an idea where the problem might be, think about possible causes.
- If there are no obvious areas to look into, become more acquainted with the related areas or ask an expert more about it.
- Sometimes it is necessary to make assumptions to proceed. When assumptions are made, put it to the test: false assumptions should not make users and developers blind of other causes.
- Obtain additional debugging information in the area of a problem, or perform tests.
Often this will lead to multiple possible causes. It is important to test them (to verify it is the actual cause or not) and therefore test them individually; this is also known as 'divide and conquer'.
Let's say a problem like 'my browser sometimes displays white pages when I boot' comes up and a lot of details are already known about it, then there may be number of possible causes:
- Is this because the browser was improperly closed when the system rebooted?
- Verify this by killing the process and pulling the plug several times, each time checking if the pages are white after booting again. If this is a cause, is it the actual cause or are there other causes?
- Is this the result of a specific browser version being broken?
Gentoo Emerge Slot Conflict Theorists
- Try older or newer versions for a few days or reboots and see if they are broken as well.
And so on...
With the additional information, dare to think about more specific causes:
- Does a certain pinned tab X that loads plugin Y break the system?
- Unpin the tab so it doesn't open on launch anymore or disable the plugin, see if this keeps the problem away.
- Graphical issues were reported as well, might this maybe mean this is caused by the video drivers?
- Try a different version for those drivers, or alternative drivers if available.
As each possible cause is investigated, the actual cause of the problem might come closer and closer.
And in the end, if the cause is still not found, the Where to get help resources at the top of this article yield a multitude of places with people that are looking forward to help; make them happy with a careful problem description and mentioning what has already been tried so far, it'll help them help out.