我使用自制软件在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’
任何想法我该怎么办?
答案 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'))
所有编译好的。