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

top*_*epo 44 fortran r

我正在使用OS X开发版的R

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

使用GNU Fortran(GCC)4.2.3(来自Simon的站点)和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
Run Code Online (Sandbox Code Playgroud)

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

谢谢,

马克斯

小智 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 /
Run Code Online (Sandbox Code Playgroud)

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

(我跑2011年末MacPro,小牛队).

  • 为我解决问题(约塞米蒂) (3认同)
  • 是的,这会导致Homebrew出现问题; 这是安装gfortran的一种不优雅的方式,并且会导致与Homebrew的gcc公式发生冲突. (3认同)
  • 这对我来说也很完美.这不是Rstudio问题,因为我从控制台遇到安装包源的错误.干杯 (2认同)

小智 18

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

brew reinstall gcc48 --with-fortran
Run Code Online (Sandbox Code Playgroud)

虽然我认为以下程序可行,但它并不干净.但是,我仍然建议配置〜/ .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
Run Code Online (Sandbox Code Playgroud)

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

rm /tmp/gfortran/usr/local/bin/gfortran
Run Code Online (Sandbox Code Playgroud)

安装gfortran 4.8

cp -r /tmp/gfortran/usr/local/ /usr/local
Run Code Online (Sandbox Code Playgroud)

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

mkdir -p ~/.R
touch ~/.R/Makevars
Run Code Online (Sandbox Code Playgroud)

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

FLIBS=""
F77="gfortran-4.8"
FC="gfortran-4.8"
Run Code Online (Sandbox Code Playgroud)

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

  • 在执行“tar”命令后,我收到“tar:打开存档时出错:无法识别的存档格式”,但我能够通过在curl中使用“-L”标志来解决它:“curl -0L” (2认同)

gra*_*tog 9

我在R Studio上遇到了同样的问题。尽管以下内容对我有用,但是我必须在之后重新安装所有R软件包(注意:重新安装花费了一段时间,并且看起来正在进行很多,不确定这些步骤是否适当,使用风险自负):

下载最新的R Studio版本,然后在终端中进行以下操作: brew install gcc brew update && brew reinstall r brew link --overwrite r