質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.53%
rbenv

rbenvは、Rubyバージョン管理ツール。プロジェクトごとでRubyバージョンを切り替えることが可能です。RVMよりもシンプルで、少ない機能で動作します。本体にはRubyのビルド機能は備わっておらず、ruby-buildというツールを用いる必要があります。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

OpenSSL

OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

解決済

1回答

1140閲覧

WSL Ubuntu環境でRubyインストール時に依存関係エラーが発生する(libssl)

Hottopia

総合スコア16

rbenv

rbenvは、Rubyバージョン管理ツール。プロジェクトごとでRubyバージョンを切り替えることが可能です。RVMよりもシンプルで、少ない機能で動作します。本体にはRubyのビルド機能は備わっておらず、ruby-buildというツールを用いる必要があります。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

OpenSSL

OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

0グッド

0クリップ

投稿2023/08/04 00:42

編集2023/08/04 02:09

前提

WSL2 Ubuntu20.04環境で、rbenvを使用してRubyのインストールを試みました。
結果、依存関係エラーが発生したので解決したく、質問を投稿しました。
どうか、よろしくお願いします。

実現したいこと

rbenv install 3.2.2を成功させたい。

発生している問題・エラーメッセージ

log

1BUILD FAILED (Ubuntu 22.04 using ruby-build 20230717) 2 3Inspect or clean up the working tree at /tmp/ruby-build.20230804085854.629.oqpo4c 4Results logged to /tmp/ruby-build.20230804085854.629.log 5 6Last 10 log lines: 7Try running `apt-get install -y libssl-dev` to fetch missing dependencies. 8 9Configure options used: 10 --prefix=/home/soludev/.rbenv/versions/3.1.4 11 --enable-shared 12 --with-readline-dir=/home/linuxbrew/.linuxbrew/opt/readline 13 --with-libyaml-dir=/home/linuxbrew/.linuxbrew/opt/libyaml 14 --with-openssl-dir=/home/linuxbrew/.linuxbrew/bin/openssl 15 LDFLAGS=-L/home/soludev/.rbenv/versions/3.1.4/lib 16 CPPFLAGS=-I/home/soludev/.rbenv/versions/3.1.4/include

試したこと

Homebrewで、rbenvとruby-buildをインストールした後、rbenv install 3.2.2を実行してRubyのインストールを実行しました。

実行後、上記のログが表示されたため中身を見たところ、

log

1Try running `apt-get install -y libssl-dev` to fetch missing dependencies.

とあったので dpkg-query -lコマンドでインストールされているパッケージを確認しましたが、すでにlibssl-devがインストールされていました。

dpkg

1ii libss2:amd64 1.46.5-2ubuntu1.1 amd64 command-line interface parsing library 2ii libssh-4:amd64 0.9.6-2build1 amd64 tiny C SSH library (OpenSSL flavor) 3ii libssl-dev:amd64 3.0.2-0ubuntu1.10 amd64 Secure Sockets Layer toolkit - development files 4ii libssl3:amd64 3.0.2-0ubuntu1.10 amd64 Secure Sockets Layer toolkit - shared libraries

libsslがインストールされているのにインストールが失敗し、上記のログが出るということはrbenvがopensslの参照に失敗していると考え、echo $RUBY_CONFIGURE_OPTSしてみたところ、

result

1--with-openssl-dir=/home/linuxbrew/.linuxbrew/bin/openssl

と出力されました。

(追記)
なんとなくOpensslの参照で詰まっている気がするのですが、原因がわかりません。
aptの方では、libsslとOpensslの両方がインストールされており、HomebrewでもOpensslがインストールされているので、それが競合しているのかとも思いましたが、参照先はHomebrewにインストールされているOpensslなので関係ない気がしています。

補足情報(FW/ツールのバージョンなど)

Windows 10 Pro
WSL2
Ubuntu20.04
zsh 5.8.1
Homebrew 4.1.3
rbenv 1.2.0
ruby-build 20230717
OpenSSL 3.1.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

quickquip

2023/08/04 00:54 編集

echo $RUBY_CONFIGURE_OPTSしてみたところ、 (略) と出力されました。 の続きが書かれてないような気がしました。。。 率直にはhomebrewでopensslがインストールされていることが期待されているんじゃないかと感じましたが、そのあたりの事実関係が知りたいという質問でしょうか? (私には答えられないのでコメント欄で失礼します)(homebrewが依存で入れてくれそうな気はいかにもしましたが)
Hottopia

2023/08/04 02:11

@quickquipさん コメントありがとうございます。 途中で送信していました。ご指摘ありがとうございます。 質問文を更新しました。 Homebrewの方でもOpenssl3がインストールされており、rbenvはそれを参照しているようでした。
guest

回答1

0

自己解決

自己解決しましたが、色々試していた中でいつの間にかインストールが成功していたため、原因がこれであるかは分かりません。

1.HomebrewでOpenSSL@1.1をインストールする。brew install openssl@1.1
2.Rubyをインストールするときのopensslを指定する。export RUBY_CONFIGURE_OPTS="--with-openssl-dir=echo '$(brew --prefix openssl@1.1)'"
3.rbenvでRubyをインストールする。rbenv install 3.2.2

参考リンク
https://qiita.com/HBKK/items/9fa3febe5f06b1229a73#:~:text=%E8%A7%A3%E6%B1%BA%E3%81%99%E3%82%8B%E3%81%AF%E3%81%9A-,%E5%AF%BE%E5%87%A6%E6%96%B9%E6%B3%95(%E3%81%93%E3%82%8C%E3%81%A7%E3%81%AF%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E5%87%BA%E6%9D%A5%E3%81%AA%E3%81%84%E4%BA%8B%E4%BE%8B%E3%81%82%E3%82%8A),-Homebrew%E3%81%A7openssl

投稿2023/08/07 00:25

編集2023/08/07 00:32
Hottopia

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.53%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

同じタグがついた質問を見る

rbenv

rbenvは、Rubyバージョン管理ツール。プロジェクトごとでRubyバージョンを切り替えることが可能です。RVMよりもシンプルで、少ない機能で動作します。本体にはRubyのビルド機能は備わっておらず、ruby-buildというツールを用いる必要があります。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

OpenSSL

OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。