【编译】openssl 3.3.2
20240923 tkxiong 选择openssl 3.3.2 版本进行编译
这次编译使用了ChatGPT,通过对话解决了部分问题。
第一步、查看了自己的CentOS版本:
|
# cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core) |
第二步、下载了 3.3.2 版本 openssl
|
wget https://github.com/openssl/openssl/releases/download/openssl-3.3.2/openssl-3.3.2.tar.gz tar –xvf openssl–3.3.2.tar.gz cd openssl–3.3.2 |
第三步、配置、编译、安装
|
./config —prefix=/usr/local/openssl make sudo make install |
第三步碰上的问题:
|
# ./config –prefix=/usr/local/openssl Can‘t locate IPC/Cmd.pm in @INC (@INC contains: /root/openssl–3.3.2/util/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /root/openssl–3.3.2/external/perl/Text–Template–1.56/lib) at /root/openssl–3.3.2/util/perl/OpenSSL/config.pm line 19. BEGIN failed—compilation aborted at /root/openssl–3.3.2/util/perl/OpenSSL/config.pm line 19. Compilation failed in require at /root/openssl–3.3.2/Configure line 23. BEGIN failed—compilation aborted at /root/openssl–3.3.2/Configure line 23. |
这个错误表明缺少 Perl 模块 IPC::Cmd。您需要安装该模块才能继续配置 OpenSSL。
|
sudo yum install perl perl–CPAN sudo cpan IPC::Cmd |
接下来碰上了新的问题:
|
# make /usr/bin/perl util/mkinstallvars.pl PREFIX=. BINDIR=apps APPLINKDIR=ms LIBDIR= INCLUDEDIR=include “INCLUDEDIR=./include” ENGINESDIR=engines MODULESDIR=providers “VERSION=3.3.2” “LDLIBS=-ldl -pthread “ > builddata.pm “pairs” is not exported by the List::Util module Can‘t continue after import errors at util/mkinstallvars.pl line 14. BEGIN failed—compilation aborted at util/mkinstallvars.pl line 14. make: *** [Makefile:5200: builddata.pm] Error 255 |
这个错误表明 List::Util 模块的版本不满足要求,导致无法继续编译。您需要升级 List::Util 模块。以下是解决步骤:
继续解决问题:
|
# make /usr/bin/perl “-I.” “-Mconfigdata” “-Mbuilddata” “util/dofile.pl” “-oMakefile” exporters/cmake/OpenSSLConfig.cmake.in > OpenSSLConfig.cmake builddata.pm did not return a true value. BEGIN failed—compilation aborted. make: *** [Makefile:5198: OpenSSLConfig.cmake] Error 255 |
这个错误表明 builddata.pm 文件没有返回一个真值,通常是由于之前的配置失败。请尝试以下步骤解决问题:
|
make clean sudo cpan IPC::Cmd sudo cpan List::Util sudo cpan Exporter cd /root/openssl–3.3.2 ./config —prefix=/usr/local/openssl make sudo make install |
至此,我安装完成了,看起来没有什么报错信息。
查看 openssl 版本:
|
# openssl version openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory |
ChatGPT建议 查看openssl 文件:
|
# ls /usr/local/openssl/lib ls: cannot access /usr/local/openssl/lib: No such file or directory |
这里我踩坑重新编译了一次,还是没有。
实际上在 lib64 这个目录下。
|
# ls /usr/local/openssl/lib64/ cmake engines–3 libcrypto.a libcrypto.so libcrypto.so.3 libssl.a libssl.so libssl.so.3 ossl–modules pkgconfig |
ChatGPT建议创建一个链接
|
sudo ln –s /usr/local/openssl/lib64 /usr/local/openssl/lib |
更新动态缓存库
|
sudo ldconfig /usr/local/openssl/lib64 |
修改环境变量,请将以下内容添加到您的 ~/.bashrc 或 /etc/profile 中:
|
export LD_LIBRARY_PATH=/usr/local/openssl/lib64:$LD_LIBRARY_PATH export PATH=/usr/local/openssl/bin:$PATH |
重新打开终端
|
# openssl version OpenSSL 3.3.2 3 Sep 2024 (Library: OpenSSL 3.3.2 3 Sep 2024) |
更新完成。
自适应IP