R導入雑記(1)
R導入中
とはいえ、自身の環境 (MAC)でも、特段特別な処理とかは不要で、ポチポチ押しているだけで問題なくすすめることができています。
問題ないとはいいつつ、一点しっかり躓いた&記事が少なかったので、備忘します
gccもろもろの問題
Rでは切り離せないstanの処理のために、裏ではC++が動いていてgccもろもろの問題にfaceしました
間違って、そのときのログ消したので断片的ですが、、、
1 2 |
install.packages("brms") install.packages("mvtnorm") |
ことの発端はこのinstall. brms でBayesian Regression Model using Stanですね。エラーでたので、読んでmvtnorm無いらしいとのことなので、mvtnorm入れようともエラー出た
ということで読み洗うと
- rのパッケージでmvtnormないよ
- cコンパイル時にlgfortranないよ
- gcc option指定の場所ないよ
1 |
> install.packages("brms")<br />#(install logいっぱい)<br />clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/usr/local/Cellar/r/3.2.1_1/R.framework/Resources/lib (長い)<br />ld: warning: directory not found for option '-L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin15/6.1.0' <br />ld: warning: directory not found for option '-L/usr/local/gfortran/lib/gcc' <br />ld: library not found for -lgfortran clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [xts.so] Error 1 ERROR: compilation failed for package ‘brms’<br />・・・<br />installation of package ‘brms’ had non-zero exit status |
mvtnormは多変量(mv)正規分布(norm)を扱うパッケージでまぁ無いと困るのも納得。おそらくgccでしょうということで、lgfortranの場所が違う説に到達。
それまでの道のりは長くて、いろいろinstall関連でisssueが上がっているらしく、騙されたと思って
- ソースコンパイルしたり
- RDataとか消したり
- dependency問題があるので、満たしておくとか
しましたが、無意味に終わりました….まぁgccラリってるなら、ソースコンパイルくらい無意味だと思えよww次回はちゃんとエラーメッセージに忠実にうごこうな。
で、探していると、似た記事を発見
http://funizou.hatenablog.com/entry/2015/08/02/115415
ということで、大事な部分を抜粋します。感謝です。
1 2 3 4 5 6 7 8 9 |
$ mdfind -name libgfortran.a #check where libgfortran is /usr/local/Cellar/gcc/10.1.0/lib/gcc/10/libgfortran.a /usr/local/Cellar/gcc@5/5.5.0_3/lib/gcc/5/libgfortran.a /usr/local/Cellar/gcc@5/5.5.0_3/lib/gcc/5/i386/libgfortran.a $ vim /Library/Frameworks/R.framework/Versions/3.5/Resources/etc/Makeconf #R config #FLIBSの項目をmdfindで見つけたpathに変更 #FLIBS = -L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin15/6.1.0 -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm FLIBS = -L/usr/local/Cellar/gcc/10.1.0/lib/gcc/10/ -lgfortran -lquadmath -lm$ |
ということで、無事その後は通過できたので、作業継続です。
現在進めているお供
僕みたいなRわからない勢を対象にしているので親切でいい本だと思います。