如何在Ubuntu 22上编译OpenSSL 1.1.0?编译报错求助
解决Ubuntu 22编译OpenSSL 1.1.0的报错问题
修复Perl模块的glob导出错误
报错里的"glob" is not exported by the File::Glob module是因为Ubuntu 22自带的Perl版本较高,OpenSSL 1.1.0的旧脚本语法不兼容。直接修改源码目录下的Configure文件:
- 打开
Configure文件,找到开头类似use File::Glob qw(glob);的行 - 将其改为
use File::Glob qw(:glob);后保存退出
解决系统不支持的识别问题
OpenSSL 1.1.0的默认脚本可能无法识别Ubuntu 22的系统标识,直接用Configure命令指定目标架构:
./Configure linux-x86_64 no-ssl2 no-ssl3 --prefix=/usr/local/openssl-1.1.0
no-ssl2和no-ssl3是禁用不安全的旧协议,属于可选配置--prefix指定安装路径,可根据自身需求调整
修改build.info后的后续操作
如果已经调整过build.info(比如修改编译选项、增减模块),只需要重新运行上面的Configure命令(或./config),它会根据修改后的build.info重新生成Makefile,之后执行常规编译安装步骤:
make -j$(nproc) sudo make install
验证安装结果
安装完成后,可通过以下命令确认版本:
/usr/local/openssl-1.1.0/bin/openssl version
内容的提问来源于stack exchange,提问作者Shinomoto Asakura
相关产品推荐
相关产品推荐

