mac のScreenは縦分割できない。なので、自前コンパイルしてた。これは面倒。brewから入れ縦分割が出来るように工夫する。
(screen縦)
2012-12-21 追加 :brewでmac osx 同梱のコマンドを上書きできるおまじない
brew tap homebrew/dupes #重複を使えるようにする
brew で screen を入れる
export CC=gcc brew install -f --use-llvm screen
これで、screenはインストールされる。オプションについては以下のとおり。
- -f
- force インストール、mac標準で提供されているパッケージでもbrewでインストールする。
- --use-llvm
- 後述
が、縦分割が出来ない。
インストールできるが、最新版(開発版)でなく、4.03なので縦分割が出来ない。 そこで・・・
スクリーン縦分割が使える開発版(HEAD)を入れる。
export CC=gcc brew install --HEAD -f --use-llvm screen
- --HEAD
- 最新版を取りに行くオプション。
この "--HEAD" オプションを指定したら、brew のformulaのhead指定科目が利用される。これで縦分割が出来るようになる。
縦分割ができたよ。
わーい。brew管理下で縦分割ソース動いたよ。
(screen)
HEAD使うと、brew はどうなってるのん?
今回のミソは --HEADのオプション。GNU SCREENの brewの設定はこんな感じになっている。このformulaを読んで、head項目に注目する。head 項目が --HEADオプションの時に有効になるソース配布元だ。通常はurlを使うが、--HEADのときは head の方を使う。
HEADに関しては、screen以外でもどんどん使われている。知っていて損はない。
require 'formula' class Screen < Formula homepage 'http://www.gnu.org/software/screen' url 'http://ftpmirror.gnu.org/screen/screen-4.0.3.tar.gz' mirror 'http://ftp.gnu.org/gnu/screen/screen-4.0.3.tar.gz' md5 '8506fd205028a96c741e4037de6e3c42' version '4.00.03' head 'git://git.savannah.gnu.org/screen.git', :branch => 'master' def patches "http://trac.macports.org/raw-attachment/ticket/20862/screen-4.0.3-snowleopard.patch" end unless ARGV.build_head? def install if ARGV.build_head? cd 'src' system "autoconf" system "autoheader" end system "./configure", "--prefix=#{prefix}", "--mandir=#{man}", "--infodir=#{info}", "--enable-colors256" system "make" system "make install" end end
コンパイラしてい --use-llvmについて
LionからMacはLLVMに移行していて、llvm提供のclangを使うことになっている。
brewも通常は このclang を使うの。だけど互換性が完璧じゃないのでエラーになる。
brew install --HEAD -f --use-clang screen brew install --HEAD -f screen
は同じ事を示している。
実際やったらエラーだった。
takuya@air:~/screen/src$ brew install --HEAD -f --use-clang screen ==> Cloning git://git.savannah.gnu.org/screen.git Updating /Library/Caches/Homebrew/screen--git ==> Checking out branch master ==> autoconf ==> autoheader ==> ./configure --prefix=/usr/local/Cellar/screen/HEAD --mandir=/usr/local/Cellar/screen/HEAD/share/man --infodir=/usr/local/Cellar/screen/HEAD/share/info --enable-colors256 this is screen version 4.1.0 checking for gcc... gcc checking whether the C compiler works... no configure: error: in `/private/tmp/homebrew-screen-HEAD-cq0Z/src': configure: error: C compiler cannot create executables See `config.log' for more details config.log was copied to /Users/takuya/Library/Logs/Homebrew ==> Build Environment CPU: quad-core 64-bit sandybridge MacOS: 10.7.4-x86_64 Xcode: 4.3.2 "--use-clang" was specified CC: gcc CXX: /usr/bin/clang++ => /usr/bin/clang LD: /usr/bin/clang CFLAGS: -Os -w -pipe -march=native -Qunused-arguments CXXFLAGS: -Os -w -pipe -march=native -Qunused-arguments MAKEFLAGS: -j4 Error: Failed executing: ./configure --prefix=/usr/local/Cellar/screen/HEAD --mandir=/usr/local/Cellar/screen/HEAD/share/man --infodir=/usr/local/Cellar/screen/HEAD/share/info --enable-colors256 (screen.rb:24) If `brew doctor' does not help diagnose the issue, please report the bug: https://github.com/homebrew/homebrew-dupes/issues/new We saved the configure log, please gist it if you report the issue: ~/Library/Logs/Homebrew/config.log
参考
HomeBrewの使い方は、いつもの通り、ココを参考しにた。2012-04-21に全面的に書き換えられたので、もう一度読み直すべき。
mac-デ-homebrew-ノススメ