使用特定的 LibSSL 编译 LibSSH2

使用特定的 LibSSL 编译 LibSSH2

我已经下载并编译了最新版本的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/

ssllib等。现在应该可以正确找到它。

相关内容