R-2.3でBioconductorのmulttestがうまくロードされないのを解決
したよっと。他機種で確認してないけど、intel macだからかな?
Rの中で
> library(multtest)
とすると
以下にエラーdyn.load(x, as.logical(local), as.logical(now)) :
共有ライブラリ '/Library/Frameworks/R.framework/Resources/library/multtest/libs/multtest.so' を読み込めません
dlopen(/Library/Frameworks/R.framework/Resources/library/multtest/libs/multtest.so, 6): image not found
以下にエラーlibrary(multtest) : .First.lib は 'multtest' に対して失敗しました
以下にエラーdyn.unload(x) : dynamic/shared ライブラリ '/Library/Frameworks/R.framework/Resources/library/multtest/libs/multtest.so' はロードされていません
ということなので、そのディレクトリをlsして見る。
% ls /Library/Frameworks/R.framework/Resources/library/multtest/libs
i386/ ppc/
2つのディレクトリ*1の下に'multtest.so'がある形になってしまっている。
% sudo ln -s /Library/Frameworks/R.framework/Resources/library/multtest/libs/i386/multtest.so /Library/Frameworks/R.framework/Resources/library/multtest/libs/multtest.so
で解決。うまくRの中でロード出来ている。
ppcの方は消して良いと思うんだが、放置してみる。<追記>
tkrplotもエラーが出るが同様の方法でクリア。
Rの中で
> library(tkrplot)
要求されたパッケージ tcltk をロード中です
Loading Tcl/Tk interface ... done
以下にエラーstructure(.External("dotTcl", ..., PACKAGE = "tcltk"), class = "tclObj") :
[tcl] image not found
NSCreateObjectFileImageFromFile() error: not a Mach-O MH_BUNDLE file.
以下にエラーlibrary(tkrplot) : .First.lib は 'tkrplot' に対して失敗しました
tkrplot.soとエラーには出てこないが、さきほどの要領で
sudo ln -s /Library/Frameworks/R.framework/Resources/library/tkrplot/libs/i386/tkrplot.so /Library/Frameworks/R.framework/Resources/library/tkrplot/libs/tkrplot.so
するとあっさりロード出来る。
これ、頻発するってことは僕の設定がおかしいとか‥?
[mako@Akari#~]% cd /Library/Frameworks/R.framework/Resources/library/
[mako@Akari#library]% find . -name "*.so"
してみると他にもたくさんのpackageが似たような'../libs/i386(ppc)/hoge.so'という構造を持っているのが分かる。
がそれらに含まれる'tools', 'rpart', 'gcrma'はln -sしなくても問題なくロード出来た。
うーん、なんなの‥orz