Para obter librsync.h
, em seguida
sudo apt-get install python-dev
sudo apt-get install librsync-dev
trabalhe para mim.
Eu passei algumas horas tentando configurar a Duplicidade para realizar backups remotos automatizados em um Google Drive. Neste ponto, é seguro dizer que estou no meu inferno de dependência privada.
Usando a versão do Duplicity que acompanha a minha distribuição (0.6.x), recebi um erro:
BackendException: Google Docs backend requires Google Data APIs Python Client Library (see http://code.google.com/p/gdata-python-client/).
apesar do fato de ter o cliente Python da API do Google instalado. Então, decidi tentar atualizar a duplicidade, que falhou com:
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
Então, decidi tentar atualizar o librsync
para a última versão estável (2.0). Depois de lutar com dependências para esse , finalmente consegui que os librsync
e duplicity
fossem atualizados para as versões mais recentes estáveis deles.
Então, quando fui dar uma versão atualizada da minha versão atualizada do Duplicity usando duplicity --version
, agora obtenho este erro imediatamente:
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
Para obter librsync.h
, em seguida
sudo apt-get install python-dev
sudo apt-get install librsync-dev
trabalhe para mim.
Consegui resolver isso adicionando o caminho para o objeto compartilhado librsync.so.2
to LD_LIBRARY_PATH
. No Ubuntu, isso tem que ser feito usando ldconfig
:
sudo nano /etc/ld.so.conf.d/librsync.so.2.conf
librsync.so.2.conf :
/usr/local/lib
Você deve agora recarregar o cache ldconfig do Ubuntu:
sudo ldconfig
As respostas de pl.smith e alexw estão corretas aqui, mas combinadas. Recebi um erro idêntico ao tentar atualizar da duplicidade 0.7.6 para 0.7.14 usando pip no Ubuntu 16.04 LTS. Veja o que fiz para corrigi-los:
Instale os arquivos de cabeçalho librsync necessários (eles não são instalados por padrão):
sudo apt update
sudo apt install librsync-dev
Crie um arquivo de configuração para bibliotecas librsync no diretório ld cache (pule esta etapa se o arquivo já existir):
sudo touch /etc/ld.so.conf.d/librsync.so.2.conf
Adicione o diretório que contém os arquivos de cabeçalho da librsync à variável de ambiente LD_LIBRARY_PATH:
sudo <your favorite text editor> /etc/ld.so.conf.d/librsync.so.2.conf
Adicione /usr/local/lib
a uma linha neste arquivo.
Atualize o cache ldconfig
:
sudo ldconfig