【发布时间】:2016-06-30 05:16:05
【问题描述】:
我正在尝试从源代码安装 R 包,但出现错误:
* installing *source* package ‘mclust’ ...
** package ‘mclust’ successfully unpacked and MD5 sums checked
** libs
gfortran-4.8 -fPIC -g -O2 -c mclust.f -o mclust.o
gfortran-4.8 -fPIC -g -O2 -c mclustaddson.f -o mclustaddson.o
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o mclust.so mclust.o mclustaddson.o -L/Library/Frameworks/R.framework/Resources/lib -lRlapack -L/Library/Frameworks/R.framework/Resources/lib -lRblas -L/usr/local/lib/gcc/x86_64-apple-darwin13.0.0/4.8.2 -lgfortran -lquadmath -lm -L/usr/local/lib/gcc/x86_64-apple-darwin13.0.0/4.8.2 -lgfortran -lquadmath -lm -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
ld: warning: directory not found for option '-L/usr/local/lib/gcc/x86_64-apple-darwin13.0.0/4.8.2'
ld: warning: directory not found for option '-L/usr/local/lib/gcc/x86_64-apple-darwin13.0.0/4.8.2'
ld: library not found for -lquadmath
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [mclust.so] Error 1
ERROR: compilation failed for package ‘mclust’
* removing ‘/Library/Frameworks/R.framework/Versions/3.3/Resources/library/mclust’
Warning in install.packages :
installation of package ‘mclust’ had non-zero exit status
我没有/usr/local/lib/gcc/x86_64-apple-darwin13.0.0,所以找不到它是有道理的。我有/usr/local/lib/gcc/i686-apple-darwin11 和/usr/local/lib/gcc/4.8(到 Homebrew 安装的符号链接)。 x86_64-apple-darwin13.0.0 是从哪里得到的?
网上有很多类似错误的参考。不过都和Xcode编译有关,都是通过更新项目设置来解决的,这里不适用。
【问题讨论】:
-
“官方 R Core”不支持 Homebrew 安装。 r.research.att.com 有一个 Fortran 包,但我认为它可能与最终在框架树中的“授权”版本有静态链接。我不是这方面的专家,并且有一些 SO 用户(想到@hrbrmstr)认为自制软件“很好”。搜索“user:1457051 homebrew”,看看你是否找到了比我提供的更多支持。
-
CRAN 使用的当前版本的 clang 和 gfortran 可以在这里找到:cran.r-project.org/bin/macosx/tools
标签: r macos gcc fortran gfortran