• wget编译升级故障解决


    有几台服务器升级wget,版本1.21.3

    centos8系统升级顺利。

    centos7系统2台顺利,1台make报错。

    执行命令如下:

    ./configure --prefix=/usr --sysconfdir=/etc --with-ssl=openssl

    make

    错误信息:

    /usr/include/openssl/x509v3.h:166: undefined reference to `OPENSSL_sk_num'
    openssl.o: In function `sk_GENERAL_NAME_value':
    /usr/include/openssl/x509v3.h:166: undefined reference to `OPENSSL_sk_value'
    openssl.o: In function `sk_GENERAL_NAME_pop_free':
    /usr/include/openssl/x509v3.h:166: undefined reference to `OPENSSL_sk_pop_free'
    openssl.o: In function `pkp_pin_peer_pubkey':
    /root/wget-1.21.3/src/openssl.c:969: undefined reference to `X509_get_X509_PUBKEY'
    /root/wget-1.21.3/src/openssl.c:979: undefined reference to `X509_get_X509_PUBKEY'
    openssl.o: In function `sk_GENERAL_NAME_pop_free':
    /usr/include/openssl/x509v3.h:166: undefined reference to `OPENSSL_sk_pop_free'

    按照提示/usr/include/openssl/x509v3.h:166行错误,未定变量,与openssl.o内函数相关。

    跟安装成功的服务器对比,发现两台服务器的openssl.o文件不一样。

    openssl.o是在编译过程中生成的文件,软件包内原本不包含。应该是提取服务器openssl的某些信息,生成的。推断两台服务器openssl存在不同之处。

    输入命令:openssl version

    版本信息一致,都是1.1.1p。这两台在前些日子升级到该版本,方式编译安装。

    开始以为wget软件包有问题,重新传还是报错。

    升级openssl时创建过一些软链接,检查一遍,没有问题。

    再次陷入沉思......

    既然错误提示是openssl相关的错误,那么应该就是openssl的某个问题导致的。

    于是开始对比openssl安装目录下的文件。比较之下有了发现,不知什么原因,两个服务器的openssl安装目录下的文件有一部分不一致。

    于是,先做一个备份。然后把成功安装的服务器openssl目录打包,复制到问题服务器。覆盖问题服务器的openssl目录。

    然后先测试openssl,执行没问题。再次编译,顺利通过。

    看来问题就出在openssl目录下某些文件。

  • 相关阅读:
    全能还是专精?关于技术通才与技术专家的思考
    MySQL精髓:如何使用ALL一次找到最大值
    基于SSM开发实现校园疫情防控管理系统
    麦芽糖-聚乙二醇-阿霉素maltose-Doxorubicin
    alphapose 配置运行 win11
    EasyRecovery14数据恢复软件官方功能简介
    Hadoop面试题(2)
    ESP8266 WiFi物联网智能插座—电能计量
    【MATLAB】数学建模没有基础怎么办,看过来一篇文章带你入门 matlab
    每日一题(LeetCode)----数组--螺旋矩阵(一)
  • 原文地址:https://blog.csdn.net/bigwood99/article/details/126266859