My System: I am running Calibre 0.8.56 along with the plugin Kindle Collections 1.7.10 on an Ubuntu 10.04 laptop.
The Problem: When I connect my Kindle 4 (and it mounts properly on my system), Calibre fails to detect it.
Additional Information: I launch calibre from the command line with "calibre". The following is written to the terminal while Calibre opens:
Code:
grandero@grandero-laptop:~$ calibre
Traceback (most recent call last):
File "site-packages/calibre/utils/config.py", line 264, in refresh
File "site-packages/calibre/utils/config.py", line 253, in raw_to_object
File "plistlib.py", line 103, in readPlistFromString
File "plistlib.py", line 78, in readPlist
File "plistlib.py", line 401, in parse
File "xml/parsers/expat.py", line 4, in <module>
ImportError: /usr/calibre/lib/python2.7/lib-dynload/pyexpat.so: undefined symbol: XML_SetHashSalt
When I mount my Kindle 4, nothing changes on the GUI, but the following is written to the terminal:
Code:
Unable to open device <calibre.devices.kindle.driver.KINDLE2 object at 0x9a2cc6c>
Traceback (most recent call last):
File "site-packages/calibre/gui2/device.py", line 166, in do_connect
File "site-packages/calibre/devices/usbms/device.py", line 857, in open
File "site-packages/calibre/devices/usbms/device.py", line 618, in open_linux
File "site-packages/calibre/devices/usbms/device.py", line 591, in mount
File "site-packages/calibre/devices/usbms/device.py", line 565, in node_mountpoint
File "site-packages/calibre/devices/udisks.py", line 8, in <module>
File "site-packages/dbus/__init__.py", line 78, in <module>
AttributeError: 'module' object has no attribute 'exceptions'
Some Background:
I use Calibre and this plugin with my Kindle on a different machine, my Ubuntu 10.04 desktop, without any trouble. However I wanted to be able to manage my Kindle on the road as well, so I decided to install it on my laptop. I installed it with this command:
Code:
sudo python -c "import sys; py3 = sys.version_info[0] > 2; u = __import__('urllib.request' if py3 else 'urllib', fromlist=1); exec(u.urlopen('http://status.calibre-ebook.com/linux_installer').read()); main(install_dir='/usr')"
Then I installed the plugin from within Calibre.
But then I took a shortcut. I simply copied my Calibre library from my desktop machine to a new directory on my laptop, and then I copied my .config/calibre folder from my desktop to my laptop. Finally, I edited line 23 in global.py within that folder to accurately reflect the new location of my library:
Code:
library_path = u'/home/grandero/Calibre Library'
This seemed to work just fine, and I'm 80% sure I even plugged the Kindle in to the laptop and calibre detected it that first time. Has this shortcut create the problem?
One final observation: There are three files present at the root of the Kindle's file system: driveinfo.calibre, kindle_collections_path_cache.calibre, and metadata.calibre. Does Calibre expect one Kindle to always be connected to one install of Calibre?
Thanks in advance!