我已经下载并编译了最新版本的libssl,其结果位于/usr/local/ssl
.我想使用此文件夹中的文件编译 libssh2,为此我设置了 switch --with-libssl-prefix=/usr/local/ssl
。
执行./configure --with-libssl-prefix=/usr/local/ssl
和后make
,根据 的输出ldd
,生成的 libssh2.so 依赖于 中找到的 libssl /usr/lib64
,这正是我不想要的。
我可以做什么来强制 libssh2 使用我的 libssl 进行编译/usr/local/ssl
?
答案1
如果你编译并安装了 libssl 到默认/usr/local
路径,会有一个/usr/local/ssl
,但 lib 不在那里;它只是像certs
和这样的目录misc
——其他东西可能会放在share
目录中的东西(例如/usr/local/share/ssl
)。
实际的库安装在一个正常的地方,/usr/local/lib
.假设你已经已经runldconfig
并且该路径位于 中的文件中/etc/ld.so.conf.d
,您应该能够执行以下操作:
ldconfig -p | grep ssl
所有=>
路径都应该进入/usr/local/lib
.如果是这样,您可以使用:
--with-libssl-prefix=/usr/local/
否ssl
或lib
等。现在应该可以正确找到它。