Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 493862 - All python-related emerge attempts fail with slot conflict for setuptools
Summary: All python-related emerge attempts fail with slot conflict for setuptools
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-10 19:15 UTC by Michael Hill
Modified: 2013-12-11 13:54 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Hill 2013-12-10 19:15:26 UTC
# emerge --info
Portage 2.1.12.2 (default/linux/amd64/13.0, gcc-4.7.3, glibc-2.17, 3.9.11-gentoo-r1 x86_64)
=================================================================
System uname: Linux-3.9.11-gentoo-r1-x86_64-Intel-R-_Core-TM-_i7-3930K_CPU_@_3.20GHz-with-gentoo-2.2
KiB Mem:    16363556 total,   1175216 free
KiB Swap:          0 total,         0 free
Timestamp of tree: Tue, 10 Dec 2013 13:00:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
ccache version 3.1.9 [enabled]
app-shells/bash:          4.2_p45
dev-java/java-config:     2.2.0
dev-lang/python:          2.7.5-r4, 3.2.5-r3, 3.3.2-r2
dev-util/ccache:          3.1.9
dev-util/cmake:           2.8.9-r1
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6, 1.13.1
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.5.4, 4.7.3
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories: gentoo
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="${EPREFIX}/etc/gconf /etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=core2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build=n"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildpkg ccache collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.usu.edu/mirrors/gentoo/ http://distfiles.gentoo.org/"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j12"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl additions aiglx alsa amd64 ao apache2 audacious audiofile bash-completion bcmath berkdb branding bzip2 bzlib calendar cdinstall cli cracklib crypt curl cxx dbase dbx dedicated device-mapper dga divx doc dot dovecot-sasl dri dv efiemu expat faac fame fbcon ffmpeg fftw flac flatfile fluidsynth font-server fontconfig fontforge gd gecko-sdk gif gimpprint ginac glitz glut gnuplot gnutls gpgme gs gstreamer gtk guidexml hardenedphp hddtemp highlight hou iconv id3tag imagemagick imlib inifile inotify jack jpeg jpeg2k keyscrub lame lastfmradio latin1 lcms libmms libsamplerate lm_sensors logrotate logwatch lzma mbox memlimit mikmod mime mmap mmx modplug modules mount mp3 mp4 mpm-prefork mudflap multilib mysql ncurses no-suexec nocardbus nocd nodrm nomotif nowin nptl nsplugin ofx ogg opengl pam pcntl pcre pda php pie plotutils png posix ppds quotes readline realmedia rtsp sasl server session shared sharedmem simplexml skins smpeg smtp sndfile sockets sou sse sse2 ssl ssse3 startup-notification subtitles system-sqlite sysvipc tagwriting tcl tcpd theora threads tidy tiff timidity tk truetype ups usb usbhost userlocales vhosts videos vim-syntax vorbis wma wmp wv wxgtk1 wxwidgets wxwindows xcb xine xml xpm xprint xscreensaver xvid zlib" ABI_X86="64" ALSA_CARDS="ice1712" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_core authn_dbd authn_dbm authn_default authn_file authz_core authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so socache_shmcb speling status unique_id unixd userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64 pc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" QEMU_SOFTMMU_TARGETS="i386" QEMU_USER_TARGETS="i386" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="vga nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

# emerge -pvt setuptools

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild  r  U  ] net-misc/youtube-dl-2013.12.09.4 [2013.11.21] USE="-offensive {-test}" PYTHON_SINGLE_TARGET="python2_7 -python2_6 -python3_3" PYTHON_TARGETS="python2_7 python3_3* -python2_6" 504 kB
[ebuild   R    ]  dev-python/setuptools-1.1.6  PYTHON_TARGETS="python2_7 python3_3* -pypy2_0 -python2_6 -python3_2*" 0 kB

Total: 2 packages (1 upgrade, 1 reinstall), Size of downloads: 504 kB

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

dev-python/setuptools:0

  (dev-python/setuptools-1.1.6::gentoo, installed) pulled in by
    dev-python/setuptools[python_targets_python2_7(-),python_targets_python3_2(-),-python_single_target_python2_6(-),-python_single_target_python2_7(-),-python_single_target_python3_2(-),-python_single_target_python3_3(-)] required by (sys-process/glances-1.6.1::gentoo, installed)
    dev-python/setuptools[python_targets_python2_6(-)?,python_targets_python2_7(-)?,python_targets_python3_2(-)?,-python_single_target_python2_6(-),-python_single_target_python2_7(-),-python_single_target_python3_2(-)] required by (dev-python/numpy-1.6.2-r2::gentoo, installed)
    dev-python/setuptools[python_targets_python2_6(-)?,python_targets_python2_7(-)?,python_targets_python3_2(-)?,python_targets_python3_3(-)?,python_targets_pypy2_0(-)?,-python_single_target_python2_6(-),-python_single_target_python2_7(-),-python_single_target_python3_2(-),-python_single_target_python3_3(-),-python_single_target_pypy2_0(-)] required by (dev-python/pygments-1.6::gentoo, installed)

  (dev-python/setuptools-1.1.6::gentoo, ebuild scheduled for merge) pulled in by
    dev-python/setuptools[python_targets_python2_6(-)?,python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_single_target_python2_6(+)?,python_single_target_python2_7(+)?,python_single_target_python3_3(+)?] required by (net-misc/youtube-dl-2013.12.09.4::gentoo, ebuild scheduled for merge)


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. You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.


Running with the "--backtrack=30" option gives the same results, minus the sentence about "You may want to...."
Comment 1 Michael Hill 2013-12-10 19:17:21 UTC
I'm no stranger to tracking down dependencies and ordinary conflicts, but I have no idea about all that python_targets_* crap.
Comment 2 Rafał Mużyło 2013-12-10 20:07:47 UTC
This is a standard useflag conflict.
It seems you are trying to purge versions of python other than 2.7 and 3.3.
Try 'emerge -upvDN --with-bdeps y @world' first.
Concentrate on the packages listed in your output in 'required by'.

Anyway, doesn't seem to be a bug.
Comment 3 Michael Hill 2013-12-11 00:43:09 UTC
(In reply to Rafał Mużyło from comment #2)
> This is a standard useflag conflict.
> It seems you are trying to purge versions of python other than 2.7 and 3.3.
> Try 'emerge -upvDN --with-bdeps y @world' first.
> Concentrate on the packages listed in your output in 'required by'.

I am not "trying" to do anything except emerge a package (upgrade, rebuild, doesn't matter).  Happens with setuptools, python-argparse, youtube-dl, gentoolkit, etc.

In particular, I am not trying to purge any of my installed python versions at this time.  I do not have PYTHON_TARGETS set anywhere (/etc/make.conf , /etc/portage/package.* ).  Installed python versions are:

Available Python interpreters:
  [1]   python2.7
  [2]   python3.2 *
  [3]   python3.3

python3.3 was installed, but I haven't moved any site packages over to it from 3.2 yet (and I can't, currently).

To be clear, I want 2.7, 3.2, and 3.3 left alone, and I am not telling emerge to do otherwise.  I don't know how those flags are getting there.

Thanks.
Comment 4 Rafał Mużyło 2013-12-11 01:27:15 UTC
@comment 3: in such case, you need either set PYTHON_TARGETS to "python2_7 python3_2 python3_3" globally or at least set those useflags on the packages you want them to be set on.
Comment 5 Michael Hill 2013-12-11 04:07:39 UTC
(In reply to Rafał Mużyło from comment #4)
> @comment 3: in such case, you need either set PYTHON_TARGETS to "python2_7
> python3_2 python3_3" globally or at least set those useflags on the packages
> you want them to be set on.

I set that in /etc/make.conf and the build worked; thank you.  I still think it's a bug (albeit a minor one) that, by default, emerge would assume that I want to delete one of my installed slots, especially when it decides "yes" for one package and "no" for another, leading to the conflict.
Comment 6 Rafał Mużyło 2013-12-11 13:54:39 UTC
PYTHON_TARGETS needs to be set to a sane value, therefore profile sets it to *just* the *latest* stable slots for python2 and python3. If you want something else, you need to set it on your own.