Edifício Subversion 1.5.4 no Debian: não foi possível encontrar biblioteca contendo RSA_new

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

Pergunta

Eu tenho tentado construir subversão (em uma conta limitada) por um longo tempo, mas sem qualquer sorte: (

As instruções que estou a seguir: http://wiki.dreamhost.com/Subversion_Installation

A execução deste:

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

me dá esse erro:

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

Alguém pode explicar-me:

  1. As possíveis razões para este
  2. maneiras possíveis para contornar it
  3. Opcional: O que esses módulos são e qual o seu propósito (Neon / RSA_new)

Obrigado!

conteúdo do arquivo de log:

Tentando encontrar interessantes bits do arquivo 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

-

Foi útil?

Solução

Confira a minha resposta sobre aqui .

Outras dicas

  1. você não tem libcrypto.a e libcrypto.so em seu sistema
  2. você precisa instalar instalar libcrypto, que está no pacote libssl-dev (aptitude install libssl-dev)
  3. Neon é a biblioteca WebDAV incluído na subversão; WebDAV sendo um dos protocolos de arame que suportes subversion (http :). RSA é um algoritmo de criptografia. Neon realmente não precisa dele em si - é apenas que configure o usa para determinar se libcrypto está disponível
  4. .

Finalmente tenho que trabalhar. Quão: Download openssl-0.x.x.tar.gz, descompactar, cd para ele

instalá-lo em algum lugar, como (para mim)

$ ./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"

descompactar a subversão + seus deps

ir para o neon subdiretório

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

excluir o diretório neon

ir para o diretório subversion

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

Nota:. Você pode ser capaz de fugir sem todas as exportações usando --with-ssl = / root / instalações ou algo nesse sentido

Você quer necessidade de instalar OpenSSL primeiro lugar, ou configure --without-SSL (ou simplesmente omitir a opção --with-SSL Se você estiver seguindo as instruções literalmente).

Se eu pular o SSL:

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

Eu recebo este erro:

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

Se eu faço:

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

Eu recebo um aviso:

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

: - s

o senhor checou Compilando Subversion com suporte a SSL , onde eram necessários os seguintes varaibles para concluir o processo?

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"

E o pós não conseguiu encontrar biblioteca contendo RSA_new , recomendo a fez certeza os cabeçalhos também foram instalados no sistema (Debian-Ubuntu-Dapper-Beta2: "apt-get install libssl-dev"), ou como Martin diz :. aptitude install libssl-dev

Em suma, tanto os cabeçalhos não estão lá, ou eles não estão no caminho correto durante o processo de configuração.

NB:. Eu estou usando um servidor compartilhado para que eu não sou capaz de fazer algumas coisas

Chamando

apt-get install libssl-dev

me dá esse erro:

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?

Chamada aptitude install libssl-dev

me dá esse erro:

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

Como você pode ver, talvez, eu estou totalmente perdido assim que qualquer outra exploração de mão seria muito apreciada! :)

Eu acho que finalmente consegui o papel "configure" para o trabalho.

Primeiro, eu recuperado openssl localmente:

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

Então eu construí subversão com uma referência a essa pasta:

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

Na verdade, eu tenho este aviso:

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

Agora que eu que eu tinha tudo coberto, ele compila por alguns minutos, mas depois me dá esse erro:

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

Esta parece ser a história sem fim ... posso em algum lugar apenas baixar os últimos binários?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top