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

相关推荐
AR-26710-3 小时前
Linux Day22——复习第三部分
linux·运维
迪康coolmu3 小时前
基于迪康端点安全一体化管理系统的公用终端上机与信创补丁实战
linux·运维·服务器·网络·安全·电脑
blueSatchel3 小时前
imx6ull显示控制器设备驱动解读
linux·嵌入式
发量惊人的中年网工3 小时前
多分支网络怎样集中运维?SD-WAN监控、报障与服务范围指南
运维·网络
水饺编程3 小时前
第2章:Linux 基础,关机命令
linux·c语言·汇编
JiMoKuangXiangQu3 小时前
Linux CFS 负载均衡:从 CPU 拓扑到任务迁移
linux·负载均衡
91刘仁德3 小时前
计算机网络核心协议全解析:从MAC帧到HTTP
linux·网络·网络协议·tcp/ip·计算机网络·http·udp
承渊政道4 小时前
极空间部署Portainer实战:Docker Socket、9000端口、容器管理与固定地址访问
运维·docker·容器·内网穿透·cpolar·portainer
Shadow(⊙o⊙)4 小时前
仿muduo实现高并发服务器——EPOLL设置与移除Poller.hpp管理Channel
运维·服务器·c++
.冰块.4 小时前
VMware+Ubuntu24.04 kubeadm 部署 K8s 1.30.2 三节点集群
运维·云原生·容器·kubernetes·k8s·容器编排