ruby3.2.2 报错 undefined symbol: EC_GROUP_new_curve_GF2m

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

ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION'

ruby3.2.2 报错 undefined symbol: EC_GROUP_new_curve_GF2m_第1张图片

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

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

ruby3.2.2 报错 undefined symbol: EC_GROUP_new_curve_GF2m_第2张图片

二、解决方案 

指定ruby内的openssl

进入到ruby的安装目录

cd /project_root/ruby-3.2.2/ext/openssl/

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

ruby extconf.rb --with-openssl-include=/usr/local/openssl/include/ --with-openssl-lib=/usr/local/openssl/lib
make && make install

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

ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION'

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

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

ruby3.2.2 报错 undefined symbol: EC_GROUP_new_curve_GF2m_第3张图片

你可能感兴趣的:(linux,运维,服务器)