前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >M1芯片的MAC是需要安装Xcode command line tools和gfortran的

M1芯片的MAC是需要安装Xcode command line tools和gfortran的

作者头像
生信技能树
发布2021-12-29 07:47:27
3.7K1
发布2021-12-29 07:47:27
举报
文章被收录于专栏:生信技能树生信技能树
下面是11月实习生的随机投稿

还记得在去《生信技能树》实习之前,我刚拿到Imac不到一星期,配置电脑的时候发现一些R包死活装不上去,其中的代表就是edgeR,做差异分析的主流软件之一。

我的macOS版本

到中山以后,问了永和才知道原来M1芯片是需要安装Xcode command line tools和gfortran的,因此在回学校以后第一时间进行了安装,在随后加以配置成功实现了安装。

但是这几天想要装其他包的时候,又显示compilation failed,同时还有找不到gfortran的问题,但是在这期间我没有进行系统升级等操作。我尝试卸载掉edgeR再重新安装,发现装不上了,离了大谱。

代码语言:javascript
复制
make: /opt/R/arm64/bin/gfortran: No such file or directory
make: *** [mvt.o] Error 1
ERROR: compilation failed for package ‘mvtnorm’

于是我又去检查了gfortran,都没有什么问题,反复在终端和R里修改路径也无济于事。

代码语言:javascript
复制
wangzhe@wangzhedeiMac ~ % which gfortran     
/opt/homebrew/bin/gfortran

wangzhe@wangzhedeiMac ~ % cat ~/.r/Makevars 
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/opt/homebrew/opt/gcc/lib/gcc/11

既然R说/opt/R/arm64/bin/gfortran找不到,那我把gfortran移动过去不就找到了?

在检索的时候发现stackoverflow[1]上有个外国网友也遇到了一样的问题(虽然我们的MacOS版本不同),刚好她也是这个思路。

从结果上看,在她移动了gfortran以后仍不能解决问题。最后她的解决办法是deleted everything and started over并且把gfortran目录移动到了R需要的路径,竟解决了问题。

另外,我还找到了思考问题的熊[2]对此问题的思考。

总结下来就是:arm64架构R的坑好多,赶紧换成Intel的x86架构。

在arm64版本下(几乎)所有R包都需要通过编译才能使用。只要涉及到编译,各种不兼容和依赖问题就都来了。这是因为虽然R和Rsutido最新版本都已经支持M1芯片,但是bioconductor还没有支持,这样一来就无法直接安装编译好的R包版本。目前只需要使用Intel 版本的R,就可以避免编译以及随之而来的各种问题。

因此,我重新在R for macOS Developers[3]下载了R,装包问题瞬间都烟消云散,世界又有了颜色。

经此一役,以后我也要秉承“无必要不升级”的法则了。

参考资料参考资料

[1]stackoverflow: https://stackoverflow.com/questions/69639782/installing-gfortran-on-macbook-with-apple-m1-chip-for-use-in-r

[2]思考问题的熊: https://kaopubear.top/blog/2021-07-06-macos-arm64-R-tips/

[3]R for macOS Developers: https://mac.r-project.org/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考资料参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档