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