编译 OpenSSH Debian Squeeze 时,我不断收到未找到 OpenSSL Header Version 的错误

编译 OpenSSH Debian Squeeze 时,我不断收到未找到 OpenSSL Header Version 的错误

我构建了 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

相关内容