我构建了 Openssl1.0.0d./config shared no-threads zlib
它安装成功到默认的 /usr/local/ssl
我去下载了 OpenSSH 5.8p2 并运行./configure
Openssl version header not found
但现在即使我设置了它仍然会给我一个错误--with-ssl-dir=
我已经尝试过争论/usr/local/ssl/include
/usr/local/ssl/include/openssl
/usr/include
/usr/local/ssl/lib
我查看了 config.log 并发现error: openssl/opensslv.h: no such file or directory
这没有什么意义,因为我将 openssh 指向了它的存储位置。
/etc/ld.so.conf
include /usr/local/ssl/lib
我现在很困惑。
答案 (可能):
因为我是个白痴。
include /usr/local/ssl/lib
是不正确的。
/usr/local/ssl/lib
是正确的。
它需要位于第一个包含之前。
答案1
尝试一下--with-ssl-dir=/usr/local/ssl
——你的 openssl 前缀应该可以工作。
答案2
您需要将库添加到 ld.so.conf.d/ 目录中,例如(文件名非常重要,不要将其更改为其他名称)
$ cat /etc/ld.so.conf.d/x86_64-openssl.conf
# Openssl 1.1.m for TLSv1.2
/usr/local/ssl/lib
然后以 root 用户身份运行
ldconfig -v
然后你就可以发出
./configure --prefix=/usr/local/ssh --with-ssl-dir=/usr/local/ssl --includedir=/usr/local/ssl/include/
只有这样你才能解决这个错误。
我已经尝试过了https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.9p1.tar.gz可移植的 Openssh 源代码
答案3
因为我是个白痴。
包含/usr/local/ssl/lib
不正确。
/usr/local/ssl/lib
是正确的。
它必须在第一个之前include
。