Gentoo Emerge Slot Conflict
Posted: Wed Jul 19, 2017 1:35 pm Post subject: SOLVED Slot conflict when emerge portage. 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. I went through the list of conflicts and made a temporary @set of packages for emerge to re-install. Worked like a charm. A number of the conflicts are things that should be in a 'preserved libraries' type of list, they are actually quite able to rebuild with the new perl version. gentoo-user conflict in update. Resulting in a slot conflict. See MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. If the conflict solely involves built slot-operator (foo/bar:X/Y=) dependencies (the -verbose-conflicts option can help you determine this), then you should temporarily add the emerge -pretend and -ignore-built-slot-operator-deps=y options to your emerge command, as discussed in the answer to the previous question.
Section: Portage (1)Updated: Nov 2020
Index
NAME
emerge - Command-line interface to the Portage systemSYNOPSIS
- ebuild
- An ebuild must be, at a minimum, a valid Portagepackage directory name without a version or category, such asportage or python.Both categories and version numbers may be used in addition, suchas sys-apps/portage or =python-2.2.1-r2.emergeignores a trailing slash so that filename completion can be used.The ebuild may also be an actual filename, such as/var/db/repos/gentoo/app-admin/python/python-2.2.1-r2.ebuild.WARNING: The implementation of emerge /path/to/ebuild is broken andso this syntax shouldn't be used.
- tbz2file
- A tbz2file must be a valid .tbz2 created with ebuild<package>-<version>.ebuild package or emerge --buildpkg[category/]<package> or quickpkg [category/]<package>.
- file
- A file must be a file or directory that has been installed by one ormore packages. If an absolute path is not used, then it must begin witheither './' or '../'. For directories that are owned by multiple packages, allowning packages will be selected. See the portageq(1) owners command ifyou would like to query the owners of one or more files or directories.
- set
- A set is a convenient shorthand for a large group ofpackages. Six sets are currently always available: selected-packages,selected-sets, selected, system, profile, and world.selected-packages contains the user-selected 'world' packages thatare listed in /var/lib/portage/world, while selected-setscontains the nested sets that may be listed in /var/lib/portage/world_sets.system and profile both refer to sets of packages deemednecessary for your system to run properly (the differences between thesetwo sets are documented in portage(5)).selected encompasses both the selected-packagesand selected-sets sets, while world encompasses the selected,system and profile sets. (See FILES below for moreinformation.) Other sets can exist dependingon the current configuration. The default set configuration is locatedin the /usr/share/portage/config/sets directory.User sets may be created by placing files in the /etc/portage/sets/directory (see portage(5)). Note that a setis generally used in conjunction with --update. When used asarguments to emerge sets have to be prefixed with @ to berecognized. Use the --list-sets action to display a list ofavailable package sets.
- atom
- An atom describes bounds on a package that you wish to install.See ebuild(5) for the details on atom syntax. For example,>=dev-lang/python-2.2.1-r2 matches the latest available version ofPython greater than or equal to 2.2.1-r2. Similarly,<dev-lang/python-2.0 matches the latest available version of Pythonbefore 2.0. Note that in many shells you will need to escape characters suchas '<' and '='; use single- or double-quotes around the atomto get around escaping problems. You may also constrain an atom to match aspecific SLOT by appending a colon and a SLOT. Example:x11-libs/qt:3.
ACTIONS
WARNING:Inexperienced users are advised to use --pretend or --askwith this option in order to see a preview of which packageswill be uninstalled. Always study the list of packagesto be cleaned for any obvious mistakes. Note that packages listed inpackage.provided (see portage(5)) may be removed bydepclean, even if they are part of the world set.
Depclean serves as a dependency awareversion of --unmerge. When given one or more atoms, it willunmerge matched packages that have no reverse dependencies. Use--depclean together with --verbose to show reversedependencies.
WARNING:The emerge --sync action will revert local changes (e.g. modifications oradditions of files) inside repositories synchronized using rsync.
NOTE:The emerge --sync command is a compatibility command. Sync operations arenow performed using the new emaint sync module. This new emaint sync modulehas greater functionality and flexibility. Please refer to emaint(1) formore information about sync operations.
NOTE:The emerge-webrsync program will download the entireebuild repository as a tarball, which is much faster than emerge--sync for first time syncs.
OPTIONS
--alert may be 'y' or 'n'. 'true' and 'false' mean the same thing.Using --alert without an option is the same as using it with 'y'.Try it with 'emerge -aA sys-apps/portage'.
If your terminal emulator is set up to make 'a' into a window managerurgency hint, move your cursor to a different window to get the effect.
NOTE: This option ignores the state of the 'test' USE flag, since that flaghas a special binding to FEATURES='test' (see make.conf(5) for moreinformation about FEATURES settings).
WARNING:If you want to disable --dynamic-deps, then it may be necessary tofirst run fixpackages(1) in order to get the best results. Thefixpackages(1) command performs two different operations that canalso be performed separately by the `emaint --fix moveinst` and`emaint --fix movebin` commands (see emaint(1)).
WARNING:This option is intended to be used only with great caution, since it ispossible for it to make nonsensical changes which may lead to systembreakage. Therefore, it is advisable to use --ask together withthis option.
A USE flag was added to a package.A USE flag was removed from a package.A USE flag was turned on for a package.A USE flag was turned off for a package.
USE flags may be toggled by your profile as well as your USE and package.usesettings. If you would like to skip rebuilds for which disabled flags havebeen added to or removed from IUSE, see the related--changed-use option. If you would like to skip rebuilds forspecific packages, see the --exclude option.
NOTE: This option ignores the state of the 'test' USE flag, since that flaghas a special binding to FEATURES='test' (see make.conf(5) for moreinformation about FEATURES settings).
WARNING: This option should only be used for packages that arereachable from the @world package set (those that would not be removedby --depclean), since dependencies of unreachable packages areallowed to be broken when satisfying dependencies of other packages.Broken dependencies of this sort will invalidate assumptions that makeit possible for --deep to be disabled by default.
WARNING: This optionshould remain enabled under normal circumstances.Do not disable it unless you know what you aredoing.
NOTE: The fixpackages(1) command can be used toexhaustively apply the entire history of package moves,regardless of whether or not any of the package moves havebeen previously applied.
N | new (not yet installed) |
S | new SLOT installation (side-by-side versions) |
U | updating (to another version) |
D | downgrading (best version seems lower) |
r | reinstall (forced for some reason, possibly due to slot or sub-slot) |
R | replacing (remerging same version) |
F | fetch restricted (must be manually downloaded) |
f | fetch restricted (already downloaded) |
I | interactive (requires user input) |
B | blocked by another package (unresolved conflict) |
b | blocked by another package (automatically resolved conflict) |
Default behavior for handling of protected configuration files iscontrolled by the QUICKPKG_DEFAULT_OPTS variable. The relevantquickpkg options are --include-config and--include-unmodified-config (refer to the quickpkg(1)man page). When a configuration file is not included because it isprotected, an ewarn message is logged.
NOTE: If you want to skip all rebuilds involving slot-operatordependecies (including those that involve sub-slot changes alone),then --ignore-built-slot-operator-deps=y is the optionthat you are looking for, since --rebuild-if-new-slotdoes not affect rebuilds triggered by sub-slot changes alone.
Gentoo Emerge Slot Conflict Games
Does not affect EAPIs that support BDEPEND. EAPI 7 introducesBDEPEND as a means to adjust installation into / and ROOT. Usethe SYSROOT environment variable to control where DEPENDis installed to under EAPI 7.
When ebuilds with different EAPIs feature in the same emerge run, theappropriate behaviour for each EAPI is applied independently to eachebuild.
Symbol | Location | Meaning |
- | prefix | not enabled (either disabled or removed) |
* | suffix | transition to or from the enabled state |
% | suffix | newly added or removed |
() | circumfix | forced, masked, or removed |
{} | circumfix | state is bound to FEATURES settings |
Since many users of binary packages do not want unnecessary build timedependencies installed, this option is not automatically enabled forinstallation actions when the --usepkg option is enabled. Inorder to pull in build time dependencies for binary packages with--usepkg, --with-bdeps=y must be specified explicitly.This also applies to options that enable the --usepkg optionimplicitly, such as --getbinpkg.
This setting can be added toEMERGE_DEFAULT_OPTS (see make.conf(5)) and later overridden via thecommand line.
NOTE: The program logic that causes --with-bdeps to beautomatically enabled for installation actions does not affect removalactions such as the --depclean action. Therefore, when--with-bdeps-auto=n is specified in EMERGE_DEFAULT_OPTS,it does not affect the default --with-bdeps=y setting thatapplies to the --depclean action. The default--with-bdeps=y setting that applies to the --depcleanaction can be overridden only by specifying --with-bdeps=n.
ENVIRONMENT OPTIONS
- [ebuild R ] sys-apps/sed-4.0.5
- Sed 4.0.5 has already been emerged, but if you run the command, thenportage will Re-emerge the specified package (sed in this case).
- [ebuild F ] media-video/realplayer-8-r6
- The realplayer package requires that you Fetch the sources manually.When you attempt to emerge the package, if the sources are not found,then portage will halt and you will be provided with instructions on howto download the required files.
- [ebuild f ] media-video/realplayer-8-r6
- The realplayer package's files are already downloaded.
- [ebuild U ] net-fs/samba-2.2.8_pre1 [2.2.7a]
- Samba 2.2.7a has already been emerged and can be Updated to version2.2.8_pre1.
- [ebuild UD] media-libs/libgd-1.8.4 [2.0.11]
- Libgd 2.0.11 is already emerged, but if you run the command, thenportage will Downgrade to version 1.8.4 for you.
This may occur if a newer version of a package has been masked because it isbroken or it creates a security risk on your system and a fix has not beenreleased yet.
Another reason this may occur is if a package you are trying to emerge requiresan older version of a package in order to emerge successfully. In this case,libgd 2.x is incompatible with libgd 1.x. This means that packages that werecreated with libgd 1.x will not compile with 2.x and must downgrade libgd firstbefore they can emerge. - [ebuild U ] sys-devel/distcc-2.16 [2.13-r1] USE=ipv6* -gtk -qt%
- Here we see that the make.conf variable USE affects how this package isbuilt. In this example, ipv6 optional support is enabled and both gtk and qtsupport are disabled. The asterisk following ipv6 indicates that ipv6 supportwas disabled the last time this package was installed. The percent signfollowing qt indicates that the qt option has been added to the package sinceit was last installed. For information about all USE symbols, see the--verbose option documentation above.
*Note: Flags that haven't changed since the last install are onlydisplayed when you use the --pretend and --verbose options.Using the --quiet option will prevent all information from beingdisplayed. - [ebuild r U ] dev-libs/icu-50.1.1:0/50.1.1 [50.1-r2:0/50.1]
- Icu 50.1-r2 has already been emerged and can be Updated to version50.1.1. The r symbol indicates that a sub-slot change (from 50.1to 50.1.1 in this case) will force packages having slot-operatordependencies on it to be rebuilt (as libxml2 will be rebuilt in the nextexample).
- [ebuild rR ] dev-libs/libxml2-2.9.0-r1:2 USE=icu
- Libxml2 2.9.0-r1 has already been emerged, but if you run the command,then portage will Re-emerge it in order to satisfy a slot-operatordependency which forces it to be rebuilt when the icu sub-slot changes(as it changed in the previous example).
- [ebuild U *] sys-apps/portage-2.2.0_alpha6 [2.1.9.25] Portage 2.1.9.25 is installed, but if you run the command, thenportage will upgrade to version 2.2.0_alpha6. In this case,the * symbol is displayed, in order to indicate that version2.2.0_alpha6 is masked by missing keyword. This type of maskingdisplay is disabled by the --quiet option if the--verbose option is not enabled simultaneously.The following symbols are used to indicate various typesof masking:
- LICENSE
- The LICENSE variable in an ebuild file can be used to maskpackages based on licensing restrictions. emerge examines theACCEPT_LICENSE environment variable to allow or disallow the emergingof a package masked by LICENSE. See make.conf(5) for informationabout ACCEPT_LICENSE, and see portage(5) for information about/etc/portage/package.license.
- PROPERTIES
- The PROPERTIES variable in an ebuild file can be used to maskpackages based on properties restrictions. emerge examines theACCEPT_PROPERTIES environment variable to allow or disallow the emergingof a package masked by PROPERTIES. See make.conf(5) for informationabout ACCEPT_PROPERTIES, and see portage(5) for information about/etc/portage/package.properties. Use the --accept-propertiesoption to temporarily override ACCEPT_PROPERTIES.
- RESTRICT
- The RESTRICT variable in an ebuild file can be used to maskpackages based on RESTRICT tokens. emerge examines theACCEPT_RESTRICT environment variable to allow or disallow the emergingof a package masked by RESTRICT. See make.conf(5) for informationabout ACCEPT_RESTRICT, and see portage(5) for information about/etc/portage/package.accept_restrict. Use the --accept-restrictoption to temporarily override ACCEPT_RESTRICT.
- NAME
- SYNOPSIS
- DESCRIPTION
- EBUILDS, TBZ2S, SETS AND ATOMS
- ACTIONS
- OPTIONS
- ENVIRONMENT OPTIONS
- OUTPUT
- NOTES
- MASKED PACKAGES
- CONFIGURATION FILES
- CONFIGURATION FILES UPDATE TOOLS
- REPORTING BUGS
- AUTHORS
- FILES
- SEE ALSO
Symbol | Mask Type |
# | package.mask |
* | missing keyword |
~ | unstable keyword |
NOTE: The unstable keyword symbol (~) will not be shown in casesin which the corresponding unstable keywords have been acceptedglobally via ACCEPT_KEYWORDS.
NOTES
You should almost always precede any package install or update attempt with a--pretend install or update. This lets you see how much will bedone, and shows you any blocking packages that you will have to rectify.This goes doubly so for the system and worldGentoo Emerge Slot Conflict Theorists
sets, which canupdate a large number of packages if the ebuild repository has been particularlyactive.You also want to typically use --update, which ignores packages thatare already fully updated but updates those that are not.
When you install a package with uninstalled dependencies and donot explicitly state those dependencies in the list of parameters,they will not be added to the world file. If you want them to bedetected for world updates, make sure to explicitly list them asparameters to emerge.
USE variables may be specified on the command line tooverride those specified in the default locations, letting youavoid using some dependencies you may not want to have. USEflags specified on the command line are NOT remembered. Forexample, env USE='-X -gnome' emerge mc will emerge mc withthose USE settings (on Bourne-compatible shells you may omit the envpart). If you want those USE settings to be morepermanent, you can put them in /etc/portage/package.use instead.
If emerge --update @system or emerge --update @worldfails with an error message, it may be that an ebuild uses somenewer feature not present in this version of emerge. Youcan use emerge --update sys-apps/portage to upgrade to the lastestversion, which should support any necessary new features.
MASKED PACKAGES
NOTE: Please use caution when using development packages. Problemsand bugs resulting from misusing masked packages drains Gentoodeveloper time. Please be sure you are capable of handling any problemsthat may ensue.Masks in portage have many uses: they allow atesting period where the packages can be used in live machines; theyprevent the use of a package when it will fail; and they mask existingpackages that are broken or could pose a security risk. Read belowto find out how to unmask in various cases. Also note that if you giveemerge an ebuild, then all forms of masking will be ignored andemerge will attempt to emerge the package.
- ~) in front of thearchitecture name. emerge examines the ACCEPT_KEYWORDS environmentvariable to allow or disallow the emerging of a package masked byKEYWORDS. To inform emerge that it should build these 'testing'versions of packages, you should update your/etc/portage/package.accept_keywordsfile to list the packages you want the'testing' version. See portage(5) for more information.
CONFIGURATION FILES
Portage has a special feature called 'config file protection'. The purpose ofthis feature is to prevent new package installs from clobbering existingconfiguration files. By default, config file protection is turned on for /etcand the KDE configuration dirs; more may be added in the future.When Portage installs a file into a protected directory tree like /etc, anyexisting files will not be overwritten. If a file of the same name alreadyexists, Portage will change the name of the to-be-installed file from 'foo'to '._cfg0000_foo'. If '._cfg0000_foo' already exists, this name becomes'._cfg0001_foo', etc. In this way, existing files are not overwritten,allowing the administrator to manually merge the new config files and avoid anyunexpected changes.
In addition to protecting overwritten files, Portage will not delete any filesfrom a protected directory when a package is unmerged. While this may be alittle bit untidy, it does prevent potentially valuable config files from beingdeleted, which is of paramount importance.
Protected directories are set using the CONFIG_PROTECT variable, normallydefined in make.globals. Directory exceptions to the CONFIG_PROTECTeddirectories can be specified using the CONFIG_PROTECT_MASK variable.To find files that need to be updated in /etc, type find /etc -name'._cfg????_*'.
You can disable this feature by setting CONFIG_PROTECT='-*' inmake.conf(5).Then, Portage will mercilessly auto-update your config files. Alternatively,you can leave Config File Protection on but tell Portage that it can overwritefiles in certain specific /etc subdirectories. For example, if you wantedPortage to automatically update your rc scripts and your wget configuration,but didn't want any other changes made without your explicit approval, you'dadd this to make.conf(5):
CONFIG_PROTECT_MASK=/etc/wget /etc/rc.d
CONFIGURATION FILES UPDATE TOOLS
Tools such as dispatch-conf, cfg-update, and etc-update are also availableto aid in the merging of these files. They provide interactive merging and canauto-merge trivial changes.REPORTING BUGS
Please report any bugs you encounter through our website:Please include the output of emerge --info when you submit yourbug report.
AUTHORS
FILES
Here is a common list of files you will probably be interested in. For acomplete listing, please refer to the portage(5) man page.A number of helper applications reside in /usr/lib/portage/bin.
The app-portage/gentoolkit package contains useful scripts such asequery (a package query tool).
Index
Time: 08:59:11 GMT, December 07, 2020I'm trying to understand the explanation of this but I don't quite see it. It
looks like conflicting libraries used by gimp, inkscape and openoffice.
I don't quite understand the explanation, and what my options are.
Gentoo Emerge Slot Conflict Tactics
Translation appreciated.
Thanks,
Mike
msoulier@anton:~$ emerge --pretend --update --deep world
Gentoo Emerge Slot Conflict Guide
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild U ] dev-libs/libassuan-1.0.5 [1.0.4]
[ebuild U ] dev-lang/python-2.5.4-r2 [2.5.2-r7] USE='xml%*'
[ebuild U ] dev-python/setuptools-0.6_rc9 [0.6_rc8-r1]
[ebuild U ] app-text/poppler-0.10.5-r1 [0.10.4]
[ebuild U ] app-text/poppler-bindings-0.10.5-r1 [0.10.4]
[ebuild U ] app-crypt/gnupg-2.0.11 [2.0.10]
[ebuild U ] dev-python/pygtk-2.14.1 [2.14.0]
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
app-text/poppler-bindings:0
('installed', '/', 'app-text/poppler-bindings-0.10.4', 'nomerge') pulled in
by
~app-text/poppler-bindings-0.10.4[gtk,cairo] required by ('installed',
'/', 'media-gfx/gimp-2.6.4', 'nomerge')
~app-text/poppler-bindings-0.10.4[gtk,cairo] required by ('installed',
'/', 'virtual/poppler-glib-0.10.4', 'nomerge')
~app-text/poppler-bindings-0.10.4[gtk,cairo] required by ('installed',
'/', 'media-gfx/inkscape-0.46-r5', 'nomerge')
(and 1 more)
('ebuild', '/', 'app-text/poppler-bindings-0.10.5-r1', 'merge') pulled in by
app-text/poppler-bindings required by world
Explanation:
New USE for 'app-text/poppler-bindings:0' are incorrectly set. In
order to solve this, adjust USE to satisfy '~app-text/poppler-
bindings-0.10.4[gtk,cairo]'.
Gentoo Portage Slot Conflict
app-text/poppler:0
('ebuild', '/', 'app-text/poppler-0.10.5-r1', 'merge') pulled in by
~app-text/poppler-0.10.5 required by ('ebuild', '/',
'app-text/poppler-bindings-0.10.5-r1', 'merge')
(and 1 more)
('installed', '/', 'app-text/poppler-0.10.4', 'nomerge') pulled in by
~app-text/poppler-0.10.4 required by ('installed', '/',
'dev-tex/luatex-0.30.3', 'nomerge')
~app-text/poppler-0.10.4 required by ('installed', '/',
'app-text/poppler-bindings-0.10.4', 'nomerge')
~app-text/poppler-0.10.4 required by ('installed', '/',
'app-office/openoffice-3.0.0', 'nomerge')
(and 3 more)
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.
--
Michael P. Soulier <msou...@digitaltorque.ca>
'Any intelligent fool can make things bigger and more complex... It takes a
touch of genius - and a lot of courage to move in the opposite direction.'
--Albert Einstein