OpenSSL відсутній під час ./configure. Як виправити?


76

Я намагався встановити node.js і виявив, що підтримка OpenSSL відсутня під час ./configure.

Як я можу це виправити? Це обов'язковий крок? Чи --without-sslвдасться вирішити проблему?

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

Відповіді:


138

Так, це обов’язковий крок. Ви не можете видалити OpenSSL з програми, яка використовує його, так само, як ви не могли видалити випадкові деталі двигуна з машини.

Бібліотека OpenSSL зазвичай вже встановлена, але вам доведеться встановити файли заголовків. Залежно від вашого дистрибутива Linux, вам знадобляться такі пакети:

  • Red Hat, Fedora, CentOS - openssl-devel
  • Debian, Ubuntu - libssl-dev
  • Арка - openssl

Технічно можна було замінити OpenSSL, скажімо, NSS, але тут справа не в цьому.


1
велике спасибі, я встановив заголовок yum install openssl-devel
ПК

Ах має сенс зараз. Це потрібно для wget, щоб ./конфігурувати і з ssl.
dhaupin

3
Після використання відповіді grawitys , намагаючись налаштувати кальмар (3.5.26) за допомогою openssl, я натрапив на якийсь дивний побічний ефект: Якщо у вас не встановлено "pkg-config", бібліотека "openssl" і "libssl-dev" трактується як якщо вона відсутня. Тому мені довелося також встановити pkg-config. Він використовується в сценарії налаштування (навколо рядка 23362) для пошуку шляху та існування цього пакету. На debian він встановлюється:>apt-get install pkg-config
Mihovil Bubnjar

8

debian:

apt-get install libssl-dev

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

5
Як і чому це допомагає усунути проблему?
Кевін Панько

1
@KevinPankolibssl-dev

@KevinPanko це працює, я можу підтвердити. Відповідь Альберта правильна.
Джефф Етвуд

1
@JeffAtwood Я в цьому не сумнівався, але це допомагає, коли відповідь пояснює, чому потрібна команда.
Кевін Панько

це не вирішило для мене, а також налаштувати --without-ssl дав мені, що це необхідний пакет
Fabiotk


2

Це відображається в Google для проблеми, яка може виникнути з деякими установками - можливо, посиланнями-g. У мене була проблема в Archlinux із Links-utf8 та links-g-directfb.

Ймовірна презентація:

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

Спробуйте це:

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

Використання цієї команди перед ./configureкроком має виправити це.


2
чому цей патч виправляє проблему?
user237419

2

Ви повинні встановити openssl-develу своїй ОС за допомогою:

yum install openssl-devel.x86_64

./configure --with-tls

make install


0

Якщо вам не вдасться лише libssl-dev , через дистрибутив Debian , ви можете включати обидві версії бібліотеки SSL одночасно

apt-get install libssl-dev libssl1.0
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.