安装R软件包遇到问题: "ld: warning: directory not found for option"。

3

我正在尝试使用R语言安装gradientForest包

install.packages("gradientForest", repos="http://R-Forge.R-project.org")

我遇到了这个错误。
ld: warning: directory not found for option '-L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin15/6.1.0'
ld: warning: directory not found for option '-L/usr/local/gfortran/lib'
ld: library not found for -lgfortran

我已经尝试过这个这个线程中的答案。

根据这些线程,我已经安装了gcc:

brew install gcc

我的Makevars文件看起来像这样:

## With Rcpp 0.11.0 and later, we no longer need to set PKG_LIBS as there is
## no user-facing library. The include path to headers is already set by R.
#PKG_LIBS = 

## With R 3.1.0 or later, you can uncomment the following line to tell R to 
## enable compilation with C++11 (or even C++14) where available
CXX_STD = CXX17

VER=-9
CC=gcc$(VER)
CXX=g++$(VER)
CXX11=g++$(VER)
CXX14=g++$(VER)
CXX17=g++$(VER)
CFLAGS=-mtune=native -g -O2 -Wall -pedantic -Wconversion
CXXFLAGS=-mtune=native -g -O2 -Wall -pedantic -Wconversion
FLIBS=-L`gfortran -print-file-name=libgfortran.dylib | xargs dirname`

但是不幸的是,它对我的错误没有任何影响。 我的 R 版本是 3.6.1,我使用的是 MacOS Catalina 操作系统。

如果有人能帮助我,我将非常感激。 谢谢。

3个回答

3
我遇到了相同的编译错误,手动重新安装Clang和GFortran解决了我的问题。我使用的指令是:在MacOS上为RCPP安装R编译器工具。(在Catalina 10.15.3;R 3.6.2;RStudio 1.2.5上)

1
我使用此处的软件包安装程序安装了gfortran:https://github.com/fxcoudert/gfortran-for-macOS/releases我正在使用M1 Mac mini,但已成功安装并运行了Monterey(macOS 12)Intel版本的构建。我没有尝试实验性的ARM版本。 - z0lo

1

以下是R官方文档关于如何在Mac上安装R和相关错误的代码片段:


CC = /usr/local/clang7/bin/clang
CXX = /usr/local/clang7/bin/clang++
CXX11 = $CXX
CXX14 = $CXX
CXX17 = $CXX
CFLAGS = -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion
CXXFLAGS = -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion
CXX11FLAGS = $CXXFLAGS
CXX14FLAGS = $CXXFLAGS
CXX17FLAGS = $CXXFLAGS
and gfortran by (El Capitan)

FC = /usr/local/gfortran/bin/gfortran
FLIBS = -L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin15/6.1.0
  -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm
or (Sierra or High Sierra)

FC = /usr/local/gfortran/bin/gfortran
FLIBS = -L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin16/6.3.0
  -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm
or (Mojave or later)

FC = /usr/local/gfortran/bin/gfortran
FLIBS = -L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin18/8.2.0
  -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm
(with lines broken here for legibility).

If using the C/C++ compilers from the Command Line Tools (which do not have OpenMP support) one will need to include

SHLIB_OPENMP_CFLAGS =
SHLIB_OPENMP_CXXFLAGS =

如需更多信息,请访问下面的链接,位于6.3.2处。

https://cran.r-project.org/doc/manuals/r-patched/R-admin.html

这可能对你有帮助。


如果这个答案解决了问题,请接受并点赞。 - ashwin agrawal

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接