OS X软件包安装依赖于gfortran-4.8

时间:2014-05-28 15:44:31

标签: r fortran

我正在使用OS X开发版R

R Under development (unstable) (2014-05-27 r65787)
Platform: x86_64-apple-darwin13.1.0 (64-bit)

使用GNU Fortran(GCC)4.2.3(来自Simon's site)和Xcode的命令行工具的5.1.1版。

从源码构建时,我收到如下错误:

gfortran-4.8   -fPIC  -g -O2  -c altmov.f -o altmov.o
make: gfortran-4.8: No such file or directory

我不知道该怎么做。我可以为我的版本创建一个别名,但我不确定它是否真的需要4.8。

谢谢,

最高

11 个答案:

答案 0 :(得分:51)

在终端中输入这两行,直接引用:

curl -O http://r.research.att.com/libs/gfortran-4.8.2-darwin13.tar.bz2
sudo tar fvxj gfortran-4.8.2-darwin13.tar.bz2 -C /

它会为你下载mavericks的gfortran(目前在你的系统中缺失)并将它安装在你的系统中。至少,这为我解决了同样的问题

(我今年晚些时候跑到MacPro,小牛队)。

答案 1 :(得分:16)

编辑:我现在认为最好用Homebrew完成:

brew reinstall gcc48 --with-fortran

虽然我认为以下程序可行,但它并不干净。但是,我仍然建议配置〜/ .R / Makevars,如下所述。

为了建立@TheBigMike的答案,我使用以下过程在homebrew旁边安装gfortran-4.8,然后配置R来选择这个fortran编译器。

首先,下载并解压缩gfortran 4.8:

su admin
curl -O http://r.research.att.com/libs/gfortran-4.8.2-darwin13.tar.bz2
mkdir /tmp/gfortran
tar fvxz gfortran-4.8.2-darwin13.tar.bz2 -C /tmp/gfortran

删除干扰自制程序的gfortran文件别名:

rm /tmp/gfortran/usr/local/bin/gfortran

安装gfortran 4.8

cp -r /tmp/gfortran/usr/local/ /usr/local

告诉R使用gfortran 4.8,创建一个名为~/.R/Makevars的文件:

mkdir -p ~/.R
touch ~/.R/Makevars

将以下内容放入~/.R/Makevars

FLIBS=""
F77="gfortran-4.8"
FC="gfortran-4.8"

现在重新启动R.一旦重新启动R,任何依赖于fortran 4.8的软件包现在都可以运行。自制软件应该不受干扰。

答案 2 :(得分:8)

我遇到了同样的问题,尽管在R Studio上。 以下对我有用,但是,之后我不得不重新安装所有的R包(注意:重新安装需要一段时间,看起来有点相似,不确定这些是否是适当的步骤,使用风险自负):

下载最新的R Studio版本,然后在终端中关注: brew install gcc brew update && brew reinstall r brew link --overwrite r

答案 3 :(得分:4)

Rcpp FAQ第2.16节对此进行了详细解释。基本上你需要安装gfortran(homebrew install gcc或其他方式),然后修改Makeconf以将FLIBS指向相关的fortran库。

这些步骤对我有用:

  1. 通过自制软件安装gcc48

  2. 确保gfortran和gfortran-4.8指向新安装的版本。

  3. FLIBS中评论/Library/Frameworks/R.framework/Resources/etc/Makeconf变量。

  4. 第3步是最重要的步骤,因为它设计用于以@TheBigMike建议的方式安装的gfortran,即通过下载和解压缩存档gfortran-4.8.2-darwin13.tar.bz2

答案 4 :(得分:3)

以下在OSX High Sierra和RStudio 1.1.423上为我工作:

  1. 通过Homebrew安装gcc / gfortran:brew install gcc
  2. 修改/Library/Frameworks/R.framework/Resources/etc/Makeconf并将gfortran-4.8的所有实例替换为gfortran
  3. 同时将FLIBS = -L/usr/local/lib/gcc/x86_64-apple-darwin13.0.0/4.8.2替换为FLIBS = -L/usr/local/lib/gcc/7/ -lgfortran -lquadmath -lm
  4. 重新尝试安装包。

答案 5 :(得分:1)

  1. 通过Homebrew安装gcc / gfortran:brew install gcc
  2. 确保替换它不是自动完成的:/Library/Frameworks/R.framework/Resources/etc/Makeconf并用gfortran替换gfortran-4.8(或任何数字)的所有实例
  3. FLIBS = -L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin15/6.1.0 -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm替换为 FLIBS = -L/usr/local/lib/gcc/7/ -lgfortran -lquadmath -lm
  4. 重新安装robustbase
  5. 所需的fpc

答案 6 :(得分:1)

遇到了同样的问题,并在R cran站点(https://cran.ism.ac.jp/)中找到了一条语句。在最新的OSX(例如High Sierra)中,未包含一些必需的库,必须安装这些库。该页面用

对此进行了解释。
  

重要:此版本使用Clang 6.0.0和GNU Fortran 6.1,两者均未使用   其中由Apple提供。如果您希望从编译R包   来源,则需要下载并安装这些工具-请参阅   tools目录。

我通过应用以下两个软件包here.

解决了该问题(缺少gfortran等)
  1. clang-6.0.0.pkg(OS X 10.11+,带符号,64位) MD5-哈希:c29700c4e7b2914073ef7e741eb105bc (约418Mb)
  2. gfortran-6.1.pkg(OS X 10.11+,带签名,64位) MD5-哈希:201026216e8b373d9cd2efc0cc474bb8 (约73Mb)

答案 7 :(得分:0)

更新版本的RStudio(版本0.98.1091)似乎解决了这个问题。

答案 8 :(得分:0)

确保将R更新到版本> = 4.0(对于以前的版本,这可能会有所帮助:https://cran.ism.ac.jp/bin/macosx/tools/

在以下位置下载并安装GNU fortran编译器:https://mac.r-project.org/tools/

请确保将/ usr / local / gfortran / bin添加到PATH,以便使用此编译器。可以做到这一点,例如由

export PATH=$PATH:/usr/local/gfortran/bin

答案 9 :(得分:0)

This answer

thebigmike 建议:

<块引用>

在终端中输入这两行,直接引用:

curl -O http://r.research.att.com/libs/gfortran-4.8.2-darwin13.tar.bz2
sudo tar fvxj gfortran-4.8.2-darwin13.tar.bz2 -C /

但是

curl -OL http://r.research.att.com/libs/gfortran-4.8.2-darwin13.tar.bz2

为我解决问题!

答案 10 :(得分:-1)

通过homebrew安装gcc会给我gfortran

brew install gcc

然后:

$which gfortran
/usr/local/bin/gfortran