0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【メモ】BUILD FAILED (Debian 12 on x86_64 using ruby-build 20240119)の解決方法

Last updated at Posted at 2024-02-21

はじめに

AWSのLightsailを用いてRubyの学習環境を整えようと奮闘していた最中であった。
rbenvをインストールするところまでは良かったのに、いざ最新バージョンのruby3.3.0(2024/02/20現在)をインストールしようとしたら、3度もビルドに失敗したのでそれぞれのエラーに対する処置を隠すことなくここに書き留めておこうと思う。
なお、使用していたOSはDebian12だが、同系統のUbuntuでも同様な対処が可能と予想する。

ちなみにrbenvコマンドを使うと以下のようにバージョンを選択してインストールが可能。

$ rbenv install 3.3.0

1度目のエラー

まぁ何事も初めてのエラーに対してはあいさつのようなものだと思って淡々と対処していく。
ログを見てみると、以下のようなfatal errorが見つかった。

log
crypto/comp/c_zlib.c:36:11: fatal error: zlib.h: No such file or directory

zlib.hというファイルが見当たらなくて困っているようだったので、色々調べてみたら以下のコマンドで解決できることが判明。

command
$ sudo apt-get install libz-dev

2度目のエラー

またエラーが発生した、、、。
ログを見てみると、前回とは違うメッセージが出ていたので進展はあったようだと一安心。

log
missing libffi. Please install libffi or use --with-libffi-source-dir with libffi source location.

libffiが見つからないのでインストールしてねと言われてしまったので、言われたとおりに以下のコマンドを実行してlibffi-devをインストール。

command
$ sudo apt-get install libffi-dev

3度目のエラー

またまたエラーが出てきた。
今回は指定の場所にOpenSSLライブラリが見つからないとのこと。

log
OpenSSL library directory could not be found in '/home/admin/.rbenv/versions/3.3.0/openssl/lib'

何が足りないのか一度で教えてくれるものがあったらいいのにと思いつつも、以下のコマンドを実行してOpenSSLをインストール。

command
$ brew install openssl

成功

3度目の正直でようやくruby3.3.0のインストールに成功しました。
インストールだけで1時間以上かかるという話も聞くので、これからrubyを一からインストールする場合は、上のコマンドを忘れずに実行しようと思う。

参考記事

https://stackoverflow.com/questions/18148075/compilation-error-missing-zlib-h
https://askubuntu.com/questions/626138/unable-to-locate-package-libffi-dev
https://codenote.net/mac/homebrew/2134.html

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?