web-dev-qa-db-fra.com

Subversion 1.7 sur 12.04 précise: erreur libsasl, compilation depuis la source?

Contexte: Je suis un utilisateur Gentoo de longue date, et c'est la première fois que j'utilise Ubuntu (installé sur un VM pour éviter de tout compiler à partir de zéro). Je suis familier avec un environnement Linux mais pas assez familier avec Ubuntu.

J'essaie d'installer Subversion 1.7 sur Ubuntu et j'ai vu ce post: Où puis-je trouver un binaire Subversion 1.7?

Le message ci-dessus recommande d'utiliser le PPA ppa:dominik-stadler/Subversion-1.7. J'ai aussi trouvé le PPA ppa:svn/ppa à partir d'un autre lien. Ils me causent tous les deux des problèmes.

Le problème est que toute opération svn utilisant le serveur distant provoque l'erreur suivante:

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

Cela semble provenir d'un bogue récent impliquant la dépendance de SVN à la bibliothèque libsasl, tel que documenté par les utilisateurs Debian ici: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683555 =

et aussi les utilisateurs Mac ici: https://trac.macports.org/ticket/34861

La résolution semble impliquer la mise à jour de la bibliothèque cyrus-sasl ou libsasl vers une version plus récente (dont aucune n'est dans les derniers packages apt), ou la compilation de Subversion sans prise en charge SASL. En tant qu'utilisateur Gentoo, j'ai commencé à chercher comment compiler svn à partir des sources, mais cela semble beaucoup plus compliqué sur Ubuntu que je ne suis habitué et je ne sais pas quelle est la méthode canonique. Mes questions:

  • Existe-t-il une solution évidente à ce problème que je néglige?
  • Existe-t-il un moyen de mettre à jour les dépendances pour SVN en quelque chose qui fonctionne en utilisant synaptic ou apt-get?
  • Si je veux compiler à partir de zéro, comment utiliser les sources dans le PPA au lieu de télécharger ma propre copie source (c'est-à-dire que le PPA a à la fois binaire et sources?)

EDIT: Cela semble être causé par ce bogue dans SASL

J'ai changé /etc/hostname sans mise à jour /etc/hosts, ce qui a provoqué l'erreur. Fixation /etc/hosts m'a permis de contourner l'erreur pour l'instant sans avoir à compiler SVN à partir de zéro ou à trouver une version corrigée de cyrus-sasl2.

2
Andrew Mao

Ceci est un bug. On pourrait espérer que toute "solution évidente" serait ajoutée au PPA immédiatement. Une solution de contournement que j'ai vue (à partir de l'un de vos liens) consiste simplement à le configurer avec le --without-sasl flag mais vous devrez jouer avec les scripts de construction pour cela.

Voici la manière standard de construire le package à partir de sources de dépôt. Si votre PPA a une source, il utilisera cette source. Vous saurez assez rapidement si cela a fonctionné car le répertoire sera Subversion-1.7 ...

Cela obtient également les dépendances (via build-dep).

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

Edit: Je viens d'arriver à la fin de votre lien macports. Il semble qu'il y ait un correctif dans libsasl. Trouvez un PPA distinct pour cela, ou créez-le et tout ira bien.

1
Oli

Comme mentionné, cela s'est produit après avoir renommé le nom d'hôte (vm cloné). Solution sur Ubuntu/Debian avec Subversion 1.7.7-1 - Exécutez ce qui suit:

dpkg-reconfigure libsasl2-2
dpkg-reconfigure libsasl2-modules
1