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版本

相关推荐
怀旧,44 分钟前
【Linux系统编程】7. 进程的概念(上)
linux·运维·服务器
7***n751 小时前
API网关设计模式
linux·服务器·设计模式
哈里谢顿2 小时前
环境变量 HTTP_PROXY/HTTPS_PROXY 深度解析:为什么 cURL 行,Docker 不行?
linux
馨谙2 小时前
使用 systemd 用户服务管理容器:从概念到实践
linux·容器
人工智能训练2 小时前
Windows中如何将Docker安装在E盘并将Docker的镜像和容器存储在E盘的安装目录下
linux·运维·前端·人工智能·windows·docker·容器
知难行难2 小时前
macOS配置Apocrita及ssh访问及获取GPU权限
运维·macos·ssh
zzzsde2 小时前
【Linux】基础开发工具(1):软件包管理器&&vim编辑器
linux·运维·服务器
tan180°3 小时前
Linux网络TCP(上)(11)
linux·网络·c++·后端·tcp/ip
断水客3 小时前
如何在手机上搭建Linux学习环境
linux·运维·学习
会飞的土拨鼠呀3 小时前
ubuntu24安装snmp服务
linux·运维