Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 469424 - app-text/calibre: runtime ImportError: No module named pyPdf, triggered by user plugin
Summary: app-text/calibre: runtime ImportError: No module named pyPdf, triggered by us...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Zac Medico
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-11 11:56 UTC by Sander Sweers
Modified: 2015-09-12 04:58 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 Sander Sweers 2013-05-11 11:56:19 UTC
I found this in my .xsession-errors from calibre. It wants to import pyPdf and fails because it is not installed. emerging pyPdf 1.13 make the import error go away.

Calibre works fine otherwise so not sure what it is really used for but let's make calibre happy anyway :-).

Traceback (most recent call last):
  File "/usr/lib64/calibre/calibre/gui2/ui.py", line 129, in __init__
    ac = self.init_iaction(action)
  File "/usr/lib64/calibre/calibre/gui2/ui.py", line 143, in init_iaction
    ac = action.load_actual_plugin(self)
  File "/usr/lib64/calibre/calibre/customize/__init__.py", line 576, in load_actual_plugin
    ac = getattr(importlib.import_module(mod), cls)(gui,
  File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/usr/lib64/calibre/calibre/customize/zipplugin.py", line 150, in load_module
    exec compiled in mod.__dict__
  File "calibre_plugins.prst1_notes.ui", line 12, in <module>
  File "/usr/lib64/calibre/calibre/customize/zipplugin.py", line 150, in load_module
    exec compiled in mod.__dict__
  File "calibre_plugins.prst1_notes.main", line 18, in <module>
  File "/usr/lib64/calibre/calibre/customize/zipplugin.py", line 150, in load_module
    exec compiled in mod.__dict__
  File "calibre_plugins.prst1_notes.PRST1NotesMergeInterface", line 8, in <module>
  File "/usr/lib64/calibre/calibre/customize/zipplugin.py", line 150, in load_module
    exec compiled in mod.__dict__
  File "calibre_plugins.prst1_notes.PRST1NotesMerger", line 9, in <module>
ImportError: No module named pyPdf

# emerge --info
Portage 2.1.11.62 (default/linux/amd64/13.0/desktop, gcc-4.6.3, glibc-2.15-r3, 3.8.7-gentoo x86_64)
=================================================================
System uname: Linux-3.8.7-gentoo-x86_64-Intel-R-_Core-TM-_i7-3770K_CPU_@_3.50GHz-with-gentoo-2.2
KiB Mem:    14810756 total,   4331056 free
KiB Swap:    8388604 total,   8365792 free
Timestamp of tree: Fri, 10 May 2013 08:45:01 +0000
ld GNU ld (GNU Binutils) 2.22
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.3-r3, 3.1.5-r1, 3.2.3-r2
dev-util/cmake:           2.8.10.2-r2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.7 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo sunrise multimedia eigenlay x11 bitcoin infirit steam-overlay mate-overlay
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native"
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/mateconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=native"
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 parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LANG="nl_NL.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j8"
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="/var/lib/layman/sunrise /var/lib/layman/multimedia /var/lib/layman/eigenlay /var/lib/layman/x11 /var/lib/layman/bitcoin /var/lib/layman/infirit /var/lib/layman/steam /var/lib/mate-overlay"
SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 avahi bash-completion berkdb bluetooth bluray branding bzip2 cairo caja cdda cddb cdr cjk cli consolekit cracklib crypt cue cups cxx dbus device-mapper dri dts dv dvd dvdr egl emboss encode exif faac faad fam ffmpeg firefox flac fontconfig fontforge fortran gdbm gif gmp gpm gstreamer gtk hires-icons iconv icu idn ipv6 jpeg kerberos lame lcms ldap libnotify lm_sensors lzma lzo mad mate mmx mmxext mng modules mp3 mp4 mpeg mudflap multilib musepack musicbrainz ncurses networkmanager nls nptl nsplugin offensive ogg openal opengl openldap openmp osmesa pam pango pch pcre pdf png policykit ppds ppp pulseaudio python qt3support qt4 readline rle samba sasl scanner schroedinger sdl semantic-desktop session sndfile speex spell sse sse2 sse3 sse4_1 ssl ssse3 startup-notification svg tcpd telepathy theora threads tiff truetype udev udisks unicode upower usb usbredir v4l vaapi vorbis vpx wavpack webp wxwidgets x264 xcb xml xmp xscreensaver xv xvid xvmc zeroconf 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" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" 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 auth_digest dav_fs authn_file dav authz_groupfile" 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" ENLIGHTENMENT_MODULES="backlight battery clock comp conf-applications conf-dialogs conf-display conf-edgebindings conf-interaction conf-intl conf-keybindings conf-menus conf-paths conf-performance conf-randr conf-shelves conf-theme conf-window-manipulation conf-window-remembers connman cpufreq dropshadow everything fileman fileman-opinfo gadman ibar ibox illume2 mixer msgbus notification pager quickaccess start syscon systray tasks temperature tiling winlist wizard xkbswitch access shot" 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 ubx" GRUB_PLATFORMS="efi-64 efi-32 pc" 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" LINGUAS="en en_GB nl" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_1 python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="intel radeon fbdev vesa fglrx" 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"
USE_PYTHON="2.7 3.1 3.2"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Sander Sweers 2013-05-11 12:06:31 UTC
calibre_plugins.prst1_notes.PRST1NotesMerge is actually a user plugin which a user can be installed from within calibre. Not sure how you want to handle this..?
Comment 2 Zac Medico gentoo-dev 2013-05-11 17:29:57 UTC
There's no need for everyone to install it. I don't even have it installed myself. I suppose we could add a USE flag to pull it in, but the list of possible dependencies pulled in by plugins is really endless, so I'd prefer not to.
Comment 3 Sander Sweers 2013-05-11 19:10:28 UTC
I did a bit of searching on the forums and it seem that pyPdf module was removed from calibre tree which of course now makes this plugin fail. http://www.mobileread.com/forums/showpost.php?p=2238957&postcount=25

Maybe it is an idee to add an elog/einfo making people aware of this?
Comment 4 Zac Medico gentoo-dev 2013-05-11 19:39:15 UTC
Well, the traceback clearly shows which plugin is at fault, so that should be enough info for users to find the relevant forum thread:

  http://www.mobileread.com/forums/showthread.php?t=173321

It's considered "spam" so show an elog message like this to all users.