(本安装适用于习惯使用Fortran或偶尔使用Fortran计算并绘图的用户,对于从未使用过Fortran或不屑于使用Fortran而主要使用Python、IDL、C、Matlab等语言的可以无视)
一、PGPLOT安装
1、首先在https://www.astro.caltech.edu/~tjp/pgplot/网站下载pgplot5.2.tar.gz安装包,显然
,该安装包从2000年以后未再更新;
2、(以下均为sudo模式)选择你一个你喜欢的目录存放此安装包,比如此处选择:/usr/local/src
;
% cd /usr/local/src
3、将下载的安装包拷贝或移动到此目录下;
% mv ~/Downloads/pgplot5.2.tar.gz .
4、解压缩此安装包,会看到生成包含诸多文件的pgplot文件夹;
% tar zxvf pgplot5.2.tar.gz
5、在另一个目录下重新创建一个pgplot文件夹,比如此处的/usr/local/下,用于安装文件;
% mkdir /usr/local/pgplot
6、进入此pgplot目录(注意:以下安装均在此目录下进行!)
% cd /usr/local/pgplot
7、将那个解压缩生成的pgplot文件夹中的drivers.list拷到此安装目录下
% cp /usr/local/src/pgplot/drivers.list .
8、编辑这个drivers.list文件,去掉该行最前面的“!”意味着打开该图像设备,比如这里打开:/PS,
/VPS, /CPS, /VCPS, /XWINDOW, /XTERM和 /XSERVE,也就是去掉这几行前面的“!”;
9、在/usr/local/pgplot这个安装目录下执行如下命令,生成makefile文件;
% /usr/local/src/pgplot/makemake /usr/local/src/pgplot
linux g77_gcc_aout (此处g77不作改动,下面再编辑修改makefile文件)
10、编辑并修改makefile文件中如下内容:
(1)将FCOMPL=g77改为FCOMPL=gfortran,因为现在的编译器不再是g77,而是gfortran
(2)将FFLAGD=-fno-backslash 改为:FFLAGD=-fno-backslash
-fPIC
(3)将FFLAGC=-Wall -O 改为:FFLAGC=-Wall -O -fPIC
(4)将CFLAGC=-DPG_PPU -O2 -I. 改为:CFLAGC=-DPG_PPU
-O2 -I. -fPIC
对于(2)、(3)、(4)来说,也就是后面都加上-fPIC
(5)修改makefile中X11的位置,这一点非常重要,请详细看看下面的说明后再执行第11步的make命令
11、编译源文件:
% make
12、编译cpg(c语言下运行的pgplot):
% make cpg
13、删除此过程中生成的不必要的文件:
% make clean
==================================================================
在执行make编译之前的重要说明:makefile中X11的位置!
X11R6中有很多类型的库文件,如果很死板地按照网上提示的/usr/X11R6/lib目录,就可能找不到可以使用的X11位置,出现不兼容的提示,所以这一步很重要。比如下面在执行make时,其中对pgdemo1.f到pgdemo17.f的编译:
gfortran -fno-backslash -fPIC -o pgdemo1 /usr/local/src/pgplot/examples/pgdemo1.f
-L`pwd` -lpgplot -L/usr/X11R6 -lX11 `/usr/local/src/pgplot/cpg/libgcc_path.sh`
-lgcc -lm -lc
………………
gfortran -fno-backslash -fPIC -o pgdemo17 /usr/local/src/pgplot/examples/pgdemo17.f
-L`pwd` -lpgplot -L/usr/X11R6 -lX11 `/usr/local/src/pgplot/cpg/libgcc_path.sh`
-lgcc -lm -lc
从这里可以看出编译是通过的。
同样在编译make cpg时会看到有如下提示:
gcc -O2 -c -I. /usr/local/src/pgplot/cpg/cpgdemo.c
gfortran -o cpgdemo cpgdemo.o -L`pwd` -lcpgplot
-lpgplot -L/usr/X11R6 -lX11 `/usr/local/src/pgplot/cpg/libgcc_path.sh`
-lgcc -lm -lc
rm -f cpgdemo.o
说明make cpg编译也是通过的。
上面的编译之所以成功,是因为上面的X11编译软连接是在/usr/X11R6目录下,而不是在/usr/X11R6/lib目录下,所以,如果仅在X11R6/lib目录下没找到需要的X11文件,就会出现不兼容的提示,所以要放开范围,让程序在/usr/X11R6这个大目录下找,因此
书写路径时需要去掉该目录下面的lib(以下同)。
==================================================================
14、设置环境变量:
% vi .bashrc
在文件中加上:
PATH=/usr/local/pgplot/bin:$PATH
PGPLOT_DIR=/usr/local/pgplot/;export PGPLOT_DIR
LD_LIBRARY_PATH=/usr/local/pgplot/;export
LD_LIBRARY
PGPLOT_FONT=/usr/local/pgplot/grfont.dat ;export
PGPLOT_FONT
PGPLOT_DEV=/xwin;export PGPLOT_DEV
PGPLOT_LIB="-L /usr/X11R6/lib -lX11 -L /usr/local/pgplot/
-lpgplot";export PGPLOT_LIB(如果这一行不修改则可能找不到X11)
由于上面的X11编译软连接是在X11R6下,所以也应该去掉该目录下面的lib,修改如下:
PGPLOT_LIB="-L /usr/X11R6 -lX11 -L /usr/local/pgplot/
-lpgplot";export PGPLOT_LIB
修改好之后刷新.bashrc :
% source .bashrc
到这里,pgplot的安装就结束了。
二、测试安装情况并编译
下面测试安装情况,看看还有哪些需要调整。
1、执行/usr/local/pgplot/目录下的demo文件试试,在/usr/local/pgplot/目录下,有:
% /usr/local/pgplot/pgdemo1
% /usr/local/pgplot/pgdemo2
% /usr/local/pgplot/pgdemo3
...
% /usr/local/pgplot/pgdemo17
以及cpgdemo,
执行方法是(以pgdemo1为例):
% pgdemo1
如果出现“未发现此命令”的提示,就改为:
% ./pgdemo1
注意:此时需要打开Xming ——
Windows系统下的X系统图形显示软件,否则不可能显示出图形,详见下面的“五”。
2、对于自己写的pgplot画图程序inputFotranFile.f,采用如下方式即可运行:
% gfortran -o outputFileName inputFotranFile.f
-L/usr/local/pgplot -L/usr/X11R6/lib -lpgplot
-lX11
如果出现X11不兼容的提示,就说明这里需要根据X11位置灵活调整,比如这里就需要改为:
% gfortran -o outputFileName inputFotranFile.f
-L/usr/local/pgplot -L/usr/X11R6 -lpgplot -lX11
然后运行可执行文件outputFileName即可:
% ./outputFileName
3、如何去掉可执行前面的./而直接输入outputFileName后回车即可编译呢?
方法是:在.bashrc中加上 export PATH=/usr/local/bin:./:$PATH
4、解决Fortran代码因某些行写得太长(超过132个字符)而编译出错(但语法是正确的)的问题:
编译时加上-ffixed-line-length-none或-ffixed-line-length-0或-ffixed-line-length-132
gfortran -ffixed-line-length-none -o outputFileName
inputFotranFile.f
其中none 可以改成 0,两者是等价的:
gfortran -ffixed-line-length-0 -o outputFileName
inputFotranFile.f
5、解决避免反斜杠编写带来编译程序时的错误,可以加上-fno-backslash,否则可能需要类似这样的定义:
CHARACTER BACKSL
PARAMETER (BACKSL = '\\')
综上所述:
1、可以在.bashrc中加上:
alias ff="gfortran -o outputFileName
inputFotranFile.f -ffixed-line-length-none -fno-backslash
-L/usr/local/pgplot -L/usr/X11R6 -lpgplot
-lX11"
编译方法为:
% outputFileName
2、或者在.bashrc中加上别名ff,编译后生成a.out:
alias ff="gfortran -ffixed-line-length-none -fno-backslash
$1 -o a.out -L/usr/local/pgplot -L/usr/X11R6 -lpgplot
-lX11"
编译方法为:
% a.out
3、或者在/usr/local/bin中编辑一个可执行文件ff,文件内容为:
gfortran -ffixed-line-length-none -fno-backslash
$1 -o a.out -L/usr/local/pgplot -L/usr/X11R6 -lpgplot
-lX11
编译方法为:
% ff inputFotranFile.f
% a.out
三、数学计算库的编译和添加
另外,在Fortran计算中还会用到大量的数学计算库,假如大量的子程序*.for文件放在目录/home/astro/math/下,
生成Fortran程序编译所需要的libmath.a库文件可以用如下步骤进行编译:
1、使用 -c 选项编译每一个库源文件,生成相应的*.o 文件;
% gfortran -c /home/astro/math/*.for
2、使用 ar 创建静态库 libmath.a;
% ar cr libmath.a *.o
(ar命令详解:https://www.runoob.com/linux/linux-comm-ar.html)
3、删除没有用处的*.o文件
% rm -f *.o
则.bashrc中的ff加上libmath.a路径,修改为:
alias ff="gfortran -ffixed-line-length-none -fno-backslash
$1 -o a.out -L/usr/local/pgplot -L/usr/X11R6 -lpgplot
-lX11 /home/astro/math/libmath.a"
或者在/usr/local/bin中将可执行文件“ff”后面加上libmath.a路径,修改为:
gfortran -ffixed-line-length-none -fno-backslash
$1 -o a.out -L/usr/local/pgplot -L/usr/X11R6 -lpgplot
-lX11 /home/astro/math/libmath.a
参考网址:
https://docs.oracle.com/cd/E19205-01/820-1204/aeudl/index.html
https://blog.csdn.net/herorenme/article/details/22941415?utm_source=blogxgwz3
https://www.cnblogs.com/zzdbullet/p/10150323.html
四、X11的安装
X11各种版本(当前最新的是X11.R7.7)下载地址:
https://www.x.org/wiki/ --->
https://www.x.org/wiki/Releases/Download/
--->
http://mirror.csclub.uwaterloo.ca/x.org/
下载之后,可以直接放在/usr/目录下,解压缩即可。
Ubuntu系统,也可以在终端里输入: apt-get install libX11-dev
libXext-dev libXtst-dev libXrender-dev libxmu-dev
libxmuu-dev
五、Win10系统下使用Linux系统及Xming图形显示
Win10系统的微软商店(Microsoft.WindowsStore)有Linux系统的Ubuntu版本,可以不需要使用虚拟机安装Linux系统而直接在Windows平台下使用Linux系统,使习惯Windows的用户倍感便利。但是要实现跨操作系统的图像显示,就需要在本地
Windows 系统上启动一个 X window
服务,以实现将本机(远程)输入命令启动的程序界面显示在本地的Windows桌面上。Xming就是一个在Windows操作系统上运行X
Window
System的软件。Xming的主要功能是通过在Linux平台上通过交叉编译的方法,实现跨越操作系统对X系统图形用户界面(X
Graphical User Interface, X GUI)的表现。
1、Xming X Server for Windows下载地址:
https://sourceforge.net/projects/xming/
https://xming.softonic.cn/
本站下载Xming-6-9-0-31-setup.exe和Xming-fonts-7-7-0-10-setup.exe
2、设置(该设置适用于所有在Windows平台显示X GUI,如Python、IDL、C等等):
在.bashrc中加上
# XMing display
export DISPLAY=:0.0
Xming与Putty一起实现Linux X11在本地显示的方法如下:
putty上设置:Connection --> SSH --> X11 --> Enable
X11 forwarding
可以参考:http://www.uuc.me/1211.html
|