在Mac OS X上安装R 3.2.2中的Rmpfr(10.10.5 Yosemite)

时间:2015-09-07 06:04:51

标签: r macos homebrew

我使用自制软件在Mac OS上安装了R.到现在为止一切都很顺利。今天,我想对R上的一些计算使用任意精度。我看到Rmpfr包很容易使用,所以我决定安装它。首先,我使用了通常的:

install.packages("Rmpfr")

我收到了这条消息:

checking for mpfr.h... no
configure: error: Header file mpfr.h not found; maybe use --with-mpfr-include=INCLUDE_PATH
ERROR: configuration failed for package ‘Rmpfr’

所以我发现mpfr标题位于/usr/local/Cellar/mpfr/3.1.3/include,但不在/usr/include/usr/local/include

我将它们符号链接,以及/usr/local/Cellar/mpfr/3.1.3//usr/lib/usr/local/lib中的库。之后,它开始编译,但后来我收到了以下消息:

clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/lib -L/usr/local/opt/gettext/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/openssl/lib -o Rmpfr.so Ops.o Summary.o convert.o init.o utils.o -lmpfr -lgmp -F/usr/local/Cellar/r/3.2.2_1/R.framework/.. -framework R -lintl -Wl,-framework -Wl,CoreFoundation
ld: library not found for -lmpfr
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Rmpfr.so] Error 1
ERROR: compilation failed for package ‘Rmpfr’

任何想法我该怎么办?

1 个答案:

答案 0 :(得分:1)

几个小时后尝试了不同的选择,最后我发现了一个解决方法。 我将libs与R路径联系起来:
cd /usr/local/Cellar/r/3.2.2_1/R.framework/Resources/lib ln -s /usr/local/Cellar/mpfr/3.1.3/lib/libmpfr.* . ln -s /usr/local/Cellar/gmp/6.0.0a/lib/libgmp* .

之后,我跑了:
install.packages('Rmpfr', type = "source", configure.args=c('--with-mpfr-include=/usr/local/include','--with-mpfr-lib=/usr/local/lib'))

所有编译好的。