install.packagesでのError

ちょっとハマったので備忘。

> install.packages("TTR")
#(中略)
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 -L/usr/local/opt/gettext/lib -L/usr/local/opt/readline/lib -o xts.so add_class.o any.o attr.o binsearch.o coredata.o diff.o dimnames.o endpoints.o extract_col.o init.o isOrdered.o isXts.o leadingNA.o merge.o period.max.o period.min.o period.prod.o period.sum.o rbind.o rollfun.o runSum.o startofyear.o subset.o subset.old.o toperiod.o totalcols.o tryXts.o unique.time.o -L/usr/local/Cellar/gcc/5.2.0/lib -L/usr/local/Cellar/gcc/5.1.0/lib/gcc/5/gcc/x86_64-apple-darwin14.3.0/5.1.0 -L/usr/local/Cellar/gcc/5.1.0/lib/gcc/5 -lgfortran -lquadmath -lm -F/usr/local/Cellar/r/3.2.1_1/R.framework/.. -framework R -lintl -Wl,-framework -Wl,CoreFoundation
ld: warning: directory not found for option '-L/usr/local/Cellar/gcc/5.1.0/lib/gcc/5/gcc/x86_64-apple-darwin14.3.0/5.1.0'
ld: warning: directory not found for option '-L/usr/local/Cellar/gcc/5.1.0/lib/gcc/5'
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 ‘xts’
* removing ‘/usr/local/Cellar/r/3.2.1_1/R.framework/Versions/3.2/Resources/library/xts’
ERROR: dependency ‘xts’ is not available for package ‘TTR’
* removing ‘/usr/local/Cellar/r/3.2.1_1/R.framework/Versions/3.2/Resources/library/TTR’

 ダウンロードされたパッケージは、以下にあります 
 	‘/private/var/folders/b7/5pf80zmn03d5tjwx6zbd0jb400123gn/T/RtmxWfWtNZ/downloaded_packages’ 
 警告メッセージ: 
1:  install.packages("TTR"): 
   パッケージ ‘xts’ のインストールは、ゼロでない終了値をもちました 
2:  install.packages("TTR"): 
   パッケージ ‘TTR’ のインストールは、ゼロでない終了値をもちました 


ということで、「libgfortranがないっす」って言われてるので探してみる。

$ mdfind -name libgfortran.a
/usr/local/Cellar/gcc/5.2.0/lib/gcc/5/libgfortran.a
/usr/local/Cellar/gcc/5.2.0/lib/gcc/5/i386/libgfortran.a

ありますねー、そしてこのディレクトリも-Lで既に入ってんじゃん、、って思ったら、-L/usr/local/Cellar/gcc/5.1.0/lib/gcc/5が悪さしてそう・・・
なんだよなんだよ余計なもんつけやがって、、、で、今度はRのoption設定してるファイル探す。

#Rのディレクトリ漁ってたら怪しいファイル発見。
$ vi /usr/local/Cellar/r/3.2.1_1/R.framework/Versions/3.2/Resources/etc/Makeconf 

  1 # etc/Makeconf.  Generated from Makeconf.in by configure.$
  2 #$
  3 # ${R_HOME}/etc/Makeconf$
  4 #$
  5 # R was configured using the following call$
  6 # (not including env. vars and site configuration)$
  7 # configure  '--prefix=/usr/local/Cellar/r/3.2.1_1' '--with-libintl-prefix=/usr/local/opt/gettext' 
#(中略)
 44 FFLAGS = -g -O2 $(LTO)$
 45 FLIBS =  -L/usr/local/Cellar/gcc/5.1.0/lib/gcc/5/gcc/x86_64-apple-darwin14.3.0/5.1.0 -L/usr/local/C
 46 FCPICFLAGS = -fno-common$

ここにいたああああ!ということで、早速書き換える。

 44 FFLAGS = -g -O2 $(LTO)$
 45 #FLIBS =  -L/usr/local/Cellar/gcc/5.1.0/lib/gcc/5/gcc/x86_64-apple-darwin14.3.0/5.1.0 -L/usr/local/
 46 FLIBS =  -L/usr/local/Cellar/gcc/5.2.0/lib/gcc/5/ -lgfortran -lquadmath -lm$

このあとインストールしたら無事できました。めでたしめでたし。