Go hokies分享 http://blog.sciencenet.cn/u/cobra22

博文

在Mac上轻松安装gcc,gfortran等编译器及各种开源软件

已有 22768 次阅读 2017-3-17 22:43 |个人分类:科研笔记|系统分类:科研笔记

最近发现多年前发的一个关于macfortran编程的帖子浏览量破万了,为了不再误导大家,在这里介绍一个比之前好一万倍的方法--使用MacPorts


Q: MacPorts是什么?

A: MacPortsMac OS上的第三方软件管理工具,可以帮你轻松编译、安装和管理开源软件,比如常用的gcc gfortran编译器,科学计算库blas,lapack,版本管理工具git等等。


Q: 为什么要用MacPorts

A: 安装或卸载软件只需要输入一行命令就搞定一切。不用去网站上手动下载安装,不用担心系统环境变量设置。当然MacPorts自身也许需要设置一下,但是一劳永逸。


Q: 有其他类似的替代品吗?

A: homebrew,口碑也不错。homebrew的软件包比MacPorts少,两者安装目录也不相同。homebrew用的是/user/local(个人非常不习惯),Macports用的是/opt/local


Q: 如何使用MacPorts?

A: https://www.macports.org/install.php下载并安装

常用的命令如下:

   sudo port install xxx 安装软件

   sudo port uninstall xxx 卸载软件

   sudo port upgrade xxx 更新软件

   port info xxx 查看可安装的软件

   port installed 查看已安装的软件

   sudo port selfupdate 更新MacPorts自己

   port outdated 显示可更新的已安装软件


Q: 我想要gfortran,但是portinfo gfortran* 搜不到,怎么办?

A: sudo port install gcc  gfortran没有单独的软件包,安装gcc之后就自动有了。


Q: 如果安装了多个不同版本的gcc,可以自由切换吗?

A: port select --list gcc 显示已经安装的gcc版本,当前激活的版本有(active)的标注。

   sudoport select --set gcc6 切换为gcc6版本


Q: 安装了gcc 之后,port select 显示新版本已经激活,为什么在terminal里面gcc仍然是Mac自带的旧版本?

A: 这个有点tricky。这是因为系统先从默认的路径(/usr/bin)寻找gcc,然后才是MacPorts的路径(/opt/local/bin)。一种解决方案是编辑/etc/paths文件sudovim /etc/paths)。因为是只读文件,必须用sudo。只要让 /opt/local/bin/usr/bin之前出现,系统以后就会先从MacPorts的路径里寻找命令。另一种方案是使用alias



https://blog.sciencenet.cn/blog-398465-1040093.html

上一篇:Install NVIDIA driver for Fedora 14
收藏 IP: 130.202.2.*| 热度|

1 黄仁勇

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-23 17:17

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部