69

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

127

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

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

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

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

6

Debian:

apt-get install libssl-dev

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

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

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

1

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

yum install openssl-devel.x86_64

./configure --with-tls

make install

1

Это появляется в 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 должно исправить это.

0

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

apt-get install libssl-dev libssl1.0

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .