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=...'

Другие вопросы по тегам