初期化したSnow LeopardにRをインストール
- まずはOSのsoftware update。Mac OS X統合アップデートとAirMacユーティリティのみアップデート。
- cran http://www.r-project.org/ からRをダウンロードしてインストール。
- Xcode3.2.1をインストール。
- Mac Portsをインストール。
- biOpsに必要なライブラリをインストール。
- インストールしたライブラリにシンボリックリンクを張る。
$ cd /usr/include
$ sudo ln -s /opt/local/include/fftw3.h
$ for x in /opt/local/include/j*.h; do sudo ln -s $x; done
$ for x in /opt/local/include/tiff*.h; do sudo ln -s $x; done
$ cd /usr/lib
$ for x in /opt/local/lib/libfftw3.*; do sudo ln -s $x; done
$ for x in /opt/local/lib/libjpeg.*; do sudo ln -s $x; done
$ for x in /opt/local/lib/libtiff.*; do sudo ln -s $x; done
- RからbiOpsをインストール。
$ sudo R
> install.packages("biOps", repos="http://cran.md.tsukuba.ac.jp/", type="source")
- ImageMagickをインストール。
$ sudo port install ImageMagick
- gtk2をインストール
$ sudo port install gtk2
- EBImageをインストール
$ sudo curl -O "http://www.bioconductor.org/packages/2.10/bioc/src/contrib/EBImage_3.11.0.tar.gz"
$ sudo R CMD INSTALL EBImage_3.11.0.tar.gz
この方法だと、gtk-demoとした時やlibrary(EBImage)としたときにXlib: extension "RANDR" missing on display "/tmp/launch-EV8OQF/org.x:0".
というエラーがでる。無視しても動作には問題がないが、気に入らない場合はXQuartzをhttp://xquartz.macosforge.org/trac/wikiからインストールして、XQuartzからxtermを起動してRを使うとよい。
なお、以上の方法でSnow LeopardにRとbiOpsとEBImageをインストールすると自動的に64bitのアーキテクチャにインストールされる。32bitにはインストールされない。
Snow Leopardの初期化
BootcampでWindowsを走らせているMac OS Snow LeopardのOSを初期化することにした。
Snow Leopardの修理
$ which make
としても何も引っかからない。
Xcodeを入れ直すことにする。
- Xcode 3.2.1 Developer Toolsをダウンロードしてインストール
$ which make
/usr/bin/make
となった。しかし、
$ sudo R
> install.packages("biOps", repos="http://cran.md.tsukuba.ac.jp/", lib=.Library, type="source")
とすると、Warning: unable to re-encode rというエラーが続出する。意味が分からないのでRを入れ直すことにする。
$ sudo rm -rf /Library/Frameworks/R.framework
さらに、アプリケーションフォルダからRのアイコンを捨てる。バイナリのRをcranからダウンロードしてインストール。
$ sudo R
> install.packages("biOps", repos="http://cran.md.tsukuba.ac.jp/", lib=.Library, type="source")
同じWarning: unable to re-encode rというエラーが続出する。Rのせいではないのか。
頭にきたので、OSの初期化。
MacBookに載せているWindows 7にUbuntuをVirtualBoxで載せる
- VirtualBoxをインストール。
- Ubuntu11.10 (32bit) のisoをダウンロードしてデスクトップに置いておく。CDに焼く必要はなし。
- VirtualBoxの「新規」からUbuntuをインストール。
- 1024MBのRAMと20GBのディスクスペースを割り当てる。
- ダウンロードしておいたisoを選択する。
- あとはインストーラの指示に従うだけ。
- 仮想上で再起動を促されるので再起動するとインストールが完了する。
- アップデートをインストールしておく。
Ubuntuの見た目がずいぶん変わっててびっくり。
sudo apt-get install gtk2-engines-pixbuf
Rをインストールし直し
- インストールディスクを入れて起動。
- 古いOSはアーカイブするオプションを選ぶ。
- インストーラーの指示に従ってインストールを完了。
- ログインしたらソフトウェアアップデートでMac OS統合アップデートを入れる。
Rをインストール
- 最新バージョンのバイナリパッケージをcranからダウンロード。
- インストーラの指示に従ってインストールを完了。
XCodeをインストール
- Apple Developerに登録。
- https://developer.apple.com/downloads/index.action からXcode3.14をダウンロード。約1GB。
- インストーラーに従ってインストール。
MacPortsをインストール
- http://www.macports.org/install.php からLeopard用をダウンロードしてインストール。
- ターミナルを起動してviで~/.bash_profileを以下のように作成。
if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi
- 同様に.bashrcを以下のように作成。PATHを通しておかないとportコマンドが見つからないのエラーが出る。
export PATH=/opt/local/bin:/opt/local/sbin:${PATH}
- portをアップデート
sudo port selfupdate
sudo port upgrade outdated
biOpsをインストール
- 依存ライブラリをportからインストール。
% cd /usr/include
% sudo ln -s /opt/local/include/fftw3.h
% for x in /opt/local/include/j*.h; do sudo ln -s $x; done
% for x in /opt/local/include/tiff*.h; do sudo ln -s $x; done
% cd /usr/lib
% for x in /opt/local/lib/libfftw3.*; do sudo ln -s $x; done
% for x in /opt/local/lib/libjpeg.*; do sudo ln -s $x; done
% for x in /opt/local/lib/libtiff.*; do sudo ln -s $x; done
- Rでsourceからインストール。
install.packages("biOps"
, repos="http://cran.md.tsukuba.ac.jp/"
, lib=.Library
, type="source"
)
EBImageをインストール
http://d.hatena.ne.jp/Moment5/20111104 にしたがう。32bitならGUIからもOK。しかし以上の方法だと64ビットでは動かない。port install +universalにすればいいのかな?
64bitでのセットアップ
上の状態で、
sudo R --arch x86_64
> install.packages("biOps", repos="http://cran.md.tsukuba.ac.jp", lib=.Library, type="source")
とするとエラー終了する。
Error: libjpeg or libtiff required
sudo port install fftw-3 +universal
sudo port install tiff jpeg +universal
まだだめ。同じエラー。
EBImageをMac OS 10.5 (Leopard)にインストール
・Xcodeのインストール
・MacPortsのインストール
・ImageMagickのインストール
・gtk+-2.0のインストール
これらを行うにはユーザーにパスワードが設定されている必要がある。
Xcodeはxcode314_2809_developerdvd.dmgを使った。https://developer.apple.com/downloads/index.actionから入手できる(ただしdeveloperとしての登録が必要)。
MacPortsはhttps://distfiles.macports.org/MacPorts/MacPorts-2.0.3-10.5-Leopard.dmgを使った。
ImageMagickのインストールはterminalで
sudo port install ImageMagick
gtk+-2.0は
sudo port install gtk2
インストールが正常に終了したことを確認するためにgtk-demoとするとX11が開きかけてエラー終了する。
ImageMagickのチェックのためにconvert -versionとすると正常にバージョンが表示される。
Rをターミナルから起動して次のようにするとエラーが出る。
> install.packages("abind")
--- このセッションで使うために、CRANのミラーサイトを選んでください ---
Tcl/Tkインターフェースのロード中 エラー: .onLoad failed in loadNamespace() for 'tcltk', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: 共有ライブラリ '/Library/Frameworks/R.framework/Versions/2.13/Resources/library/tcltk/libs/i386/tcltk.so' を読み込めません:
dlopen(/Library/Frameworks/R.framework/Versions/2.13/Resources/library/tcltk/libs/i386/tcltk.so, 10): Library not loaded: /usr/local/lib/libtcl8.5.dylib
Referenced from: /Library/Frameworks/R.framework/Versions/2.13/Resources/library/tcltk/libs/i386/tcltk.so
Reason: image not found
これを解決するためにhttp://cran.us.r-project.org/bin/macosx/tools/から
tcltk-8.5.5-x11.dmgをインストール。
> install.packages("abind")
今度は問題なくインストールできた。
いよいよEBImageのダウンロードとインストール。
$ curl -O "http://www.bioconductor.org/packages/2.10/bioc/src/contrib/EBImage_3.11.0.tar.gz"
$ R CMD INSTALL EBImage_3.11.0.tar.gz
とすると、
Xlib: extension "RANDR" missing on display "/tmp/launch-J295Eb/:0".
というエラーがでるが、とりあえずEBImage自体のインストールは成功する模様。
> ?EBImage
とするとヘルプが参照できる。
ただし、
> example(EBImage)
とするといくつものXウィンドウが開かれるが最終的にクラッシュする。どうやらX11がおかしいようなので、http://xquartz.macosforge.org/trac/wiki/X112.6.3から最新バージョンを入手してインストール。
今度はgtk-demoとしてエラーも表示されず、
> example(EBImage)
とすると様々な画像処理の結果が表示された。
Windows 7をサーバーにリモートデスクトップでアクセス
自宅のコンピューターから職場のコンピュータに安全にアクセスしたい。Copsshというソフトで簡単にsshサーバーがセットアップで切るらしいことをhttp://blog.spencerkellis.net/2010/06/tunneling-remote-desktop-over-ssh-in-windows-7/で知った。そこで、CopsshとPuttyとRemote Desktopを使う。
Copssh http://www.itefix.no/i2/copssh
PuttyとPageantとPuttygen http://yebisuya.dip.jp/Software/PuTTY/
サーバー側の設定
まずはCopsshのインストールと設定。インストーラーを上記サイトからダウンロードして走らせる。新たなユーザーを作成することが求められるので、好きな名前でユーザを作成する。
インストールが完了したらCopsshのコントロールパネルを開いてアクセスするためのユーザーを追加する。ウィザードに従って、Domainはデフォルトのまま。ユーザーには先ほど作ったユーザーを選択。access typeはLinux shell/fstp。パスワード認証は不可にしておく。そのほかはデフォルトのまま。
認証に必要な鍵はPuttygenで生成する。秘密鍵はUSBメモリでクライアントに移動する。公開鍵はコピーアンドペーストでCopsshのKyesにインポートする。
Remote Desktopでのアクセスはデフォルトでは不可になっているので、ComputerのPropertiesのRemote settingsで可にする。
以上でサーバーの設定は完了。
クライアント側の設定
Puttyはサーバーのアドレスを設定する以外に、SSHのタブからTunnelの設定をする。source portは3391にdestinationは
以上で終わり。簡単。