OpenSSL не найден во время./configure
Я пытаюсь создать демона, похожего на биткойны, в своей 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
выход:
# 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 ответа
По какой-то причине 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/
но когда я попытался использовать его, следующее make
Команда зависает с различными ошибками (например, неизвестная ссылка на функцию и т. д.).
Вы найдете название пакета libssl-dev
в диспетчере пакетов Synaptic (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=...'