Building Subversion 1.5.4 sur Debian: impossible de trouver la bibliothèque contenant RSA_new

StackOverflow https://stackoverflow.com/questions/274656

Question

Cela fait longtemps que je tente de créer de la subversion (sur un compte limité), mais sans succès: (

Les instructions que je suis: http://wiki.dreamhost.com/Subversion_Installation

En cours d'exécution:

./configure --prefix=${RUN} --without-berkeley-db --with-ssl --with-zlib --enable-shared

me donne cette erreur:

checking for library containing RSA_new... not found
configure: error: could not find library containing RSA_new
configure failed for neon

Quelqu'un peut-il m'expliquer:

  1. Les raisons possibles pour cela
  2. Moyens possibles pour le contourner
  3. Facultatif: quels sont ces modules et à quoi servent-ils (Neon / RSA_new)

Merci!

Contenu du fichier journal:

Recherche des éléments intéressants du fichier neon config.log:

configure:27693: gcc -o conftest -g -O2   conftest.c  >&5
/tmp/ccazXdJz.o: In function `main':
/home/stpinst/soft/subversion-1.5.4/neon/conftest.c:93: undefined reference to `RSA_new'
collect2: ld returned 1 exit status
configure:27699: $? = 1
configure: failed program was:
...
| int
| main ()
| {
| RSA_new();
|   ;
|   return 0;
| }
configure:27742: gcc -o conftest -g -O2   conftest.c  -lcrypto  -lz >&5
/usr/bin/ld: cannot find -lcrypto
collect2: ld returned 1 exit status
configure:27748: $? = 1

-

Était-ce utile?

La solution

Consultez ma réponse sur ici .

Autres conseils

  1. vous n'avez pas libcrypto.a ni libcrypto.so sur votre système
  2. vous devez installer install libcrypto, qui se trouve dans le paquet libssl-dev ( aptitude install libssl-dev )
  3. Neon est la bibliothèque WebDAV incluse dans subversion; WebDAV étant l’un des protocoles filaires pris en charge par Subversion (http :). RSA est un algorithme de cryptage. Neon n’en a pas réellement besoin lui-même - c’est juste que configure l’utilise pour déterminer si libcrypto est disponible.

Enfin réussi à le faire fonctionner. Comment: téléchargez openssl-0.x.x.tar.gz, décompressez-le, insérez-le dans cd

installez-le quelque part, comme (pour moi)

$ ./config shared --prefix=$HOME/installs && make clean && make && make install

$  export CFLAGS= "-O2 -g -I/root/installs/include"
$  export CFLAGS="-O2 -g -I/root/installs/include"
$  export LDFLAGS="-L/root/installs/lib"
$  export CPP="gcc -E -I/root/installs/include"

décompressez la subversion + ses deps

aller dans le sous-répertoire neon

$ ./configure --with-ssl=openssl --prefix=$HOME/installs && make clean && make && make install

supprimer le répertoire des néons

aller dans le répertoire subversion

$ ./configure --with-ssl --prefix=$HOME/installs --with-neon=/root/installs/bin/neon-config && make clean && make && make install

Remarque: vous pourrez peut-être vous passer de toutes les exportations en utilisant --with-ssl = / root / installs ou quelque chose du genre.

Vous devez d'abord installer OpenSSL ou configurer --without-ssl (ou omettez simplement l'option --with-ssl si vous avez suivi les instructions à la lettre).

Si je saute le SSL:

./configure --prefix=${RUN} --without-ssl

Je reçois cette erreur:

checking for openssl/opensslv.h... no
configure: error: We require OpenSSL; try --with-openssl
configure failed for serf

Si je le fais:

 ./configure --prefix=${RUN} --with-openssl

Je reçois un avertissement:

configure: WARNING: Unrecognized options: --with-openssl
...
configure: error: '--with-openssl requires a path to a directory'
configure failed for serf

: - s

avez-vous vérifié Compiler Subversion avec le support SSL , où les versions suivantes étaient nécessaires pour terminer le processus?

setenv CC "gcc -I/usr/local/ssl/include -L/usr/local/ssl/lib"
setenv CFLAGS "-O2 -g -I/usr/local/ssl/include"
setenv LDFLAGS "-L/usr/local/ssl/lib"
setenv CPP "gcc -E -I/usr/local/ssl/include"

Et le message n'a pas trouvé de bibliothèque contenant RSA_new . , recommande de s’assurer que les en-têtes ont également été installés sur le système (Debian-Ubuntu-Dapper-Beta2: "apt-get install libssl-dev"), ou en tant que Martin a déclaré :: aptitude install libssl-dev.

En bref, les en-têtes ne sont pas présents ou ne se trouvent pas dans le chemin correct lors du processus de configuration.

NB: J'utilise un hôte partagé , je ne peux donc pas faire certaines choses.

Appeler

apt-get install libssl-dev

me donne cette erreur:

E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

Appeler     aptitude install libssl-dev

me donne cette erreur:

E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied) 
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root

Comme vous pouvez peut-être le voir, je suis totalement perdu, donc toute prise en main supplémentaire serait grandement appréciée! :)

Je pense que j'ai enfin reçu le " configurer " partie au travail.

Tout d'abord, j'ai récupéré openssl localement:

wget http://www.openssl.org/source/openssl-0.9.8a.tar.gz
tar zxvf openssl-0.9.8a.tar.gz
cd openssl-0.9.8a
./configure --prefix=${RUN}
make
make install

Ensuite, j'ai construit Subversion avec une référence à ce dossier:

./configure --prefix=${RUN} --without-berkeley-db --with-openssl=$HOME/soft/openssl-0.9.8a

J'ai effectivement reçu cet avertissement:

configure: WARNING: Unrecognized options: --with-openssl

Maintenant que je pensais avoir tout couvert, il compile pendant quelques minutes mais me donne ensuite cette erreur:

link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        3.la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        .la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libexpat.                                                                        la' seems to be moved
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make[1]: *** [libserf-0.la] Error 1
make[1]: Leaving directory `/mnt/local/home/stpinst/soft/subversion-1.5.4/serf'
make: *** [external-all] Error 1

Cela semble être l'histoire sans fin ... puis-je télécharger quelque part les derniers fichiers binaires?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top