• 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目录下某些文件。

  • 相关阅读:
    如何在三维地球上加载obj、fbx、ifc、dae、3ds、gltf/glb模型?
    基础漏洞练习
    人工智能如何改善运输和物流
    Oxylabs 和 YiLu Proxy 性价比比较案例之IP如何防关联
    spring如何处理多数据源
    vsCode之Live Server
    Pytorch深度学习笔记之一
    数据预处理&降维&主成分分析
    uniapp 连接夜神安卓模拟器真机调试
    HDU- 1166 敌兵布阵 - 线段树
  • 原文地址:https://blog.csdn.net/bigwood99/article/details/126266859