Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 575972 - >=app-admin/ansible-2.0.0 incompatible with >=dev-python/setuptools-20.2.1
Summary: >=app-admin/ansible-2.0.0 incompatible with >=dev-python/setuptools-20.2.1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Sergey Popov
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-02-29 08:47 UTC by Alan McKinnon
Modified: 2016-04-23 22:12 UTC (History)
2 users (show)

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 Alan McKinnon 2016-02-29 08:47:22 UTC
installing ansible-2.0.0 or greater with setuptools-20.2.1 or greater gives this crash trace:

$ ansible
ERROR! Unexpected Exception: Invalid requirement, parse error at "'!= 2.4'"
the full traceback was:

Traceback (most recent call last):
  File "/usr/lib/python-exec/python2.7/ansible", line 75, in <module>
    from ansible.cli.adhoc import AdHocCLI as mycli
  File "/usr/lib64/python2.7/site-packages/ansible/cli/adhoc.py", line 28, in <module>
    from ansible.executor.task_queue_manager import TaskQueueManager
  File "/usr/lib64/python2.7/site-packages/ansible/executor/task_queue_manager.py", line 28, in <module>
    from ansible.executor.play_iterator import PlayIterator
  File "/usr/lib64/python2.7/site-packages/ansible/executor/play_iterator.py", line 29, in <module>
    from ansible.playbook.block import Block
  File "/usr/lib64/python2.7/site-packages/ansible/playbook/__init__.py", line 25, in <module>
    from ansible.playbook.play import Play
  File "/usr/lib64/python2.7/site-packages/ansible/playbook/play.py", line 27, in <module>
    from ansible.playbook.base import Base
  File "/usr/lib64/python2.7/site-packages/ansible/playbook/base.py", line 35, in <module>
    from ansible.parsing.dataloader import DataLoader
  File "/usr/lib64/python2.7/site-packages/ansible/parsing/dataloader.py", line 33, in <module>
    from ansible.parsing.vault import VaultLib
  File "/usr/lib64/python2.7/site-packages/ansible/parsing/vault/__init__.py", line 67, in <module>
    from cryptography.hazmat.primitives.hashes import SHA256 as c_SHA256
  File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/primitives/hashes.py", line 15, in <module>
    from cryptography.hazmat.backends.interfaces import HashBackend
  File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/__init__.py", line 7, in <module>
    import pkg_resources
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 2912, in <module>
    @_call_aside
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 2898, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 2925, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 642, in _build_master
    ws.require(__requires__)
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 943, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 838, in resolve
    new_requirements = dist.requires(req.extras)[::-1]
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 2462, in requires
    dm = self._dep_map
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 2457, in _dep_map
    dm.setdefault(extra,[]).extend(parse_requirements(reqs))
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 2762, in parse_requirements
    req = packaging.requirements.Requirement(line)
  File "/usr/lib64/python2.7/site-packages/packaging/requirements.py", line 94, in __init__
    requirement_string[e.loc:e.loc + 8]))
InvalidRequirement: Invalid requirement, parse error at "'!= 2.4'"

Downgrading setuptools to 20.1.1 solved the issue.

This appears to be an issue with setupools:

https://bitbucket.org/pypa/setuptools/issues/499

Reproducible: Always

Steps to Reproduce:
1. emerge >=app-admin/ansible-2.0.0 >=dev-python/setuptools-20.2.1
2. /usr/bin/ansible
3.
Actual Results:  
Application crash

Expected Results:  
Application should run
Comment 1 Alan McKinnon 2016-02-29 08:47:51 UTC
Portage 2.2.27 (python 2.7.11-final-0, default/linux/amd64/13.0/desktop/plasma, gcc-4.9.3, glibc-2.22-r2, 4.4.0-gentoo-r1 x86_64)
=================================================================
System uname: Linux-4.4.0-gentoo-r1-x86_64-Intel-R-_Core-TM-_i7-4930MX_CPU_@_3.00GHz-with-gentoo-2.2
KiB Mem:    16408056 total,   2302604 free
KiB Swap:    1048572 total,    751240 free
Timestamp of repository gentoo: Sat, 27 Feb 2016 14:30:01 +0000
sh bash 4.3_p42-r2
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p42-r2::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.22.1::gentoo
dev-lang/python:          2.7.11-r2::gentoo, 3.4.3-r7::gentoo, 3.5.1-r2::gentoo
dev-util/cmake:           3.4.3::gentoo
dev-util/pkgconfig:       0.29::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.20.5::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.8.5::gentoo, 4.9.3::gentoo, 5.3.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r2::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r2::gentoo
Repositories:

gentoo
    location: /var/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

daktak
    location: /var/lib/layman/daktak
    sync-type: laymansync
    sync-uri: https://github.com/daktak/gentoo.git
    masters: gentoo
    priority: 50

splog-gentoo
    location: /var/lib/layman/splog-gentoo
    sync-type: laymansync
    sync-uri: https://github.com/splog123/splog-gentoo.git
    masters: gentoo
    priority: 50

Installed sets: @alan-fonts, @alan-gkrellm, @alan-kde, @alan-kde-apps, @alan-tools, @msjnc
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA dlj-1.1 sun-bcla-java-vm skype-eula PUEL googleearth google-talkplugin AdobeFlash-10 AdobeFlash-10.1"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0 /var/rancid/.cloginrc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/var/distfiles"
EMERGE_DEFAULT_OPTS="--jobs=4 --load-average=4 --with-bdeps=y --autounmask=n --dynamic-deps=n"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildsyspkg collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync metadata-transfer news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="/mnt/distfiles/ ftp://ftp.is.co.za/mirror/gentoo.org/ http://distfiles.gentoo.org"
LANG="en_ZA.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4 -l4"
PKGDIR="/var/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac aalib acl acpi adns aes alsa amd64 ao apache2 archive audiofile avahi avx avx2 bash-completion berkdb bittorrent bluetooth bluray branding bzip2 cairo cdda cddb cdr cli consolekit cracklib crypt cups curl curlwrappers cvs cxx dbus dbx declarative device-mapper dga dirac djvu dri dts dv dvb dvd dvdr emotion encode evo exif expat ffmpeg flac fma3 fontconfig fortran freetds ftp fuse gallium gd gdbm gif gimp glamor glib gnome-keyring gpm graphviz gs gstreamer gtk handbook iconv icu id3tag ieee1394 imagemagick imap innodb introspection ipc ipod iproute2 ipv6 jabber javascript jbig jce jpeg jpeg2k kde keyring kipi lame lcms lesstif libass libc_glibc libcaca libnotify libsamplerate libv4l libwww lm_sensors lua lzma mad maildir man matroska mbox milter mime mms mmx mmxext mng modules mp3 mp3tunes mp4 mpeg mplayer mtp multilib musepack musicbrainz mysql mysqli ncurses netboot network networkmanager nfs nls nptl nsplugin ntp odbc offensive ogg openexr opengl openmp openssl openvpn opus pam pango passwordsave pch pcre pdf perl phonon plasma plotutils png policykit popcnt posix postscript ppds pppd projectm pulseaudio qml qt3support qt5 quicktime raw readline reflection resolvconf rtmp samba sasl savedconfig scanner schroedinger scripting sdl seccomp semantic-desktop session slp smi sms solver sound speex spell sql sqlite sqlite3 sse sse2 sse3 sse4_1 sse4_2 ssl ssse3 startup-notification subversion svg symlink syslog sysvipc taglib tbb testbed theora threads thumbnail tidy tiff truetype udev udf udisks unicode upnp upower usb utempter v4l vaapi vcd video vim-syntax vlc vnc vorbis vpx wavpack webkit webp widgets wifi win32codecs wma wmf x264 xattr xcb xcomposite xinerama xml xorg xpm xrandr xrender xscreensaver xv xvid xvmc zeroconf zip zlib" ABI_X86="64" ALSA_CARDS="hda-intel" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache 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_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="author braindump flow karbon kexi krita sheets stage words" CAMERAS="adc65 agfa_cl20 aox ax203 barbie canon casio_qv clicksmart310 digigr8 digita dimagev dimera3500 directory enigma13 fuji gsmart300 hp215 iclick jamcam jd11 jl2005a kodak_dc120 kodak_dc210 kodak_dc240 kodak_dc3200 kodak_ez200 konica konica_qm150 largan lg_gsm mars mustek panasonic_coolshot panasonic_dc1000 panasonic_dc1580 panasonic_l859 pccam300 pccam600 polaroid_pdc320 polaroid_pdc640 polaroid_pdc700 ptp2 ricoh ricoh_g3 samsung sierra sipix_blink sipix_blink2 sipix_web2 smal sonix sony_dscf1 sony_dscf55 soundvision spca50x sq905 st2205 stv0674 stv0680 sx330z template topfield toshiba_pdrm11" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" 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="pc" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_GB en_US en_ZA" NETBEANS_MODULES="cnd php webcommon" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby20 ruby21 ruby22 ruby23" SANE_BACKENDS="epson epson2" USERLAND="GNU" VIDEO_CARDS="intel i965" 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:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 2 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2016-02-29 16:17:48 UTC
Do you mind reporting this upstream?

https://github.com/ansible/ansible/issues
Comment 3 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2016-04-21 05:40:54 UTC
can you test with 2.0.2.0 and/or 9999?
Comment 4 Alan McKinnon 2016-04-23 09:25:09 UTC
Thanks for the help.

I tested and can confirm that ansible-2.0.2.0 installs without error on all versions >dev-python/setuptools-20.1.1 in the tree today.

setuptools versions tested:
20.2.2
20.3.1
20.6.7
Comment 5 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2016-04-23 18:09:19 UTC
I think this is the issue.

https://github.com/pypa/packaging/issues/65

Can you try installing the latest version of packaging (16.6 atm).
Comment 6 Alan McKinnon 2016-04-23 20:47:17 UTC
I don't have packaging installed (don't even know what it's for).

But it does install here without problem followed by successful install of latest pysetuptools and ansible.
Comment 7 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2016-04-23 21:12:19 UTC
Ok, just to be clear, if I add packaging as a dep of ansible then we are good?
Comment 8 Alan McKinnon 2016-04-23 22:02:08 UTC
Sure, I don't see a problem with that.
Comment 9 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2016-04-23 22:12:56 UTC
fixed :D