sshd源码编译报错处理:
这是笔者在初次源码编译安装sshd服务所遇到的一些问题,希望能帮助到一些初Linux初学者所遇到的问题:
遇到的错误信息
错误一:
这个错误信息 “working libcrypto not found, check config.log” 通常在尝试构建或安装依赖于 OpenSSL 加密库的软件包时出现。
以下是您可以采取的一些步骤来解决此问题:
- 检查 OpenSSL 是否已安装在您的系统上。您可以在终端中运行以下命令来执行此操作:
openssl version
如果 OpenSSL 已安装,则此命令将输出版本号。如果未安装,则需要在继续之前安装它。 - 检查 OpenSSL 开发头文件是否已安装在您的系统上。这些头文件需要构建依赖于 OpenSSL 的软件。包含这些头文件的软件包通常称为 “openssl-devel” 或 “libssl-dev”,具体取决于您的操作系统。
- 检查错误消息中提到的 config.log 文件。此文件应包含有关发生的错误的更详细信息。查找与 OpenSSL 库或头文件相关的任何错误消息或警告。
- 确保 OpenSSL 库和头文件在编译器的搜索路径中。您可以在运行要安装的软件包的 configure 脚本之前设置适当的环境变量,例如 CFLAGS 和 LDFLAGS。
- 如果仍然遇到问题,请尝试更新或重新安装 OpenSSL 以及依赖于它的任何软件包。这有时可以修复缺少或过时库的问题。
解决:安装openssl-devel
yum install openssl-devel
错误二:
configure: WARNING: unrecognized options: --with-md5-passwords checking for cc… no checking for gcc… no checking for clang… no configure: error: in /root/openssh-9.3p1’: configure: error: no acceptable C compiler found in
P
A
T
H
S
e
e
c
o
n
f
i
g
.
l
o
g
′
f
o
r
m
o
r
e
d
e
t
a
i
l
s
这个错误提示表明在编译安装
O
p
e
n
S
S
H
时,
c
o
n
f
i
g
u
r
e
命令使用了未识别的选项
"
−
−
w
i
t
h
−
m
d
5
−
p
a
s
s
w
o
r
d
s
"
。同时,
c
o
n
f
i
g
u
r
e
还提示找不到可用的
C
编译器。为了解决这个问题,您可以尝试以下步骤:
7.
确认您的系统中已经安装了
C
编译器,例如
g
c
c
或
c
l
a
n
g
。您可以在终端中运行命令
"
g
c
c
−
v
"
或
"
c
l
a
n
g
−
v
"
来确认是否已经安装。
8.
如果您尚未安装
C
编译器,请使用您的发行版的软件包管理器安装它们。例如,在
U
b
u
n
t
u
上,您可以运行命令
"
s
u
d
o
a
p
t
−
g
e
t
i
n
s
t
a
l
l
b
u
i
l
d
−
e
s
s
e
n
t
i
a
l
"
来安装
C
编译器和其他必要的工具。
9.
如果您已经安装了
C
编译器,但仍然收到相同的错误,请检查您的
PATH Seeconfig.log' for more details 这个错误提示表明在编译安装OpenSSH时,configure命令使用了未识别的选项"--with-md5-passwords"。同时,configure还提示找不到可用的C编译器。 为了解决这个问题,您可以尝试以下步骤: 7. 确认您的系统中已经安装了C编译器,例如gcc或clang。您可以在终端中运行命令"gcc -v"或"clang -v"来确认是否已经安装。 8. 如果您尚未安装C编译器,请使用您的发行版的软件包管理器安装它们。例如,在Ubuntu上,您可以运行命令"sudo apt-get install build-essential"来安装C编译器和其他必要的工具。 9. 如果您已经安装了C编译器,但仍然收到相同的错误,请检查您的
PATHSeeconfig.log′formoredetails这个错误提示表明在编译安装OpenSSH时,configure命令使用了未识别的选项"−−with−md5−passwords"。同时,configure还提示找不到可用的C编译器。为了解决这个问题,您可以尝试以下步骤:7.确认您的系统中已经安装了C编译器,例如gcc或clang。您可以在终端中运行命令"gcc−v"或"clang−v"来确认是否已经安装。8.如果您尚未安装C编译器,请使用您的发行版的软件包管理器安装它们。例如,在Ubuntu上,您可以运行命令"sudoapt−getinstallbuild−essential"来安装C编译器和其他必要的工具。9.如果您已经安装了C编译器,但仍然收到相同的错误,请检查您的PATH环境变量是否包含了C编译器的路径。您可以运行命令"echo
P
A
T
H
"
来查看您的当前
PATH"来查看您的当前
PATH"来查看您的当前PATH设置。
10. 如果您仍然无法解决问题,请检查"config.log"文件以获取更多详细信息,可能会有其他错误信息。您可以通过运行命令"tail -f config.log"来跟踪实时日志。
解决:安装gcc
yum install gcc
错误三:
unable to find a match libcrypto
这个错误通常会在编译和安装软件时出现,表示无法找到匹配的libcrypto库。这个库是OpenSSL加密库的一部分,许多软件都依赖它来提供安全性功能。
以下是一些可能导致出现这个错误的原因以及解决方法:
10. 没有安装OpenSSL:如果系统中没有安装OpenSSL,则需要使用包管理器安装它。
11. OpenSSL版本不匹配:有时,编译软件所需的OpenSSL版本与系统中已安装的版本不匹配,可能需要手动安装或升级OpenSSL。
12. 缺少libcrypto.so库:如果出现错误“unable to find a match libcrypto”,则需要检查系统中是否存在libcrypto.so库文件,如果缺少,则需要安装或手动编译。
13. 库路径不正确:如果已经安装了OpenSSL,但是仍然找不到libcrypto库,则需要确保库路径正确设置。可以尝试将库路径添加到LD_LIBRARY_PATH环境变量中。
总之,这个错误的解决方法取决于具体情况。需要仔细检查错误消息,确定导致错误的原因,然后采取适当的措施来解决问题。
解决:安装openssl文章来源:https://www.toymoban.com/news/detail-804417.html
yum install openssl-devel
源码包安装sshd详细步骤,参见我的专栏Linux服务配置sshd源码编译安装及报错处理超详细文章来源地址https://www.toymoban.com/news/detail-804417.html
到了这里,关于sshd源码编译报错处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!