OpenSSL mancante durante ./configure. Come risolvere?


79

Stavo cercando di installare node.js e ho trovato il supporto OpenSSL mancante durante ./configure.

Come posso ripararlo? È un passaggio obbligatorio? L' --without-sslopzione risolverebbe il problema?

# ./configure

Checking for gcc                         : ok
Checking for library dl                  : not found
Checking for openssl                     : not found
Checking for function SSL_library_init   : not found
Checking for header openssl/crypto.h     : not found
/home/ec2-user/node-v0.6.6/wscript:374: error: Could not autodetect OpenSSL 
                                               support.

Make sure OpenSSL development packages are installed. Use configure --without-ssl 
to disable this message.

Risposte:


143

Sì, è un passaggio obbligatorio. Non è possibile rimuovere OpenSSL da un programma che lo utilizza, allo stesso modo in cui non è stato possibile rimuovere parti del motore casuali da un'auto.

La libreria OpenSSL di solito è già installata, ma è necessario installare i file di intestazione. A seconda della tua distribuzione Linux, avrai bisogno di questi pacchetti:

  • Red Hat, Fedora, CentOS - openssl-devel
  • Debian, Ubuntu - libssl-dev
  • Arch - openssl

Tecnicamente si potrebbe sostituire OpenSSL con, diciamo, NSS, ma non è questo il punto.


1
grazie mille, ho installato header by yum install openssl-devel
PK

Ah ha senso adesso. Questo è necessario anche per wget su ./configure con ssl.
Dhaupin,

3
Dopo aver usato la risposta grawitys mentre cercavo di configurare squid (3.5.26) con openssl, mi sono imbattuto in qualche strano effetto collaterale: a meno che tu non abbia installato "pkg-config", la libreria "openssl" e "libssl-dev" vengono trattate come se mancava. Quindi ho dovuto installare anche pkg-config. Viene utilizzato nello script di configurazione (intorno alla riga 23362) per trovare il percorso e l'esistenza di questo pacchetto. Su debian è installato da:>apt-get install pkg-config
Mihovil Bubnjar il

8

debian:

apt-get install libssl-dev

apt-get install linux-headers-$(uname -r)

5
Come e perché questo aiuta a risolvere il problema?
Kevin Panko,

1
@KevinPankolibssl-dev

@KevinPanko funziona, posso confermare. La risposta di Albert è corretta.
Jeff Atwood,

1
@JeffAtwood Non ne avevo dubbi, ma aiuta quando una risposta spiega perché è necessario un comando.
Kevin Panko,

questo non ha risolto per me, anche configurare --without-ssl mi ha dato che è un pacchetto richiesto
Fabiotk

4

No, non lo è.

Puoi comunque compilare nodejs con ./configure --without-ssl


2

Questo si sta presentando su Google per un problema che potrebbe sorgere con alcune installazioni - forse links-g. Ho avuto il problema su Archlinux con links-utf8 e links-g-directfb.

Probabile presentazione:

checking OPENSSL_CFLAGS... 
checking OPENSSL_LIBS... -lssl -lcrypto 
checking for OpenSSL... no
configure: error: OpenSSL not found

Prova questo:

sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" configure

L'uso di questo comando prima del ./configurepassaggio dovrebbe risolverlo.


2
perché quella patch risolve il problema?
user237419

2

È necessario installare openssl-develnel sistema operativo con:

yum install openssl-devel.x86_64

./configure --with-tls

make install


0

Se non si riesce solo con libssl-dev , tramite la distribuzione Debian , è possibile includere entrambe le versioni della libreria SSL contemporaneamente

apt-get install libssl-dev libssl1.0
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.