Syntax Error.

[Sy] Homebrewでoctaveを入れようとしたらWarningが出た

2015/08/18

Homebrewを使ってoctaveをインストールしようとしたら色々ハマったのでメモ。

基本はここを参考にしました。

⇒ OctaveをMac OS X Yosemiteへインストール - Qiita

とりあえずインストールしてみる

まず普通にインストールしようとすると、

$ brew install octave
Error: No available formula for octave
Searching formulae...
Searching taps...
homebrew/science/octave	   Caskroom/cask/octave	      Caskroom/cask/xoctave

と、そんなものはないよと怒られます。ここまでは記事にあったので想定内。

ここでbrew tap homebrew/scienceとするとインストールできるよと書いてあったのでやってみると、Warningがでました。

$ brew tap homebrew/science
Cloning into '/usr/local/Library/Taps/homebrew/homebrew-science'...
・
・
・
Warning: Could not create link for homebrew/science/datamash, as it
conflicts with Homebrew/homebrew/datamash. You will need to use the
fully-qualified name when referring this formula, e.g.
  brew install homebrew/science/datamash
Warning: Could not create link for homebrew/science/ticcutils, as it
conflicts with Homebrew/homebrew/ticcutils. You will need to use the
fully-qualified name when referring this formula, e.g.
  brew install homebrew/science/ticcutils
Warning: Could not create link for homebrew/science/timbl, as it
conflicts with Homebrew/homebrew/timbl. You will need to use the
fully-qualified name when referring this formula, e.g.
  brew install homebrew/science/timbl
Warning: Could not create link for homebrew/science/wopr, as it
conflicts with Homebrew/homebrew/wopr. You will need to use the
fully-qualified name when referring this formula, e.g.
  brew install homebrew/science/wopr
Tapped 547 formulae

conflictsとあるのでパッケージの名前の競合??そもそもbrew tapで何やってるのかわかってないので一旦調べることにしました。

brew tapについて調べる

次の記事が参考になりました。

⇒ これは便利!Homebrewに追加されたtapコマンドはリポジトリを追加して簡単にフォーミュラを増やせる | Macとかの雑記帳

Homebrewに「tap」というコマンドが追加されました。このコマンドを使う事で、公式以外でフォーミュラを公開していたリポジトリをhomebrewの中に取り込むことができ、$ brewコマンドで扱えるようになります。

なるほど、やっぱりそうですよね。

Warningの内容を再確認

改めてWarningを見てみると、なんとなくわかってきました。こんな感じでしょうか?

  • 本来なら、$ brew install datamashみたいにインストールできるようになる。
  • でもすでに同じ名前のフォーミュラがあるから、$ brew install homebrew/science/datamashみたいにしないとだめ。

おそらく、面倒ではあるけどこのままでもインストール自体はできそうですね。

でも気持ち悪いので一応解決方法を探すことに。

brew updateしてからもう一度やってみるとどうだろう?

しばらくHomebrewを放置していたので、その辺が問題なのかもしれないと予測。

untapというコマンドがあるみたいなので、まずはhomebrew/scienceuntapして、brew updateを行ってからもう一度tapしてみます。

先ほど$ brew tap homebrew/scienceとしたことで、以下のディレクトリが作られてました。

/usr/local/Library/Taps/homebrew/homebrew-science/

ここでuntapをしてみます。

$ brew untap homebrew/science
Untapped 547 formulae

すると先ほどのディレクトリが消えました。

続けて一度brew updateします。

$ brew update                                                                              ```

updateが終わってから改めてhomebrew/sciencetapすると、

$ brew tap homebrew/science
==> Tapping homebrew/science
・
・
・
Tapped 547 formulae (574 files, 2.9M)

お、Warningが出なくなりました。

いよいよ本題のoctaveをインストール

ようやくoctaveのインストール。

$ brew install octave
==> Installing octave from homebrew/homebrew-science
・
・
・
Conflicts with suite-sparse

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/suite-sparse421/lib
    CPPFLAGS: -I/usr/local/opt/suite-sparse421/include
・
・
・
==> Summary
🍺  /usr/local/Cellar/octave/3.8.2_2: 2111 files, 54M

なんか一つコンフリクトが起きてるみたいですが、インストール自体はできた様子。試しに起動してみると、

% octave
GNU Octave, version 3.8.2
Copyright (C) 2014 John W. Eaton and others.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  For details, type 'warranty'.

Octave was configured for "x86_64-apple-darwin14.4.0".

Additional information about Octave is available at http://www.octave.org.

Please contribute if you find this software useful.
For more information, visit http://www.octave.org/get-involved.html

Read http://www.octave.org/bugs.html to learn how to submit bug reports.
For information about changes from previous versions, type 'news'.

octave:1>

一応動いてるっぽい。先ほどのコンフリクトが気になりますが、今日のところはこれで・・・

(おまけ)Javaのバージョン確認

octaveにはJava6が必要とのことでしたが、確認してみたら入ってました。

$ java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode)