从源代码编译R包(Mac OS X)

时间:2017-07-09 01:33:15

标签: r macos

我正在运行Mac OS X 10.7.5(Lion),这意味着我可以运行的the latest version of R是3.2.1。由于不再为此版本制作包的二进制文件,这意味着我需要install the latest package versions from source。我可以用

做到这一点

install.packages(pkgs, type = "source")

我安装了GNU Fortran,虽然我不清楚是否需要它来编译R包。

但是,当我尝试从R中的源代码编译包时,我收到错误消息,表明我没有(或者R找不到)必要的编译工具。参看e.g:

* installing *source* package ‘scales’ ...
** package ‘scales’ successfully unpacked and MD5 sums checked
** libs
sh: make: command not found
ERROR: compilation failed for package ‘scales’

* installing *source* package ‘stringi’ ...
** package ‘stringi’ successfully unpacked and MD5 sums checked
checking for local ICUDT_DIR... icu55/data
checking for R_HOME... /Library/Frameworks/R.framework/Resources
checking for R... /Library/Frameworks/R.framework/Resources/bin/R
checking for R >= 3.1.0 for C++11 use... yes
checking for R < 3.4.0 for CXX1X flag use... yes
checking for cat... /bin/cat
/Library/Frameworks/R.framework/Resources/bin/config: line 150: make: command not found

[...]

checking for gcc... no
checking for cc... no
checking for cl.exe... no
/Library/Frameworks/R.framework/Resources/bin/config: line 153: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 269: make: command not found
configure: error: in `/private/var/folders/2r/6c5vhb4s3zx3zs4d1dbf9p940000gn/T/Rtmpob4pMm/R.INSTALLd4676ad8595/stringi':
configure: error: no acceptable C compiler found in $PATH

我认为需要的是为R软件包安装必要的编译工具。我需要做什么?

(如果我需要提供更多信息,请在评论中提出,我会提供)

1 个答案:

答案 0 :(得分:1)

这可能很棘手。首先,仔细检查是否可以从AppStore下载XCode。如果可以,您也可以安装命令行工具。通过Preferences -> Downloads(据我记得),或者它们将在首次启动时安装。

或者,在此处创建免费帐户:

http://developer.apple.com

然后,前往:

https://developer.apple.com/download/more/

找到XCode。可能你需要安装一些非常旧的版本。

正如@hrbrmstr所提到的,可能是用Linux安装虚拟机(例如在VirtualBox内部)会不那么痛苦。

请注意,安装软件包时可能会遇到越来越多的问题。如果你被迫坚持使用旧的OS X,那就没有简单的方法:(

<强> 更新

正如@Sverre所指出的,最好在这里有一个完整的链接列表:

从Apple下载

XCode - (Lion版)(不要与AppStore混淆)

Command Line Tools - (Lion版)您可以单独安装它们,而无需安装XCode