Summary: | sys-apps/portage: emerge --emptytree pulls in python:2.6 when backtracking for python:2.7 slot conflict | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Alex Orange <crazycasta> |
Component: | Core | Assignee: | Portage team <dev-portage> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | esigra |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 300071 | ||
Attachments: |
Debug log for webapp-config
Debug output from emerge |
Description
Alex Orange
2012-10-15 19:25:06 UTC
This type of behavior is expected if python:2.7 is masked or its ebuild is unavailable. This command may provide some clue: emerge -pv dev-lang/python:2.7 Oh, sorry, I forgot to mention, I already have python-2.7 installed (which is why I am so confused why it wants to use 2.5/2.6). I'm pretty sure it isn't masked. When I ran "emerge -pvDuN --with-bdeps y world" I got: These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] x11-libs/gtksourceview-2.10.5-r2 USE="-glade -test (-doc%)" 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB When I ran "emerge -pv dev-lang/python:2.7" I got (notice python-2.7 is already installed, so why didn't the "emerge -pvDuN --with-bdeps y world" catch it and complain): These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] dev-lang/python-2.7.3-r2 USE="doc gdbm ipv6 ncurses readline ssl threads (wide-unicode) xml -berkdb -build -examples -sqlite* -tk -wininst" 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB !!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: dev-lang/python:2.7 (dev-lang/python-2.7.3-r2::gentoo, ebuild scheduled for merge) pulled in by (no parents that aren't satisfied by other packages in this slot) (dev-lang/python-2.7.3-r2::gentoo, installed) pulled in by =dev-lang/python-2.7*[sqlite] required by (gnome-extra/hamster-applet-2.32.1::gentoo, installed) !!! Enabling --newuse and --update might solve this conflict. !!! If not, it might help emerge to give a more specific suggestion. I also don't understand how this would be connected to webapp-config seeing as how, as I read it, hamster-applet just requires some python-2 >=2.5 with sqlite. Seeing as how python-2.6.8 is not providing sqlite I don't see why it would be acceptable and python-2.7 would not. Also, I do not see how hamster applet would be involved in the "emerge -pve webapp-config", though I'd be less surprised if I'm just missing something on that part. Additionally, I wondered how python-2.7 could get rebuild in the "emerge -pve world"if it was conflicting with hamster-applet. I discovered by grepping "emerge -pve world" that python-2.7 is *NOT* in the list even though it's my selected python (by selected I mean eselect python list says I'm using 2.7). gnome-extra/hamster-applet-2.32.1 has the following dependency: || ( =dev-lang/python-2.7*[sqlite] =dev-lang/python-2.6*[sqlite] =dev-lang/python-2.5*[sqlite] ) So, it seems as though emerge -e world pulls in python-2.6 since you have USE=sqlite enabled for it. This allows you do have sqlite disabled for python-2.7, yet still satisfy the hamster-applet dependency. I had thought of the same idea, but as you can see from the original post, my python-2.6 that it wanted to grab has sqlite disabled. I suspect that the python:2.7 sqlite thing is causing python:2.7 to be masked by backtracking, and maybe that's what forces python:2.6 into the graph. Please attach a debug log reproducing the problem as follows: emerge -pve world --debug &>debug.log Created attachment 326734 [details]
Debug log for webapp-config
This shows the issue while being smaller. Not sure if it's useful but I thought I'd post it just in case. This is the result of:
emerge -pve webapp-config --debug &> webapp-config-debug.log
Created attachment 326736 [details]
Debug output from emerge
Output of (then bzip2'd ofc):
emerge -pve world --debug &> debug.log
It's like I described in comment #5. The slot conflict triggered by hamster-applet caused the python-2.7.3-r2 ebuild to be masked for backtracking purposes, and this caused the python-2.6.8 ebuild to be pulled in instead. |