Techioz Blog

RVM のインストール時にこのエラー (「__rvm_make -j12」の実行エラー) が発生するのはなぜですか?

概要

Ruby バージョン マネージャーのインストール スクリプトを実行すると、次のエラーが発生し続けます。

Error running '__rvm_make -j12',
please read /Users/wikipediabrown/.rvm/log/1701736892_ruby-3.0.0/make.log

There has been an error while running make. Halting the installation.

何が間違っているのか分かりません。ログはとにかく不可解で、何も教えてくれません。

ログの最後は次のようになります。

ld: warning: ignoring duplicate libraries: '-lruby.3.1'
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
In file included from ossl_x509revoked.c:10:
In file included from ./ossl.h:171:
./openssl_missing.h:195:11: warning: 'TS_VERIFY_CTS_set_certs' macro redefined [-Wmacro-redefined]
#  define TS_VERIFY_CTS_set_certs(ctx, crts) ((ctx)->certs=(crts))
          ^
/opt/homebrew/Cellar/openssl@3/3.2.0/include/openssl/ts.h:426:11: note: previous definition is here
#  define TS_VERIFY_CTS_set_certs(ctx, cert) TS_VERIFY_CTX_set_certs(ctx,cert)
          ^
1 warning generated.
1 warning generated.
linking shared-object ripper.bundle
ld: warning: ignoring duplicate libraries: '-lruby.3.1'
7 warnings generated.
make[1]: *** [ext/openssl/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [build-ext] Error 2
++ return 2

解決策

結局のところ、これはマシン上の Java が混乱していることに問題があることがわかりました。一部のコンテキストでは、j12 は j* であり、j は何か (j10、j11、j12 など) を意味します。これは、Java のインストールがめちゃくちゃで、誰も教えたがらないことを示しているだけです。 Mac OS X 10.6 以降を実行している場合は、自分でインストールする必要があることがわかります。奴隷船以来同じマシンに乗っていると、それを思い出すのは難しいです。しかし、解決策があります。

この回答をここで確認してください

単に実行する場合:

醸造インストールopenjdk

そして絶対にそうではありません:

醸造インストールJava

あよ、ホントに!!!そんなものプレーヤーを実行しないでください

そして、警告セクションにあるように、見逃すのは非常に簡単なので、これを実行する必要があります。

For the system Java wrappers to find this JDK, symlink it with
  sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

その後は大丈夫です。これは、正しいエラー メッセージの送信が失敗しているだけです。皆さん、この後も良い人生を送ってください。