Googleドライブへの自動リモートバックアップを実行するように Duplicity を構成するのに数時間を費やしました。この時点で、私は私自身の私的な依存関係地獄にいると言っても過言ではありません。
ディストリビューションに付属しているバージョンのDuplicity(0.6.x)を使用すると、次のエラーが発生しました。
BackendException:GoogleドキュメントバックエンドにはGoogleデータAPIが必要ですPythonクライアントライブラリ( http://code.google.com/p/gdata-python-client/ を参照)。
google API Python Clientがインストールされているにもかかわらず、重複をアップグレードしようと決心しましたが、次の問題で失敗しました。
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
そこで、librsync
も最新の安定バージョン(2.0)にアップグレードすることにしました。 thatの依存関係に苦労した後、私はついにlibrsync
とduplicity
の両方を最新の安定したバージョンに更新しました。
したがって、アップグレードしたバージョンのDuplicityにduplicity --version
を使用してスピンを与えると、すぐにthisエラーが発生します。
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
取得するため librsync.h
その後
Sudo apt-get install python-dev
Sudo apt-get install librsync-dev
私のために働く。
ここでは、pl.smithとalexwの両方の答えが正しいですが、組み合わせています。 Ubuntu 16.04LTSでpipを使用して重複0.7.6から0.7.14にアップグレードしようとすると同じエラーが発生しました。これらを修正するために私がしたことは次のとおりです。
必要なlibrsyncヘッダーファイルをインストールします(これらはデフォルトではインストールされません):
Sudo apt update
Sudo apt install librsync-dev
Ldキャッシュディレクトリにlibrsyncライブラリの設定ファイルを作成します(ファイルがすでに存在する場合は、この手順をスキップしてください)。
Sudo touch /etc/ld.so.conf.d/librsync.so.2.conf
Librsyncヘッダーファイルを含むディレクトリをLD_LIBRARY_PATH環境変数に追加します。
Sudo <your favorite text editor> /etc/ld.so.conf.d/librsync.so.2.conf
追加 /usr/local/lib
このファイルの行に。
ldconfig
キャッシュを更新します。
Sudo ldconfig
共有オブジェクトのパスを追加することでこれを解決することができましたlibrsync.so.2
からLD_LIBRARY_PATH
。 Ubuntuでは、これはldconfig
を使用して行う必要があります。
Sudo nano /etc/ld.so.conf.d/librsync.so.2.conf
librsync.so.2.conf:
/usr/local/lib
ここで、Ubuntuのldconfigキャッシュをリロードする必要があります。
Sudo ldconfig