Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 568514 - dev-python/pymongo-2.9 - NameError: name 'basestring' is not defined
Summary: dev-python/pymongo-2.9 - NameError: name 'basestring' is not defined
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Lujeni
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-17 09:48 UTC by Juergen Rose
Modified: 2016-10-01 22:41 UTC (History)
8 users (show)

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


Attachments
build.log (build.log,29.64 KB, text/plain)
2015-12-17 09:48 UTC, Juergen Rose
Details
/var/tmp/portage/dev-python/pymongo-2.9/temp/sphinx-err-s_cbs24r.log (sphinx-err-s_cbs24r.log,1.09 KB, text/plain)
2015-12-17 10:11 UTC, Juergen Rose
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Rose 2015-12-17 09:48:46 UTC
Created attachment 419454 [details]
build.log

'emerge -1v $(find /usr/lib*/python3* -name '*cpython-3[3-5].so')'  fails with:
...
 * python3_4: running distutils-r1_run_phase python_compile_all
Running Sphinx v1.3.3

Exception occurred:
  File "/var/tmp/portage/dev-python/pymongo-2.9/work/pymongo-2.9-python3_4/pymongo/__init__.py", line 83, in get_version_string
    if isinstance(version_tuple[-1], basestring):
NameError: name 'basestring' is not defined
The full traceback has been saved in /var/tmp/portage/dev-python/pymongo-2.9/temp/sphinx-err-s_cbs24r.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
 * ERROR: dev-python/pymongo-2.9::gentoo failed (compile phase):




root@caiman:/root(3)# emerge --info '=dev-python/pymongo-2.9::gentoo'
Portage 2.2.26 (python 2.7.11-final-0, default/linux/amd64/13.0, gcc-4.9.3, glibc-2.22-r1, 4.3.3-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.3.3-gentoo-x86_64-AMD_Phenom-tm-_II_X6_1090T_Processor-with-gentoo-2.2
KiB Mem:    16177044 total,  11371368 free
KiB Swap:  100663280 total, 100663280 free
Timestamp of repository gentoo: Thu, 17 Dec 2015 03:00:01 +0000
sh bash 4.3_p42
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p42::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.22.0::gentoo
dev-lang/python:          2.7.11::gentoo, 3.4.3-r5::gentoo, 3.5.1::gentoo
dev-util/cmake:           3.4.1::gentoo
dev-util/pkgconfig:       0.29::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.19.1::gentoo
sys-apps/sandbox:         2.9::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.12.6-r1::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r1::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.9.3::gentoo, 5.3.0::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6-r1::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.3::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r1::gentoo
Repositories:

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

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

g-cpan
    location: /var/lib/cpan
    masters: gentoo
    priority: 1

g-octave
    location: /var/lib/g-octave
    masters: gentoo
    priority: 2

sage-on-gentoo
    location: /var/lib/layman/sage-on-gentoo
    masters: gentoo science
    priority: 50

science
    location: /var/lib/layman/science
    masters: gentoo
    priority: 50

sunrise
    location: /var/lib/layman/sunrise
    masters: gentoo
    priority: 50

x11
    location: /var/lib/layman/x11
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL Intel-SDP dlj-1.1 skype-eula skype-4.0.0.7-copyright googleearth AdobeFlash-11.x cadsoft Oracle-BCLA-JavaSE MakeMKV-EULA NVIDIA-CUDA Nero-AAC-EULA GIMPS"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=amdfam10 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
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.6/ext-active/ /etc/php/cgi-php5.6/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="-march=amdfam10 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
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 xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j7"
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"
USE="3dnow 3dnowext 64bit R X Xaw3d a52 aac acl acpi admin afs alsa amd64 amr ao apache2 apng applet archive armadillo arpack asf aspell assistant atlas audacious audiofile automap automount bash-completion berkdb blas blast bluetooth bluray boost bzip2 cairo cdda cddb cdf cdio cdparanoia cdr cgi chm cilk cli cmake collada cracklib crypt css cups curl cxx daap db dbi dbm dbus declarative designer devhelp device-mapper dga dia dirac djvu doc dot dri ds2490 ds9097 ds9097u dts dv dvb dvd dvdr dvi dynamicplugin eds egl elf emacs emboss emf encode epiphany evo examples excel exif expat extensions extra extras faac faad fam ffmpeg fftw firefox fits flac fltk fontconfig foomaticdb fortran fortran95 fpm fpx ftp fuse gcj gd gdal gdbm gdu gedit geoip geolocation geos gfortran gif gimp git glade glib glpk gml gmp gnome gnome-keyring gnuplot gnutls gold gphoto2 gpm grammar graphics graphtft graphviz grass gsl gsm gstreamer gtk gtk3 gudev guile hddtemp hdf hdf5 hdri html http httpd hvm hwdb iconv icq icu id3tag ide imagemagick imap inotify introspection ipod ipv6 irda ithreads jadetex java jbig jit john jpeg jpeg2k kate kdepim kdrive kerberos keymap kpathsea kvm ladspa lame lapack latex lcms ldap lensfun libffi libgda libkms libnotify libsamplerate live lm_sensors lua lzma lzo mad mail maildir mapnik math matroska media-library mercurial mikmod mkl mmx mmxext mng mod modules mono motif mozilla mp3 mp4 mpeg mpi mpi-threads mplayer mtp multilib multimedia musepack musicbrainz mysql mysqli nautilus ncurses netcdf netpbm network networking nfs nls nntp nptl nsplugin ntfs ntp numpy obex objc ocaml ocr octave odbc ofa ogdi ogg opencv openexr opengl openmp openvg pam pango pcre pda pdf pdl2 perl plasma plotutils plugins png podcast policykit portaudio posix postgres postscript ppds preview-latex proj projectm pstricks pulseaudio python q16 q32 qemu qhull qt3support qt4 qt5 quicktime raw readline reiserfs reports rle romio rpc rrdcgi rrdtool sage samba sasl schroedinger science sdk sdl seccomp secure-delete semantic-desktop server session shout sip slang slp smart smbclient smp sms sndfile snmp soap sockets sound soup sox speex spell sql sqlite sse sse2 sse4a ssl stlport subtitles subversion sudo suexec svg svm swig systemd szip t1lib tbb tcl tcpd tex tex4ht texmacs theora thesaurus threads thunderbird tidy tiff tk toolbar tools truetype udev udisks unicode usb utempter v4l v4l2 vaapi vala valgrind vdpau video virt-network virtualbox visio vorbis vpx vtk wav webdav webdav-serf webkit wmf wxwidgets x264 xa xattr xcb xetex xext xft xine xml xmlreader xmlrpc xpm xv xvid xvmc yaml youtube zlib zvbi" 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="actions alias auth_basic auth_digest authn_anon authn_dbd authn_core authn_dbm authn_default authn_file authz_core authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgid dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info lbmethod_byrequests log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif slotmem_shm so socache_shmcb speling status unique_id unixd userdir usertrack vhost_alias" APACHE2_MPMS="worker" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="canon fuji ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="3dnow 3dnowext mmx mmxext popcnt sse sse2 sse3 sse4a" CURL_SSL="nss" 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 void" KERNEL="linux" LCD_DEVICES="cfontz hd44780 mtxorb ncurses X lcd2usb lcdlinux png usblcd SureElec" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de en fr ru" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" QEMU_SOFTMMU_TARGETS="arm i386 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="radeon displaylink" 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, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================

dev-python/pymongo-2.9::gentoo was built with the following:
USE="doc kerberos -test" ABI_X86="64" PYTHON_TARGETS="python2_7 python3_4 -pypy -python3_3 -python3_5"





root@caiman:/root(4)# emerge -pqv '=dev-python/pymongo-2.9::gentoo'
[ebuild   R   ] dev-python/pymongo-2.9  USE="doc kerberos {-test}" PYTHON_TARGETS="python2_7 python3_4 -pypy -python3_3 -python3_5"
Comment 1 Juergen Rose 2015-12-17 10:11:04 UTC
Created attachment 419456 [details]
/var/tmp/portage/dev-python/pymongo-2.9/temp/sphinx-err-s_cbs24r.log
Comment 2 Juergen Rose 2015-12-29 08:48:51 UTC
It fails with sphinx v1.2.2 as well:

 * python3_4: running distutils-r1_run_phase python_compile_all
Running Sphinx v1.2.2

Exception occurred:
  File "/var/tmp/portage/dev-python/pymongo-2.9/work/pymongo-2.9-python3_4/pymongo/__init__.py", line 83, in get_version_string
    if isinstance(version_tuple[-1], basestring):
NameError: name 'basestring' is not defined
The full traceback has been saved in /var/tmp/portage/dev-python/pymongo-2.9/temp/sphinx-err-849wdgq2.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://bitbucket.org/birkenfeld/sphinx/issues/>. Thanks!
 * ERROR: dev-python/pymongo-2.9::gentoo failed (compile phase):
Comment 3 Juergen Rose 2016-01-03 12:17:38 UTC
'USE=-doc emerge -v1 pymongo' works with eselected python2.7 and python3.4.
Comment 4 Andrey Grozin gentoo-dev 2016-03-18 13:50:01 UTC
Same with pymongo-2.9.3
Comment 5 Juergen Rose 2016-03-18 17:00:52 UTC
(In reply to Andrey Grozin from comment #4)
> Same with pymongo-2.9.3

Here too.
Comment 6 Ian Delaney (RETIRED) gentoo-dev 2016-03-21 06:06:26 UTC
Offered in OUT #irc channel,

 https://github.com/oxplot/fysom/issues/1

indicates in the opening line, basestring is an object, or type, not supported in the py3. vns.  This requires reporting upstream and until then, consider re-setting PYTHON_COMPAT to py2.7 only.
Comment 7 Louis Sautier (sbraz) gentoo-dev 2016-03-21 09:07:47 UTC
You are using version 2.9 when 3.2.2 is available for ~amd64. The issue you're referring to was fixed upstream in 3.0:
https://github.com/mongodb/mongo-python-driver/commit/d494105aa4199cd5f0d9b47c7ae17e20e9175dc3#diff-f8c0b2c357efcb7a6d94aeb9e485c7f5L73
Comment 8 Alex Brandt (RETIRED) gentoo-dev 2016-03-21 16:10:03 UTC
(In reply to Louis Sautier from comment #7)
> You are using version 2.9 when 3.2.2 is available for ~amd64. The issue
> you're referring to was fixed upstream in 3.0:
> https://github.com/mongodb/mongo-python-driver/commit/
> d494105aa4199cd5f0d9b47c7ae17e20e9175dc3#diff-
> f8c0b2c357efcb7a6d94aeb9e485c7f5L73

This issue is still a problem due to ipython requiring <dev-python/pymongo-3.0.  If that restriction can be lifted that may alleviate this problem.  Not sure why others are seeing this issue but for me it's just ipython.
Comment 9 Andrey Grozin gentoo-dev 2016-03-21 19:51:26 UTC
(In reply to Alex Brandt from comment #8)
> This issue is still a problem due to ipython requiring
> <dev-python/pymongo-3.0.  If that restriction can be lifted that may
> alleviate this problem.  Not sure why others are seeing this issue but for
> me it's just ipython.
Same here. I don't use pymongo, it's just a dependency of ipython.
Comment 10 Louis Sautier (sbraz) gentoo-dev 2016-03-22 00:32:35 UTC
I guess you have USE=doc or USE=mongodb set for ipython because otherwise, it would not try to pull pymongo (https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-python/ipython/ipython-4.1.1.ebuild#n23).
Looking at the ipython ebuilds, the DEPEND on pymongo looks like something which was not updated since ipython/jupyter was split into different packages (http://blog.jupyter.org/2015/04/15/the-big-split/)
ipython does not need pymongo, ipyparallel does (https://github.com/ipython/ipyparallel/blob/master/ipyparallel/controller/mongodb.py) and since it's not listed in setup.py, it is certainly optional. The code seems to support both old and recent pymongo versions too.
I think a new bug should be opened to refactor the ipy* ebuilds.
Comment 11 Ian Delaney (RETIRED) gentoo-dev 2016-03-26 01:58:26 UTC
(In reply to Alex Brandt from comment #8)
> (In reply to Louis Sautier from comment #7)
> > You are using version 2.9 when 3.2.2 is available for ~amd64. The issue
> > you're referring to was fixed upstream in 3.0:
> > https://github.com/mongodb/mongo-python-driver/commit/
> > d494105aa4199cd5f0d9b47c7ae17e20e9175dc3#diff-
> > f8c0b2c357efcb7a6d94aeb9e485c7f5L73
> 
> This issue is still a problem due to ipython requiring
> <dev-python/pymongo-3.0.  If that restriction can be lifted that may
> alleviate this problem.  Not sure why others are seeing this issue but for
> me it's just ipython.

Not following. This is a bug about pymongo being made to import a type not found in its modules under py3. ipython is a reverse dep. Why are you pointing at ipython when the PYTHON_COMPAT of pymongo is allowing py3. ?
Comment 12 Alex Brandt (RETIRED) gentoo-dev 2016-03-26 14:51:15 UTC
(In reply to Ian Delaney from comment #11)
> (In reply to Alex Brandt from comment #8)
> > (In reply to Louis Sautier from comment #7)
> > > You are using version 2.9 when 3.2.2 is available for ~amd64. The issue
> > > you're referring to was fixed upstream in 3.0:
> > > https://github.com/mongodb/mongo-python-driver/commit/
> > > d494105aa4199cd5f0d9b47c7ae17e20e9175dc3#diff-
> > > f8c0b2c357efcb7a6d94aeb9e485c7f5L73
> > 
> > This issue is still a problem due to ipython requiring
> > <dev-python/pymongo-3.0.  If that restriction can be lifted that may
> > alleviate this problem.  Not sure why others are seeing this issue but for
> > me it's just ipython.
> 
> Not following. This is a bug about pymongo being made to import a type not
> found in its modules under py3. ipython is a reverse dep. Why are you
> pointing at ipython when the PYTHON_COMPAT of pymongo is allowing py3. ?

Ian, read the entire quote above.  I was responding to Louis Sautier's question about why this version was still in use when the fix is in a newer version.
Comment 13 Bernie Hackett 2016-07-14 01:55:44 UTC
I totally missed this bug. You all should ping me. =)

Unlike pymongo 3.x, pymongo 2.x (including 2.9.x) has to run 2to3 during setup to translate the source for python 3. "python setup.py install" does this, and so does installing from pypi using easy_install or pip. I'm guessing something has changed in the ebuild that causes 2to3 to not be run?

PyMongo 3.x supports python 2.x and 3.x single source, since we dropped support for python 2.4 and 2.5.
Comment 14 Bernie Hackett 2016-07-14 02:41:22 UTC
I see. This problem is specifically about the doc use flag. The pymongo-2.9.x ebuilds seem to work fine for python 2.7 and 3.x, but enabling the doc flag causes the install to fail.
Comment 15 Ultrabug gentoo-dev 2016-08-19 08:54:26 UTC
Thanks to everyone for their patience, I finally took the time to look into it and Bernie is right it was about doc generation failing with python3.

I've updated the ebuild to use python2 to build the docs and now all is good :)

It's in tree, mirrors should have the new versions in a few.
Comment 16 Bernie Hackett 2016-10-01 22:41:56 UTC
FYI - I fixed this problem in PyMongo 2.9.4. The docs build properly under python 3.x now.

https://api.mongodb.com/python/2.9.4/changelog.html#changes-in-version-2-9-4