Я создаю xar из источника (https://github.com/mackyle/xar). Это жалуется, что у меня нет OpenSSL, но у меня есть он (моя система установили openssl пакет, и у меня есть libcrypto.so.1.1.1 файл в моем каталоге lib).
Ниже сообщения об ошибках от./команда настройки при создании xar:
...
checking for OpenSSL_add_all_ciphers in -lcrypto... no
configure: error: Cannot build without libcrypto (OpenSSL)
...
Какова проблема с моими openssl библиотеками?
Установка libssl1.0-dev
sudo apt install libssl1.0-dev
Вывод после создания конфигураций:
checking for openssl/evp.h... yes
checking for OpenSSL_add_all_ciphers in -lcrypto... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for deflate in -lz... yes
checking bzlib.h usability... no
checking bzlib.h presence... no
checking for bzlib.h... no
checking for BZ2_bzCompress in -lbz2... no
configure: creating ./config.status
config.status: creating cfgoutputs.stamp
config.status: creating Makefile
config.status: creating include/xar.h
config.status: creating lib/Makefile.inc
config.status: creating lib/libxar.la.in
config.status: creating src/Makefile.inc
config.status: creating xar.spec
config.status: creating cfghdrs.stamp
config.status: creating include/config.h
Чтобы смочь создать там дополнительны *-dev необходимые пакеты. Вероятно, libssl-dev
в этом случае.
Если необходимо скомпилировать его, то в данном случае необходимо установить libssl1.0-dev
пакет.
Обратите внимание на то, что на Ubuntu 18.04 LTS Вы не можете установить обоих libssl-dev
и libssl1.0-dev
в то же время:
$ sudo apt install libssl-dev libssl1.0-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libssl-dev : Conflicts: libssl1.0-dev but 1.0.2n-1ubuntu5.2 is to be installed
libssl1.0-dev : Conflicts: libssl-dev but 1.1.0g-2ubuntu4.3 is to be installed
E: Unable to correct problems, you have held broken packages.
Для этого есть исправление, оно требует лишь небольших изменений. Вы можете прочитать об этом в выпуске Github .
Вот что вам нужно сделать:
В configure.ac
строка 332 имеет следующий вид:
AC_CHECK_LIB([crypto], [OpenSSL_add_all_ciphers], , [have_libcrypto="0"])
Замените ее на:
AC_CHECK_LIB([crypto], [OPENSSL_init_crypto], , [have_libcrypto="0"])
Обратите внимание, что единственное изменение касается второй части в скобках. Вы можете увидеть пример этого изменения здесь .
Затем запустите ./ autogen.sh
. После этого вы можете продолжить установку с помощью make
и sudo make install
.