libcurl с libssh2 - одна или несколько библиотек, доступных во время компоновки, недоступны во время выполнения - PullRequest
2 голосов
/ 09 ноября 2011

Я получаю следующую ошибку при попытке ./configure libcurl 7.22.0

одна или несколько библиотек, доступных во время соединения, недоступны во время выполнения. Библиотеки, используемые во время соединения: -lssh2 -lssl -lcrypto -lrt -lz

Когда я ./configure с - без-libssh2 , он работает просто отлично.

Шаги, которые я предпринял:

apt-get install libssl-dev
apt-get install libssh-dev

cd /var
wget http://www.libssh2.org/download/libssh2-1.3.0.tar.gz
tar -zxvf libssh2-1.3.0.tar.gz
cd libssh2-1.3.0
./configure
make
make install

Поддержка SSL работает нормально, кстати. Должно быть, я сделал что-то не так с libssh

Я также пробовал:

./configure --with-libssh2
./configure --with-libssh2-path=/usr/local/lib
./configure --with-libssh2=/usr
./configure --with-libssh2=/usr/local/lib

Но это не имело значения. Я не знаю, что еще попробовать.

Ответы [ 2 ]

3 голосов
/ 09 ноября 2011

Пакет "libssh-dev" совершенно не связан и не нужен, поскольку это другая библиотека, не используемая ни libcurl, ни libssh2.

Проблема, с которой вы сталкиваетесь, вероятно, заключается в том, что «make install» с libssh2 по умолчанию устанавливает библиотеку / usr / local / lib, и вы не редактировали /etc/ld.so.conf для загрузки библиотек из этого каталога. Отредактируйте файл и запустите ldconfig (оба действия от имени root). В качестве альтернативы, установите libssh2 в другой каталог, который уже ищется ld.so.

0 голосов
/ 07 декабря 2017

проверка при успешной установке openssl?

openssl version

если не показывать информацию о версии, правильно установите openssl например:

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

и продолжайте устанавливать curl, у меня это работает

...