1

我尝试使用 Revolution R Open 3.2.2 在 macOS 上安装 psych 包。我使用install.packages("psych")并且所有依赖项都将被下载。第一个依赖成功解压。

之后会发生以下情况:

gfortran -arch x86_64   -fPIC  -g -O2  -c biv-nt.f -o biv-nt.o

gfortran -arch x86_64   -fPIC  -g -O2  -c sadmvnt.f -o sadmvnt.o

clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/Users/Shared/Jenkins/workspace/External-R-3.3.2/vendor/build/lib -o mnormt.so biv-nt.o sadmvnt.o -L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3/x86_64 -L/usr/local/lib/x86_64 -L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3 -L/usr/local/lib -lgfortran -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation

ld: warning: directory not found for option '-L/Users/Shared/Jenkins/workspace/External-R-3.3.2/vendor/build/lib'

ld: warning: directory not found for option '-L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3/x86_64'

ld: warning: directory not found for option '-L/usr/local/lib/x86_64'

ld: warning: directory not found for option '-L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3'

ld: library not found for -lgfortran

clang: error: linker command failed with exit code 1 (use -v to see invocation)

make: *** [mnormt.so] Error 1

ERROR: compilation failed for package ‘mnormt’

* removing ‘/Users/sebastian/Library/R/3.3/library/mnormt’

Warning in install.packages :
  installation of package ‘mnormt’ had non-zero exit status

ERROR: dependency ‘mnormt’ is not available for package ‘psych’

* removing ‘/Users/sebastian/Library/R/3.3/library/psych’

Warning in install.packages :

  installation of package ‘psych’ had non-zero exit status

The downloaded source packages are in

  /private/var/folders/8d/tdsm42091lz926w1q2lx77c40000gn/T/RtmpHxWPQe/downloaded_packages

我的系统:

R version 3.3.2 (2016-10-31)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Sierra 10.12.1

这也发生在其他包上,但不是全部。我安装了 ggplot2、dplyr 或 tidyr,一切正常。

4

2 回答 2

4

当我切换到MROon时,我对许多其他 R 包也有同样的问题MacOS。这可能是两件事:

  1. 你错过了gfortran,就像评论中提到的@hrbrmstr 一样。
  2. 或者,您有gfortran,但编译器未指定链接库路径,正如您在错误消息中看到的那样,在它出现gfortran在行之前。

对我有用的 2 的解决方案是编辑~/.R/Makevars以添加您的GCC/GFortran库。对于GCC5

LDFLAGS=-L/usr/local/lib/gcc/5

于 2017-02-11T01:04:28.807 回答
2

单独安装 gfortran 对我没有帮助。确保 XCode 已安装并更新。这对我有帮助。

于 2017-01-05T22:23:03.320 回答