Subversion 1.7 em 12.04 precisas: erro libsasl, compilando a partir do código-fonte?

2

Antecedentes: Eu sou um usuário antigo do Gentoo, e esta é minha primeira vez usando o Ubuntu (instalado em uma VM para evitar compilar tudo do zero). Estou familiarizado com um ambiente Linux, mas pouco familiarizado com o Ubuntu.

Estou tentando instalar o Subversion 1.7 no Ubuntu e vi este post: Onde posso encontrar um binário do Subversion 1.7?

A postagem acima recomenda o uso do PPA ppa:dominik-stadler/subversion-1.7 . Eu também encontrei o PPA ppa:svn/ppa de outro link. Ambos causam problemas para mim.

O problema é que qualquer operação svn usando o servidor remoto causa o seguinte erro:

svn: E170001: Unable to connect to a repository at URL 'svn+ssh://my_repo'
svn: E170001: Could not create SASL context: generic failure: No such file or directory

Isto parece surgir de um bug recente envolvendo a dependência do SVN na biblioteca libsasl, conforme documentado por usuários Debian aqui: link

e também usuários de Mac aqui: link

A resolução parece envolver a atualização da biblioteca cyrus-sasl ou libsasl para uma versão mais nova (nenhuma das quais está nos últimos pacotes do apt), ou a compilação do subversion sem o suporte do SASL. Como um usuário do Gentoo, comecei a procurar como compilar o svn a partir do código-fonte, mas ele parece muito mais complicado no Ubuntu do que eu estou acostumado e não tenho certeza de qual é a maneira canônica. Minhas perguntas:

  • Existe uma solução óbvia para esse problema que estou negligenciando?
  • Existe uma maneira de atualizar as dependências do SVN para algo que funcione usando synaptic ou apt-get?
  • Se eu quiser compilar do zero, como usar as fontes no PPA em vez de baixar minha própria cópia de origem (ou seja, o PPA tem tanto binário quanto fontes?)

EDIT: Isso parece ser causado por esse bug no SASL

Alterei /etc/hostname sem atualizar /etc/hosts e isso causou o erro. Corrigir /etc/hosts me permitiu contornar o erro por enquanto sem ter que compilar o SVN do zero ou encontrar uma versão com patch do cyrus-sasl2.

    
por Andrew Mao 03.09.2012 / 23:06

2 respostas

1

Isso é um bug. Espera-se que qualquer "solução óbvia" seja acrescentada ao PPA imediatamente. Uma solução que vi (de um de seus links) é apenas configurá-lo com o --without-sasl flag, mas você precisará mexer nos scripts de compilação para isso.

Aqui está a maneira padrão de criar o pacote a partir de fontes de recompra. Se o seu PPA tiver origem, ele usará essa fonte. Você saberá rapidamente se funcionou porque o diretório será subversion-1.7 ...

Isso também obtém as dependências (através de build-dep ).

sudo apt-get build-dep subversion
apt-get source subversion
cd subversion*
dpkg-buildpackage -us -uc -nc
dpkg -i ../subversion*.deb

Edit: Acabou de chegar ao fim do seu link de macports. Parece que há uma correção no libsasl. Encontre um PPA separado para isso, ou construa isso e você pode estar bem.

    
por Oli 04.09.2012 / 00:52
1

Como mencionado, isso ocorreu depois de renomear o nome do host (clonado vm). Solução no Ubuntu / Debian com o subversion 1.7.7-1 - Execute o seguinte:

dpkg-reconfigure libsasl2-2
dpkg-reconfigure libsasl2-modules
    
por Nejat Philip Eryigit 12.10.2012 / 23:43