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

2020-10-16 10:26:56 +08:00
 sockpuppet9527

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

第一件事

  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,编译完。

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

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

不巧的是,由于做的是驱动相关的,docker runtime 还在加这块支持。。所以用不了 docker
sockpuppet9527
2020-10-16 12:52:14 +08:00
@icyalala #10 同感 :)
love
2020-10-16 14:36:46 +08:00
@sockpuppet9527 覆盖安装其他版本你就跳过了包管理器版本依赖检查和整个发行版的系统测试,那出问题就没啥好抱怨的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/715502

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX