OpenSSL hilang selama ./configure. Bagaimana cara memperbaiki?


79

Saya mencoba menginstal node.js dan menemukan dukungan OpenSSL hilang selama ./configure.

Bagaimana saya bisa memperbaikinya? Apakah ini langkah wajib? Apakah --without-sslopsi akan memperbaiki masalah?

# ./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.

Jawaban:


143

Ya, ini adalah langkah wajib. Anda tidak dapat menghapus OpenSSL dari program yang menggunakannya, dengan cara yang sama Anda tidak dapat menghapus komponen mesin acak dari mobil.

Pustaka OpenSSL biasanya sudah diinstal, tetapi Anda harus menginstal file header. Bergantung pada distribusi Linux Anda, Anda memerlukan paket-paket ini:

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

Secara teknis kita bisa mengganti OpenSSL dengan, katakanlah, NSS, tapi bukan itu intinya di sini.


1
terima kasih banyak, saya menginstal header dengan yum instal openssl-devel
PK

Ah masuk akal sekarang. Ini diperlukan untuk wget ./configure dengan ssl juga.
dhaupin

3
Setelah menggunakan jawaban grawitys ketika mencoba mengkonfigurasi squid (3.5.26) dengan openssl saya menemukan beberapa efek samping yang aneh: Kecuali Anda menginstal "pkg-config", perpustakaan "openssl" dan "libssl-dev" diperlakukan sebagai apakah itu hilang. Jadi saya harus menginstal pkg-config juga. Ini digunakan dalam skrip configure (sekitar baris 23362) untuk menemukan jalur dan keberadaan paket ini. Pada debian diinstal oleh:>apt-get install pkg-config
Mihovil Bubnjar

8

debian:

apt-get install libssl-dev

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

5
Bagaimana dan mengapa ini membantu memperbaiki masalah?
Kevin Panko

1
@KevinPankolibssl-dev

@KevinPanko ini berfungsi, saya dapat mengkonfirmasi Jawaban Albert benar.
Jeff Atwood

1
@ Jeff Jtff Saya tidak meragukannya, tetapi membantu ketika sebuah jawaban menjelaskan mengapa sebuah perintah dibutuhkan.
Kevin Panko

ini tidak diselesaikan untuk saya, juga mengkonfigurasi --without-ssl memberi saya bahwa itu adalah paket yang diperlukan
Fabiotk

4

Tidak.

Anda masih dapat mengkompilasi nodejs dengan ./configure --without-ssl


2

Ini muncul di Google untuk masalah yang mungkin muncul dengan beberapa instalasi - mungkin tautan-g. Saya punya masalah dengan Archlinux dengan links-utf8 dan links-g-directfb.

Kemungkinan presentasi:

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

Coba ini:

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

Menggunakan perintah ini sebelum ./configurelangkah Anda harus memperbaikinya.


2
mengapa tambalan itu memperbaiki masalah?
user237419

2

Anda harus menginstal openssl-develdi OS Anda dengan:

yum install openssl-devel.x86_64

./configure --with-tls

make install


0

Jika Anda tidak berhasil dengan libssl-dev saja, melalui distro Debian , Anda dapat memasukkan kedua versi Perpustakaan SSL secara bersamaan

apt-get install libssl-dev libssl1.0
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.