Duplicity 0.7.10 falha após a atualização do librsync no Ubuntu 14.04

1

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
    
por alexw 06.10.2016 / 20:24

3 respostas

2

Para obter librsync.h , em seguida

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

trabalhe para mim.

    
por 17.04.2017 / 13:12
0

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

    
por 07.10.2016 / 04:59
0

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:

  1. 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
    
  2. 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
    
  3. 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.

  4. Atualize o cache ldconfig :

    sudo ldconfig
    
por 12.11.2017 / 01:26