带有libssh2的libcurl - 链接时可用的一个或多个库不可用于运行时

时间:2011-11-09 01:38:45

标签: linux debian libcurl libssh libssh2

尝试./configure libcurl 7.22.0

时出现以下错误
  

链接时可用的一个或多个库在运行时不可用。在链接时使用的Libs:-lssh2 -lssl -lcrypto -lrt -lz

当我./configure with - without-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 个答案:

答案 0 :(得分:3)

“libssh-dev”包完全不相关且不必要,因为它是libcurl和libssh2不使用的不同库。

您遇到的问题可能是“make install”与libssh2默认安装库/ usr / local / lib并且您没有编辑/etc/ld.so.conf来从该目录加载库。编辑文件并运行ldconfig(两个操作都以root身份运行)。或者,将libssh2安装到已由ld.so搜索的另一个目录中。

答案 1 :(得分:0)

检查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,它对我有用