Homebrewで--without-docsなしでOctaveをインストールしたい
おはようございます。奥さんが入院しており、実家で息子達と過ごしている@kjunichiです。
何でか
パッケージのインストールが出来ない。最近Octaveで、
pkg install -forge hoge
で、画像処理等が出来るらしいことを知ったのだが、--without-docsでインストールするとhoge.texiが開かないとなり、pkgコマンドでパッケージのインストールが出来ない。
解決方法
大前提
TeXを入れる。
Homebrewではtexinfoはあるが、TeX本体は含まれず、Octaveのビルド(というかmake install実行時)時にmakeinfoコマンドが内部的に使用するTeX関連のコマンドが必要になるが、これはHomebrew外で調達する必要がある模様。
TeX入れてから
どうも、Homebrewでは環境変数のPATHを見てくれない。
/usr/texbinの必要なファイルを/usr/local/binにシンボリックリンクを作成することで、makeinfoでエラーを回避出来た。
cd /usr/local/bin ln -s /usr/texbin/tex . ln -s /usr/texbin/dvips . ln -s /usr/texbin/pdftex .
喜んでツイートしたら、、
Homebrewのビルド時はPATH環境変数無視するから/use/texbin配下のtexなどを検出出来なくてこれまで失敗してたことが分かった。
— kjunichi (@kjunichi) 2014, 2月 16
違う環境変数だった気がします〜。なんだったっけな〜 RT @kjunichi: Homebrewのビルド時はPATH環境変数無視するから/use/texbin配下のtexなどを検出出来なくてこれまで失敗してたことが分かった。
— Puppy Linux 日本語版 (@puppy_linux_jp) 2014, 2月 16
もっと簡単な解決方法
実は最近のHomebrewはsuperenvという仕組みが導入されて、PATH環境変数を見なくなった。
従来のPATHを参照するためのオプションも残され、それが「--env=std」
Link
まとめ
Homebrewにsuperenvなる仕組みが導入され、PATH環境変数を読みに行ってくれなくなった。--env=stdを付けることで、この仕組みを回避できる。しかし、superenvが導入されているにも関わらず、brew doctorだとPATHの設定に文句言ってくるのが微妙な今日この頃。
関連記事
- Ubuntu12.04にOctaveの最新版3.8.1を入れる #trouble #solved
- Mavericksにしたらoctaveが動かなくなった件 #trouble #solved
- Octaveのソースコードからのインストール
- [Octave]gset parametricが使えない!