sockpuppet9527

其实 openssl 是个麻烦的东西..

  •  
  •   sockpuppet9527 · Oct 16, 2020 · 3328 views
    This topic created in 2082 days ago, the information mentioned may be changed or developed.

    有感而发。两件事情是这样的:

    第一件事

    1. 我想用新版本的 openssl 1.1.1 测试下 SM3 性能
    2. 手动编译,软连接之后,可以用了,美滋滋的测性能
    3. yum 用不了了,提示多个库找不到 xxxx ( libcurl 啥的),一查 openssl 1.1.1 后移除了一些老 api
    4. 年轻的我发现,新编译的把老的覆盖掉了(不应该选之前装的目录)。
    5. 赶紧重新编译个老的,软连接到老的。恢复正常
    6. 以后用 openssl 跑点啥的时候,还得 export 一下

    第二件事

    1. 波兰蠢驴用了 cmake 3.15 以上的一个写法,但是设置的最低版本检查写的还是 3.10
    2. 要整一个 cmake 比较新的版本,赶紧下载编译了一个 cmake 3.17
    3. 编译到一半,都是 openssl.c 相关的错。
    4. 查了半天,原来是 cmake 里面它自己写了一个类似 curl 的模块,默认情况下会用它自己写的,而不是系统的 libcurl 。
    5. 加了一个--system-curl,编译完。

    这件事告诉了我:手动安装啥,都得留版本,千万不要把老版本移除了!

    18 replies    2020-10-16 14:36:46 +08:00
    felixcode
        1
    felixcode  
    PRO
       Oct 16, 2020   ❤️ 10
    用 Debian, 极少用到编译了,并且认为编译安装简直是陋习(geetoo 之类的除外),为解决问题而创造更多问题,普遍出现在红帽系上。
    felixcode
        2
    felixcode  
    PRO
       Oct 16, 2020
    geetoo -> gentoo
    mason961125
        3
    mason961125  
       Oct 16, 2020
    Debian 10 的 OpenSSL 已经是 1.1.1d 了啊。
    nicebird
        4
    nicebird  
       Oct 16, 2020
    只要编译都是一堆麻烦事
    sockpuppet9527
        5
    sockpuppet9527  
    OP
       Oct 16, 2020
    @felixcode #1 被你发现了 :)
    QingXuJiaZhi
        6
    QingXuJiaZhi  
       Oct 16, 2020
    只能说 c 语言编译是个麻烦的事情
    shyling
        7
    shyling  
       Oct 16, 2020
    自己编译和系统预编译的东西之间老是会有问题
    Maboroshii
        8
    Maboroshii  
       Oct 16, 2020
    话说 docker 可以解决这问题吗
    brMu
        9
    brMu  
       Oct 16, 2020
    为了新版本,编译的确麻烦,所有现在都是跟着 debian 升级,debian 10 该有的都有
    icyalala
        10
    icyalala  
       Oct 16, 2020
    CMake 不论语法还是其他东西都令人恶心,近些年搞的 Modern CMake 也造成各种版本问题。。
    无奈它已经是算是事实标准了。。
    love
        11
    love  
       Oct 16, 2020 via Android
    这是楼主的问题就别怪 openssl 了,谁敢在发行版上编译覆盖内置安装包?都是另外安装一个目录。
    webshe11
        12
    webshe11  
       Oct 16, 2020
    @felixcode 经典编译脚本,连版本号都不带改的,一把梭就是淦
    feather12315
        13
    feather12315  
       Oct 16, 2020 via Android
    这种情况上各大发行版的 dev branch ( deb 看 Debian 的 sid,rpm 去 build.opensuse.org 找找 factory 的 repo )看看,抄抄他们打包脚本
    sockpuppet9527
        14
    sockpuppet9527  
    OP
       Oct 16, 2020
    @love #11
    目录安装,你还得手动设置环境变量,难道用到特定版本的时候你去手动修改?
    个人观点,覆盖升级是有覆盖升级的好处的,不覆盖有不覆盖的必要。
    cheng6563
        15
    cheng6563  
       Oct 16, 2020 via Android
    容器大法好
    sockpuppet9527
        16
    sockpuppet9527  
    OP
       Oct 16, 2020
    @Maboroshii #8
    @cheng6563 #15

    不巧的是,由于做的是驱动相关的,docker runtime 还在加这块支持。。所以用不了 docker
    sockpuppet9527
        17
    sockpuppet9527  
    OP
       Oct 16, 2020
    @icyalala #10 同感 :)
    love
        18
    love  
       Oct 16, 2020 via Android
    @sockpuppet9527 覆盖安装其他版本你就跳过了包管理器版本依赖检查和整个发行版的系统测试,那出问题就没啥好抱怨的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1511 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 16:36 · PVG 00:36 · LAX 09:36 · JFK 12:36
    ♥ Do have faith in what you're doing.