Это не совсем вопрос программирования.Тем не менее ...
Быстрый ответ
Программа установки проверяет поддержку OpenSSL двумя способами.Первая проверка не удалась, вторая прошла успешно.Для меня первая проверка прошла успешно (см. Ниже).Любой способ работает.
Более длинный ответ
Вот что я получил, когда построил его:
$ sudo apt-get install libssl-dev
$ ./configure
Checking for program g++ or c++ : /usr/bin/g++
Checking for program cpp : /usr/bin/cpp
Checking for program ar : /usr/bin/ar
Checking for program ranlib : /usr/bin/ranlib
Checking for g++ : ok
Checking for program gcc or cc : /usr/bin/gcc
Checking for gcc : ok
Checking for library dl : yes
Checking for openssl : yes
Checking for library rt : yes
<---snip--->
Предполагается, что вы скачали node.js v0.2.3 из http://nodejs.org/, конфигурация в основном выполняется waf в файле wscript.
Соответствующие строки:
if not Options.options.without_ssl:
if conf.check_cfg(package='openssl',
args='--cflags --libs',
uselib_store='OPENSSL'):
Options.options.use_openssl = conf.env["USE_OPENSSL"] = True
conf.env.append_value("CPPFLAGS", "-DHAVE_OPENSSL=1")
else:
libssl = conf.check_cc(lib='ssl',
header_name='openssl/ssl.h',
function_name='SSL_library_init',
libpath=['/usr/lib', '/usr/local/lib', '/opt/local/lib', '/usr/sfw/lib'],
uselib_store='OPENSSL')
libcrypto = conf.check_cc(lib='crypto',
header_name='openssl/crypto.h',
uselib_store='OPENSSL')
Первая частьдостаточно просто.Он запускает pkgconfig.Вот что происходит, когда я делаю эквивалент вручную:
$ pkg-config openssl --cflags --libs
-lssl -lcrypto
Второй набор проверок запускается, если pkg-config не может подтвердить, что пакет установлен.В этом случае он пытается скомпилировать тривиальную программу gcc, которая проверяет наличие функций в libcrypt и libssl.Если оба они успешно, установка продолжается.Если один из них дает сбой, возникает фатальная ошибка, и сценарий взрывается.