25
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

high sierra で rbenv を使おうとしたら迷路に迷い込んだ

Last updated at Posted at 2018-10-19

だいたいのことはわかるとなんてことはないんだけれども、わかるまではたいへんですね。

$ rbenv install 2.5.1
ruby-build: use openssl from homebrew
Downloading ruby-2.5.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.bz2
Installing ruby-2.5.1...
ruby-build: use readline from homebrew

BUILD FAILED (OS X 10.13.6 using ruby-build 20180822)

Inspect or clean up the working tree at /var/folders/qn/21yqw2396zl26pmq6tq0sw9c0000gn/T/ruby-build.20181019123602.65838
Results logged to /var/folders/qn/21yqw2396zl26pmq6tq0sw9c0000gn/T/ruby-build.20181019123602.65838.log

Last 10 log lines:
/usr/local/include/Block.h:263:2: error: unknown type name 'lzma_bool'
        lzma_bool reserved_bool2;
        ^
/usr/local/include/Block.h:264:2: error: unknown type name 'lzma_bool'
        lzma_bool reserved_bool3;
        ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [file.o] Error 1
make: *** Waiting for unfinished jobs....

気軽に rbenv install したら怒られました(´・ω・`)
エラーログ書いておいたから読めよ。って言われたので見ます。

/usr/local/include/Block.h:16:3: error: Never include this file directly. Use <lzma.h> instead.
#       error Never include this file directly. Use <lzma.h> instead.
        ^

こんなん書いてありました。 Block.h 使うんじゃねえよ、 lzma.h 使えよ常考。って言われたので、 lzma.h とやらを探しましょうかね。

$ ls /usr/local/include/lzma.h
/usr/local/include/lzma.h

あるやんけ。

ここから深い迷宮に迷い込んだんですが、迷った道筋をいくつか

  • lzma.h 入れ直したらいけるじゃろ -> brew install xz -> 関係なかった
  • gcc のライブラリのパス通ってないんじゃね -> export LD_LIBRARY_PATH=/usr/local/include -> お門違い

結局世界のお友達によれば

brew がどう管理してんのかしらんけれども Block.h 使うなよ。手で記述削除しろや

まじすか。

/usr/local/include 使ってっからダメみたいよ。 /usr/local/include_old って名前にしてみ

まじすか。


まじだった。

なるほど。 察するに high sierra より前のバージョンだと、 /usr/local/include 使ってたけれども、今は /usr/include を使っていると。で、同名のファイルがあったら、古い /usr/local/include を先に見ちゃうんだ。ってことみたいですね。

別のアプローチで情報探していればすぐにわかったっぽいですな。だから誰も詰まらないわけで、記事にもならんと。自分は書くけれども。

2019-04-18 追記

この /usr/local/include を mv してしまうことで brew 経由で postgresql がうまくインストールできない問題が発生しました。参考された方々ほんとに申し訳ないです(´・ω・`)

https://qiita.com/ninjaninja/items/f9dcdca92d1ef9847b5d
こちらの記事にそのトラブルの経緯を書いております。

簡単にいうと、 mv したあとに、 空の /usr/local/include ディレクトリを作ってください。それで問題はおきなくなります。

25
11
2

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
25
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?