Ubuntu – Duplicity 0.7.10 fails after upgrading librsync in Ubuntu 14.04

dependenciesduplicityinstallationpythonUbuntu

I've spent a few hours trying to configure Duplicity to perform automated remote backups to a Google Drive. At this point, it's safe to say that I'm in my own private dependency hell.

Using the version of Duplicity that came with my distribution (0.6.x), I was getting an error:

BackendException: Google Docs backend requires Google Data APIs Python Client Library (see http://code.google.com/p/gdata-python-client/).

despite the fact that I had the Google API Python Client installed. So, I decided to try and upgrade duplicity, which failed with:

x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c duplicity/_librsyncmodule.c -o build/temp.linux-x86_64-2.7/duplicity/_librsyncmodule.o
duplicity/_librsyncmodule.c:26:22: fatal error: librsync.h: No such file or directory
 #include <librsync.h>
                      ^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

So, I decided to try and upgrade librsync as well, to the latest stable version (2.0). After struggling with dependencies for that, I finally got both librsync and duplicity updated to their latest stable versions.

So, when I went to give my upgraded version of Duplicity a spin using duplicity --version, I now get this error immediately:

Traceback (most recent call last):
  File "/usr/local/bin/duplicity", line 71, in <module>
    from duplicity import collections
  File "/usr/local/lib/python2.7/dist-packages/duplicity/collections.py", line 32, in <module>
    from duplicity import path
  File "/usr/local/lib/python2.7/dist-packages/duplicity/path.py", line 43, in <module>
    from duplicity import librsync
  File "/usr/local/lib/python2.7/dist-packages/duplicity/librsync.py", line 30, in <module>
    from . import _librsync
ImportError: librsync.so.2: cannot open shared object file: No such file or directory

Best Answer

To get librsync.h then

sudo apt-get install python-dev  
sudo apt-get install librsync-dev  

work for me.