7

Я пытаюсь создать демона, похожего на биткойны, в своей Ubuntu 14.04.3. Когда я нажму ./configure:

checking for SSL... no
configure: error: openssl  not found.

но

# apt-get install libssl-dev linux-headers-$(uname -r)
Reading package lists... Done
Building dependency tree
Reading state information... Done
libssl-dev is already the newest version.
linux-headers-3.13.0-61-generic is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Я погуглил сообщение об ошибке, но понятия не имею, что делать. Я успешно создал этот демон на другом Ubuntu 14.04, поэтому исходные тексты и сценарии настройки хороши.

UPD1. Установка openssl не помогла:

# apt-get install openssl
..
openssl is already the newest version.
..

Я проверил config.log, и в конце ничего не говорится об openssl - HAVE_WORKING_BOOST_SLEEP_FOR относится к checking for dynamic linked boost test... yes - последняя успешная строка из ./configure output:

# tail config.log
#define HAVE_BOOST /**/
#define HAVE_BOOST_SYSTEM /**/
#define HAVE_BOOST_FILESYSTEM /**/
#define HAVE_BOOST_PROGRAM_OPTIONS /**/
#define HAVE_BOOST_THREAD /**/
#define HAVE_BOOST_CHRONO /**/
#define HAVE_BOOST_UNIT_TEST_FRAMEWORK /**/
#define HAVE_WORKING_BOOST_SLEEP_FOR 1

configure: exit 1

UPD2. Я нашел это в журнале, довольно далеко от конца:

configure:25626: checking for SSL
configure:25633: $PKG_CONFIG --exists --print-errors "libssl"
Package libssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `libssl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libssl' found
configure:25636: $? = 1
configure:25650: $PKG_CONFIG --exists --print-errors "libssl"
Package libssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `libssl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libssl' found
configure:25653: $? = 1
configure:25667: result: no
No package 'libssl' found
configure:25683: error: openssl  not found.

2 ответа2

7

Вы найдете имя пакета libssl-dev в Synaptic Package Manager (Ubuntu 16.04), и после установки libssl-dev все будет решено. Кстати, libssl1.0.0 не работает. Вам лучше установить libssl-dev и libssl1.0.0 одновременно.

Кстати, я не думаю, что работает следующее решение: 'pkg-config' находится в вашем PATH, а PKG_CONFIG_PATH содержит файл openssl.pc. Если pkg-config недоступен, вы можете установить INCLUDE_DIR и LIB_DIR вручную с помощью: R CMD INSTALL --configure-vars = 'INCLUDE_DIR = ... LIB_DIR = ...'

2

По какой-то причине в PKG_CONFIG_PATH не было правильного пути к файлу openssl.pc необходимому для утилиты pkg-config. Я find / -name 'openssl.pc' и нашел его в /usr/lib/x86_64-linux-gnu/pkgconfig/ . Этот путь был также использован моей другой Ubuntu для ./configure .

Поэтому я запустил ./configure PKG_CONFIG_PATH="/usr/lib/x86_64-linux-gnu/pkgconfig/" и это помогло !

Другое дело, что в моем openssl.pc есть другой /usr/local/ssl/lib/pkgconfig/ openssl.pc, но когда я попытался его использовать, следующая команда make зависла с различными ошибками (такими как неизвестная ссылка на функцию и т.д.).

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