OpenSSL отсутствует во время./configure. Как исправить?

Я пытался установить 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.

6 ответов

Решение

Да, это обязательный шаг. Вы не можете удалить OpenSSL из программы, использующей его, так же, как вы не можете удалить случайные детали двигателя из автомобиля.

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

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

Технически можно заменить OpenSSL, скажем, NSS, но здесь дело не в этом.

debian:

apt-get install libssl-dev

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

Нет, это не так.

Вы все еще можете скомпилировать nodejs с ./configure --without-ssl

Это обнаруживается в Google для проблемы, которая может возникнуть при некоторых установках - возможно, links-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 Шаг должен это исправить.

Вы должны установить openssl-devel в вашей ОС с:

yum install openssl-devel.x86_64

./configure --with-tls

make install

Если вам не удастся использовать только libssl-dev, а не дистрибутив Debian, вы можете включить обе версии библиотеки SSL одновременно

apt-get install libssl-dev libssl1.0
Другие вопросы по тегам