加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用ruby-install / ruby??-build在Archlinux上安装Ruby 2.1.x和

发布时间:2020-12-16 21:22:09 所属栏目:百科 来源:网络整理
导读:我在Arch linux上使用 ruby-install构建旧版本的 Ruby时遇到了一些问题.我怀疑ruby-build会发生同样的情况.在尝试安装Ruby 2.1.5,2.1.6,2.3.0,2.3.1,2.3.4后,我看到以下内容. /usr/include/openssl/asn1_mac.h:10:2: error: #error "This file is obsolete;
我在Arch linux上使用 ruby-install构建旧版本的 Ruby时遇到了一些问题.我怀疑ruby-build会发生同样的情况.在尝试安装Ruby 2.1.5,2.1.6,2.3.0,2.3.1,2.3.4后,我看到以下内容.
/usr/include/openssl/asn1_mac.h:10:2: error: #error "This file is obsolete; please update your software."
#error "This file is obsolete; please update your software."

要么

ossl_ssl.c:465:38: error: ‘CRYPTO_LOCK_SSL_SESSION’ undeclared

解决方法

如果尚未安装,则需要Open SSL 1.0:
pacman -S openssl-1.0

要安装Ruby 2.3.x,需要以下内容:

PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig ruby-install ruby 2.3.0

我用这种方式安装了2.3.0,2.3.1和2.3.4.

我正在使用ruby-install,但同样可能适用于ruby-build(rbenv).

对于Ruby 2.1.x和2.2.x,还需要一个补丁:

curl -fsSL https://gist.github.com/mislav/055441129184a1512bb5.txt > ruby2.x-openssl.patch
PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig ruby-install -p ruby2.x-openssl.patch ruby 2.1.5

我用这种方式安装了2.1.5和2.1.6.

对于旧版本的Ruby(< 2),可能需要一个不同的补丁,可以在这里下载: https://github.com/rbenv/ruby-build/wiki#openssl-sslv3_method-undeclared-error

编译ruby时内存和Segfaults损坏

如果在编译时遇到段错误,可能是因为最新版本的gcc.解决方法是安装旧版本,然后将其指定为ruby-install:

sudo pacman -S gcc5
CC=/usr/sbin/gcc-5 PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig ruby-install ruby 2.3.0

参考:https://github.com/rbenv/ruby-build/issues/1092

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读