ruby3.2.2 报错 undefined symbol: EC_GROUP_new_curve_GF2m

一、执行ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION' 查看openssl版本时报错

bash 复制代码
ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION'

这是因为ruby内的openssl版本是3.2.0版本的

而自openssl3.0以后已经废弃 EC_GROUP_new_curve_GF2m了

二、解决方案

指定ruby内的openssl

进入到ruby的安装目录

bash 复制代码
cd /project_root/ruby-3.2.2/ext/openssl/

指定openssl, /usr/local/openssl 是我安装openssl的目录大家需要换成自己的

bash 复制代码
ruby extconf.rb --with-openssl-include=/usr/local/openssl/include/ --with-openssl-lib=/usr/local/openssl/lib
bash 复制代码
make && make install

三、查看ruby openssl版本有没有设置成功

bash 复制代码
ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION'

再次执行 ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION' 已经没有报错

此时我们的openssl已经指定成我们安装的1.1.1w版本

相关推荐
lizhihai_991 小时前
股市学习心得-AI 产业链核心标的梳理清单
大数据·服务器·人工智能·科技·学习
云计算磊哥@1 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
weixin_523185321 小时前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
黄同学real1 小时前
解决 Visual Studio Web Deploy 远程发布报 401 未授权 (ERROR\_USER\_UNAUTHORIZED)
服务器
天天进步20152 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
凡人叶枫2 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
云栖梦泽2 小时前
玩转RK3506SDK
linux·嵌入式硬件
极客先躯2 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java面试题总结3 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
●VON3 小时前
AtomGit Flutter鸿蒙客户端:数据模型
android·服务器·安全·flutter·harmonyos·鸿蒙