2012年9月27日木曜日

MacBookPro を Lion から Mountain Lion へ移行

最近 MacBookPro (17-inch Early 2008) が重いので SSD にのせかえることにした。ついでに OS のバージョンアップしたくなり、ひとまず外付け HDD に Mountain Lion をインストールして様子を見ることにした(Ruby や Gnuplot 等の動作確認したかった)。

Xcode のインストール

App Store よりインストール

gcc のインストール

Xcode を起動、Preferences -> Downloads で Command Line Tools を選択

root の設定

.profile
if [ - e ~/.aliases ] ; then
  . .aliases
fi
export LC_CTYPE=utf-8
.aliases
alias r19='export PATH=/usr/local/ruby_1.9.3/bin:$PATH'
r19 を実行すると、この後入れる ruby-1.9.3 にパスが通り、ML 付属の ruby-1.8 より優先される。LC_CTYPE を設定しないと gem でパッケージを入れたときに rdoc の処理でエラーがでる。

Ruby のビルド


mkdir -p /usr/local/src
cd /usr/local/src
tar zxf /Users/shingo/Downloads/ruby-1.9.3-p194.tar.bz2
cd ruby-1.9.3-p194
./configure --prefix=/usr/loca/ruby_1.9.3-p194
make
make install
普通にビルドできたが、libyaml がなかったので別途入れた後 psych をビルド

cd /usr/local/src/
tar xf /Users/shingo/Downloads/yaml-0.1.4.tar
cd yaml-0.1.4/
./configure
make
make install
cd /usr/local/src/ruby-1.9.3-p194/ext/psych/
ruby extconf.rb
make
make install

pg のインストール

pg (ruby-pg) を入れる。OSX ML には PostgreSQL 9.1.4 の一部が含まれる。例えば initdb コマンドが入っていないが、 psql や libpq はあるので、クライアントとして使える。pg_config が/usr/bin/にあるので、pg のインストールは
gem install pg
だけでできた。

 Gnuplot のインストール

OSX Lion のころから gnuplot は AquaTerm か PDF ファイルでしか使わなくなってきた。なので X11 や ghostscript (ps2pdf) を入れず、AquaTerm と PDFlib (あと readline)をインストールしてから gnuplot を入れる。

Aqua Term 

1.1.0 を入れた。

PDFlib

http://www.pdflib.com/download/pdflib-family/pdflib-lite-7/ からソースをとってきた。非商用であれば使っていいようだ。

mkdir /usr/local/src/pdflib
cd /usr/local/src/pdflib
rsync -au /Volumes/PDFlib-Lite-7.0.5p3/ .
./configure --prefix=/usr/local/pdflib
make
__ skip __
ranlib: file: .libs/libpdf_java.a(pc_scan.o) has no symbols
ranlib: file: .libs/libpdf_java.a(pc_scope.o) has no symbols
ranlib: file: .libs/libpdf_java.a(pc_xmp.o) has no symbols
ranlib: file: .libs/libpdf_java.a(tif_dirwrite.o) has no symbols
ranlib: file: .libs/libpdf_java.a(tif_flush.o) has no symbols
ranlib: file: .libs/libpdf_java.a(tif_print.o) has no symbols
ranlib: file: .libs/libpdf_java.a(tif_write.o) has no symbols
rm -rf com
mkdir com
mkdir com/pdflib
javac -classpath pdflib.jar:. -source 1.4 PDFlibException.java pdflib.java
No Java runtime present, requesting install.
2012-09-24 00:31:52.548 javac[84777:303] JLRequestRuntimeInstall: Error calling: CFMessagePortCreateRemote
make[3]: *** [pdflib.jar] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all] Error 2
make: *** [all] Error 2
#気にせずインストール
make install
Java binding のビルドに失敗しているようだが肝心のライブラリはビルド・インストールできた。

readline

cd ./readline-6.2/
./configure --prefix=/usr/local/
vi shlib/Makefile ( -dynamic -> -dynamiclib )
make
make install

 gnuplot

cd /usr/local/src/
tar xf /Users/shingo/Downloads/gnuplot-4.6.0.tar
cd gnuplot-4.6.0/
export PATH=/usr/local/pdflib/bin:$PATH # pdflib_config にパスを通す
./configure --with-readline=/usr/local/
make
make install
PDFlib には pdflib_config という補助スクリプトがあり、これにパスを切ると gnuplot の configure はPDFlib のライブラリ、ヘッダファイルを見つけてくれる。

Ruby / gnuplot

Lion にあげたときは rubyVM が落ちたりしていたが、今回はそんなことは全くなくて、これまで通りに使えている。 gnuplot も然りであった。

その他のデータ移行

バックアップもかねて、内蔵 HDD のデータを外付け HDD に一通り移した。

iPhoto

rsync -EHax iPhoto\ Library /Users/shingo/Pictures/
 App Store で iPhoto をインストール 

iTunes

rsync -EHax iTunes /Users/shingo/Music/

Mail

rsync -EHax Mail /Users/shingo/Library/
rsync -EHax Mail\ Downloads /Users/shingo/Library/

Safari

拡張とか入れてないので、ブックマークだけ export / import した。

その他

  • /etc/hosts
  • ~/.ssh/{authorized_keys, id_rsa, id_rsa.pub}
  • ~/.bash_profile
  • ~/.aliases
  • ~/.emacs.el
  • ~/bin
  • Library/Lisp/
  • などなど
TimeMachine は今回も出番がなかった。

追記:

Flash を使うと /var/log/kernel.log に IOSurface: buffer allocation size is zero が出る問題は ML で解消されたようだ。/var/log/system.log には少なくともこのメッセージは出ていない。

追記:
Readline を使う Ruby プログラムが文字化けするようになった。GNU Readline を使うように Ruby をビルドしていなかった。Readline.bundle だけ再構築したら文字化けしなくなった。

0 件のコメント:

コメントを投稿