Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 538056 - dev-python/nltk-3.0.0 - /usr/bin/python2.7 setup.py build: AttributeError: 'module' object has no attribute 'finders'
Summary: dev-python/nltk-3.0.0 - /usr/bin/python2.7 setup.py build: AttributeError: 'm...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: LABBE Corentin
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-28 15:03 UTC by Toralf Förster
Modified: 2015-03-18 02:13 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 Toralf Förster gentoo-dev 2015-01-28 15:03:36 UTC
* Package:    dev-python/nltk-3.0.0
 * Repository: gentoo
 * Maintainer: clabbe.montjoie@gmail.com proxy-maint@gentoo.org,python@gentoo.org
 * USE:        abi_x86_64 amd64 elibc_glibc kernel_linux python_targets_python2_7 tk userland_GNU
 * FEATURES:   preserve-libs sandbox userpriv usersandbox
>>> Unpacking source...
>>> Unpacking nltk-3.0.0.tar.gz to /var/tmp/portage/dev-python/nltk-3.0.0/work
>>> Source unpacked in /var/tmp/portage/dev-python/nltk-3.0.0/work
>>> Preparing source in /var/tmp/portage/dev-python/nltk-3.0.0/work/nltk-3.0.0 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-python/nltk-3.0.0/work/nltk-3.0.0 ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-python/nltk-3.0.0/work/nltk-3.0.0 ...
 * python2_7: running distutils-r1_run_phase distutils-r1_python_compile
/usr/bin/python2.7 setup.py build
Traceback (most recent call last):
  File "setup.py", line 37, in <module>
    del sdist.finders[:]
AttributeError: 'module' object has no attribute 'finders'
 * ERROR: dev-python/nltk-3.0.0::gentoo failed (compile phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line   93:  Called src_compile
 *   environment, line 3661:  Called distutils-r1_src_compile
 *   environment, line 1057:  Called _distutils-r1_run_foreach_impl 'distutils-r1_python_compile'
 *   environment, line  280:  Called python_foreach_impl 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 3234:  Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 2360:  Called _multibuild_run '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 2358:  Called _python_multibuild_wrapper 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line  731:  Called distutils-r1_run_phase 'distutils-r1_python_compile'
 *   environment, line 1048:  Called distutils-r1_python_compile
 *   environment, line  929:  Called esetup.py 'build'
 *   environment, line 1529:  Called die
 * The specific snippet of code:
 *       "${@}" || die
 * 
 * If you need support, post the output of `emerge --info '=dev-python/nltk-3.0.0::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-python/nltk-3.0.0::gentoo'`.
 * The complete build log is located at '/var/log/portage/dev-python:nltk-3.0.0:20150128-010628.log'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/dev-python/nltk-3.0.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-python/nltk-3.0.0/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-python/nltk-3.0.0/work/nltk-3.0.0'
 * S: '/var/tmp/portage/dev-python/nltk-3.0.0/work/nltk-3.0.0'

 * GNU info directory index is up-to-date.

 * IMPORTANT: 6 config files in '/etc' need updating.
 * See the CONFIGURATION FILES section of the emerge
 * man page to learn how to update config files.


! ! !  This is a build bot chroot located at a hardened amd64 host ! ! !

Portage 2.2.15 (python 2.7.9-final-0, default/linux/amd64/13.0, gcc-4.9.2, glibc-2.20-r1, 3.18.3-hardened x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.18.3-hardened-x86_64-Intel-R-_Core-TM-_i7-3770_CPU_@_3.40GHz-with-gentoo-2.2
KiB Mem:    16166860 total,   2095508 free
KiB Swap:   16777212 total,  16754236 free
Timestamp of tree: Tue, 27 Jan 2015 19:15:01 +0000
sh bash 4.3_p33-r1
ld GNU ld (Gentoo 2.24 p1.4) 2.24
app-shells/bash:          4.3_p33-r1
dev-lang/perl:            5.20.1-r4
dev-lang/python:          2.7.9-r1, 3.3.5-r1
dev-util/cmake:           3.1.0
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.13.8
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.69
sys-devel/automake:       1.15
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.9.2
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.5
sys-devel/make:           4.1-r1
sys-kernel/linux-headers: 3.18 (virtual/os-headers)
sys-libs/glibc:           2.20-r1
Repositories: gentoo
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/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/apache2-php5.6/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.5/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--nospinner --tree --quiet-build --deep --jobs 1"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs 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 userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.leaseweb.com/gentoo/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ http://gd.tuwien.ac.at/opsys/linux/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/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"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="X acl aes-ni alsa amd64 apache2 avx avx2 berkdb bzip2 cli corefonts cracklib crypt cups cxx dbus dnssec dri drmkms dvd ecc ffmpeg fontconfig fortran fpm gdbm git gtk gudev gui iconv isag jpeg libvirtd logrotate macvtap mbox minizip mmx modules multilib mysql ncurses nls nptl ogg opengl openmp pam pax_kernel pcre plasma png policykit qemu qt3support qt4 readline session spice sse sse2 sse4 sse4_1 sse4_2 ssh-askpass ssl ssse3 tcpd theora thinkpad threads tk tls truetype uml unicode usb usbredir uxa v4l v4l2 vaapi video vorbis xa xmp xscreensaver xvfb xvmc zenmap zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id 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" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="f bdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" 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, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON


The build log is stored in /var/log/portage/_emerge_20150128-020634.log
The chroot image is amd64-unstable
Comment 1 Ian Delaney (RETIRED) gentoo-dev 2015-01-29 10:53:32 UTC
  File "setup.py", line 37, in <module>
    del sdist.finders[:]
AttributeError: 'module' object has no attribute 'finders'

setuptools really isn't having a good year so far. However, this sdist.finders is a ghost

~/cvsPortage/gentoo-x86/dev-python/nltk $ python -c "from setuptools.command import sdist"

success

~/cvsPortage/gentoo-x86/dev-python/nltk $ python -c "from setuptools.command.sdist import finders"Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: cannot import name finders

Which begs 3 questions. 
1.  How did this pass addition to the tree
*nltk-3.0.0 (22 Dec 2014)

2. What are upstream doing importing a ghost module. It looks like their intention relates to

# Prevent setuptools from trying to add extra files to the source code
# manifest by scanning the version control system for its contents.

3. What next?

I can't recall seeing lines like these
from setuptools.command import sdist
del sdist.finders[:]
before

Comment them out by sed and the package builds and installs.
Also PYTHON_COMPAT can do with updating to
PYTHON_COMPAT=( python{2_7,3_3,3_4} )

They look totally spurious
Comment 2 Ian Delaney (RETIRED) gentoo-dev 2015-01-29 13:20:22 UTC
I strongly suspect this module existed in setuptools latest in 22 Dec 2014.  My current is the most recent. Needs d;grade to an older setuptools and re-run and see if this module existed then.
Comment 3 Pavel Denisov 2015-03-14 17:34:40 UTC
Downgrade to setuptools-9.1 made nltk to build and install.
Comment 4 Mike Gilbert gentoo-dev 2015-03-17 18:22:32 UTC
This issue was probably introduced here.

https://bitbucket.org/pypa/setuptools/commits/f191c8a1225b#chg-setuptools/command/sdist.py

nltk should not be messing with setuptools internals, so I blame them.
Comment 5 Rick Farina (Zero_Chaos) gentoo-dev 2015-03-18 02:13:44 UTC
https://github.com/nltk/nltk/commit/efe85968bb23e3afdcd331293f2c2588b1590091

upstream fixed it by no longer messing with setuptools internals. Thanks floppym

patch stolen and added to 2.0.4.  I bumped nltk-3.0.0 to 3.0.2, mostly to show that the fix was applied in 3.0.1 and no longer needed after that. The ancient stable ebuild appears unaffected.

thanks for the report.