CentOS 7上安装PGI 2017编译器
1. 安装PGI编译器
在PGI的官方网站的右上角,有一个社区免费版(Community Edition)的下载链接(GET PGI FOR FREE),根据操作系统选择合适的版本即可。
需要注意的是,在安装前务必对下载文件进行MD5码校验,下载网页上提供了安装包的MD5验证码,校验正确之后再进行安装,Linux系统下可以使用命令。
安装手册也一并提供,位于下载网页下方的“Documentation"--->"PGI Installation Guide“,根据操作系统可以找到详细的安装步骤。
Additional Resources
Installation Guides
安装过程中,需要注意:Any changes to your gcc compilers requires you to reinstall your PGI compilers. 也就是说,GCC编译器一旦有任何修改(包括更新、加载新的依赖等操作),就需要重新安装PGI编译器。
在CentOS7 x64系统上安装完成之后,对程序进行编译测试。
Makefile的全文如下:

1 PROGRAM = main
2 RM = rm -f
3 CC = gcc
4 F77 = pgf90
5 #F77FLAGS = -g
6 F77FLAGS = -g -fast
7
8 SOURCES.f = main.f
10
11
12 SOURCES = ${SOURCES.f}
13 OBJECTS = ${SOURCES.f:%.f=%.o}
14
15
16
17
18
19
20 all: ${PROGRAM}
21
22 ${PROGRAM}: ${SOURCES} ${OBJECTS}
23 ${F77} ${F77FLAGS} -o ${PROGRAM} ${OBJECTS}
24
25 clean:
26 ${RM} ${OBJECTS}

如果此时编译程序 $ make all ,则会报错如下:
f77 -f -o moda.o moda.f
make: f77: Command not found
make: *** [moda.o] Error 127
在终端中查询f77这个命令,确实不存在,而pgf90命令则是存在的:

$ f77 -v
bash: f77: command not found...
$ pgf90 -V pgf90 17.4-0 64-bit target on x86-64 Linux -tp haswell
PGI Compilers and Tools
Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.

2. 更新环境变量
为了使 f77 命令能链接到 PGI 编译器的程序中,需要设置环境变量并更新。这里,为了方便理解,我们用一个名为 FC 的变量来替代 f77,让 FC 指向 pgf90 命令。
首先,编辑环境变量文件
$ vi ~/.bashrc
在文件尾部加上以下PGI相关的环境变量:
# setting for PGI complier, edit by She
export PGI=/opt/pgi/linux86-64/17.4
export MANPATH=$MANPATH:$PGI/man
export LM_LICENSE_FILE=/opt/pgi/license.dat
export PATH=$PATH:$PGI/bin
export FC=$PGI/bin/pgf90
更新环境变量: $ source ~/.bashrc
之后,再次测试编译程序,则上一个错误已经消失。
CentOS 7上安装PGI 2017编译器的更多相关文章
- 在Centos 7上安装配置 Apche Kafka 分布式消息系统集群
Apache Kafka是一种颇受欢迎的分布式消息代理系统,旨在有效地处理大量的实时数据.Kafka集群不仅具有高度可扩展性和容错性,而且与其他消息代理(如ActiveMQ和RabbitMQ)相比,还 ...
- 在CentOS 7上安装.NET Core R2跑Hello World
前言 在上个月.NET Core出了最新版本预览版,只是在Window系统上试验了一下.原本想等发布正式版的时候在linux系统上试试,可能还需要一段时间,刚好有空可以折腾一下. 由于之前安装的Ubu ...
- 如何在 CentOS 7 上安装 Redis 服务器
大家好,本文的主题是 Redis,我们将要在 CentOS 7 上安装它.编译源代码,安装二进制文件,创建.安装文件.在安装了它的组件之后,我们还会配置 redis ,就像配置操作系统参数一样,目标就 ...
- Linux Centos 系统上安装BT客户端 Transmission
Linux Centos 系统上安装BT客户端 Transmission Transmission是一种BitTorrent客户端,特点是一个跨平台的后端和其上的简洁的用户界面,以MIT许可证和G ...
- 在CentOS 7上安装phpMyAdmin
原文 在CentOS 7上安装phpMyAdmin phpMyAdmin是一款以PHP为基础,基于Web的MySQL/MariaDB数据库管理工具.虽然已经存在着一些诸如Adminer的轻量级数据库管 ...
- 在CentOS 6上安装Apache和PHP
本文演示如何在CentOS 6上安装Apache和PHP.CentOS 6自带的是Apache 2.2.3和PHP 5.1.6,您可以使用默认的CentOS包管理器进行安装yum.使用yum(而不是使 ...
- CentOS Linux上安装Oracle11g笔记
CentOS Linux上安装Oracle11g 到 otn.oracle.com 网站上下载 Linux版的oracle 11g 编辑 /etc/sysctl.conf : kernel.shmal ...
- 如何在CentOS 7上安装Munin
在CentOS 7上安装Munin 首先我们需要在我们的系统中添加EPEL仓库. yum install epel-release 步骤2.安装LAMP(Linux,Apache,MariaDB,PH ...
- centos 7 上安装 testlink 1.9.15/1.9.16/1.9.17/1.9.18 (mysql/php/httpd)
1.9.18 的System Requirements - server.注意,适用于 1.9.15 及以后. Server environment should consist of: web-se ...
随机推荐
- c# 将csv文件转换datatable的两种方式。
第一种: public static DataTable csvdatatable(string path) { DataTable dt = new DataTable(); string conn ...
- Node.js基础学习二之POST请求
本篇介绍下 Node.js post 请求 需求: 用户登录,前端界面输入用户名和密码,点击登录请求后台验证,根据后台反馈的信息做出响应 前端: (1)使用form表单 (2)使用ajax异步请求 服 ...
- Vue 组件&组件之间的通信 之 父组件向子组件传值
父组件向子组件传值:父组件通过属性向下传值的方式和子组件通信: 使用步骤: 定义组件:现有自定义组件com-a.com-b,com-a是com-b的父组件: 准备获取数据:com-b要获取父组件dat ...
- 自制操作系统Antz(12)——承上启下
我已经规范了系统代码风格,类似于按照linux分包,把各部分功能区分开了 Antz系统更新地址 Linux内核源码分析地址 Github项目地址 在之前的工作中,AntzOS已经从单调的界面,变得逐渐 ...
- shell脚本中如何插入其它脚本?
答: 示例如下: #!/bin/sh . added.sh #include other script echo "hello"
- 利用 Charles Proxy 下载旧版本 iOS App
一.软件准备 1.旧版本 iTunes1.IPSW Downloads:https://ipsw.me/2.百度网盘链接: https://pan.baidu.com/s/1PO9Z12o-rqZ_J ...
- APIO 2014 回文串(Manacher+后缀自动机+倍增)
题意 https://www.lydsy.com/JudgeOnline/problem.php?id=3676 思路 好像还是回文自动机裸体,但是 \(\text{Manacher}\) +后缀自动 ...
- 【搬运工】redis 启动和关闭
如果是用apt-get或者yum install安装的redis,可以直接通过下面的命令停止/启动/重启redis /etc/init.d/redis-server stop /etc/init.d/ ...
- Gradle 简记
不是 Gradle,就是 Maven吧.对比下: Maven: 推荐(?)了一个默认的项目结构和生命周期,但是太过死板 虽然暴露了 API 接口,但是插件定制太过复杂 和 Ant 一样,仍然无法表达复 ...
- GeoJson
几何对象.特征对象.特征对象集合.