Bo Zhang's Homepage
..The universe is unfolding as it should..

2007-2-10

[转载] PGPLOT安装之Fedora Core 5篇

归档于: 天文空间科学, 天文软件 @ 8:45 pm

同好mizar所作的PGPLOT安装配置说明,适用于Fedora Core 5 Linux系统。PGPLOT是加州理工学院开发的Fortran语言绘图包,可在F77、F90、C及C++等编程环境下使用,广泛用于天文计算,不过也是个不大好对付的东西。本文介绍的是PGPLOT在Fedora Core 5下的配置方法,如在安装使用中出现其他问题,可参考官方安装手册FAQ


前日应导师要求安装PGPLOT包,本来以为可以轻松搞定,未曾料想后来颇费周折。(主要原因是,FC5系统实在是……呃……妙不可言……)最后在历时五天,骚扰n名高手,阅读n份说明文件和安装指导,险些重装系统之后终于修成正果。(衷心感谢被我“骚扰”过的高手们)

具体安装过程如下:

 

1、下载安装包:

地址:ftp://ftp.astro.caltech.edu/pub/pgplot/pgplot5.2.tar.gz

2、解压安装包:

把下载的pgplot5.2.tar.gz压缩包拷到/usr/local,打开终端,以root登陆并进入该文件夹。

cd /usr/local

解压:

gunzip -c pgplot5.2.tar.gz | tar xvof -

之后将自动生成/usr/local/pgplot 文件夹。

3、修改drivers.list文件:

选择需要安装的驱动程序。重要的一步!我在这个上面花了不少时间,这个驱动如果选择不当的话并不会马上发现,而且演示程序也运行正常,只有编译其他for程序之后运行才能发现。我在参考了两份方案之后取了并集,应该可以应付Linux下的一般应用。

cd pgplot
vi drivers.list

文件内有许多形如

! BCDRIV 0 /BCANON Canon Laser printer (bitmap version), landscape

的内容,选择的方法是将该行前的“!”去掉,此处选择如下内容:

 GIDRIV 1 /GIF       GIF-format file, landscape
 GIDRIV 2 /VGIF      GIF-format file, portrait
 NUDRIV 0 /NULL      Null device (no output)			Std F77
 PSDRIV 1 /PS        PostScript printers, monochrome, landscape	Std F77
 PSDRIV 2 /VPS       Postscript printers, monochrome, portrait		Std F77
 PSDRIV 3 /CPS       PostScript printers, color, landscape		Std F77
 PSDRIV 4 /VCPS      PostScript printers, color, portrait		Std F77
 TTDRIV 5 /XTERM     XTERM Tektronix terminal emulator			Std F77
 TTDRIV 9 /TK4100    Tektronix 4100-series terminals			Std F77
 WDDRIV 1 /WD        X Window dump file, landscape
 WDDRIV 2 /VWD       X Window dump file, portrait
 XWDRIV 1 /XWINDOW   Workstations running X Window System		C
 XWDRIV 2 /XSERVE    Persistent window on X Window System		C

4、修改编译配置文件g77_gcc.conf:

这个步骤是FC5下安装PGPLOT特有的,至少FC系列的FC4不需要进行这一步。PGPLOT需要与X-Window显示系统X11R6挂钩,相关配置位于pgplot/sys_linux文件夹里的配置文件g77_gcc.conf。而我所说的fc5系统的美妙之处就是,与以前的版本相比,它的显示驱动X11R6居然换了存放的位置……假如不改的话,后果自己设想……

cd sys_linux
vi g77_gcc.conf

文件里的项目形如:

# Optional: Needed by XWDRIV (/xwindow and /xserve) and
# X2DRIV (/xdisp and /figdisp).
# The arguments needed by the C compiler to locate X-window include files.
 
XINCL=”-I/usr/X11R6/include”

其中标有#的是注释行,而下面的****=”********”是配置行。

要修改的地方有两处,首先是第一个项目,也就是上方列出作为例子的一项,将配置行改为:

XINCL=”-I/usr/include”

第二个要修改的地方是:

# Mandatory.
# The library-specification flags to use when linking normal pgplot
# demo programs.
 
LIBS=”-L/usr/X11R6/lib -lX11″

将配置行改为:

LIBS=”-L/usr/lib -lX11″

以上修改的目标位置仅适用于FC5(FC5没有原本指向的两个文件夹),如果是其他系统的话不能保证正确性。不过可以说明自己找位置的方法。第一个修改的地方,最后指向的文件夹内需要包含文件夹X11,而且X11内包含文件夹bitmaps,bitmaps内含有一系列名为xm_****的文件(xm_error、xm_hour16等等)。第二个修改处原本指向的文件夹(/usr/X11R6/lib)在FC4中包含一堆库文件,诸如libX11.so.6、libXfont.so.1、libXm.so.3之类。在FC5中,我在修改后所指向的文件夹(/usr/lib)中发现了其中的一部分。虽然不全但是这已经是在FC5下能做到的极限了,缺少的库文件也并不能在别的文件夹中找到。不过个人估计PGPLOT也不必用到原文件夹中的所有库函数,至少最后运行程序正常,假如因为这个而出现其他问题的话就只好想其他办法了,也许需要做链接或者重装X11R6库?(当初发现原本指向的两个文件夹不存在的时候,我以为系统里没有这个库所以需要自己安装,当然后来才知道这个库不可能是没装。不过网上貌似也真的有这个包,是安装包还是升级包我就不清楚了。)

5、编译文件:

这一步十分简单,只需运行以下命令:

cd /usr/local/pgplot
./makemake . linux g77_gcc
make
make clean
make cpg

其中执行./makemake . linux g77_gcc后会出现若干行输出,执行make后会出现大量输出,make cpg后也会有不少输出,这些步骤一般不至于出问题。

6、进行必要的设置:

这里面就有点“胡搞”的性质了,因为我也不清楚究竟以下设置究竟哪一些是必要的……不过一般认为……呃……纵然设置多了有不至于造成不良影响……

运行以下命令(一般用的都是bash吧):

PGPLOT_DIR=”/usr/local/pgplot/”; export PGPLOT_DIR
/bin/csh
setenv PGPLOT_DIR /usr/local/pgplot/
cd /root(进入用户的主目录,具体的自己改)
vi .bashrc

在文件中加入以下两行:

export PGPLOT_DIR=/usr/local/pgplot
export PGPLOT_FONT=/usr/local/pgplot/grfont.dat

需要使用其他用户来编译for程序的话在其他用户的主目录里的.bashrc中加入以上两行即可。之后愿意的话可以回到/usr/local/pgplot里运行演示程序。

./demo1(或把1换成2,3,4……)

于是大功告成,呵……不过此时不要急于编译其他for程序进行测试,要注销用户后重新登陆才可以,本人是吃过这个亏的……

 

PS:大家会发现我把安装程序全都留在了/usr/local/pgplot里面,反正也占不了多少空间,而且附带好处是,如果哪天被谁“骚扰”的话可以直接把list或者conf拷走,呵……当然安装结束之后把里面显然没用的sys_***文件夹和演示程序啥的删掉肯定没什么问题……其他的,请自行处理吧……

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

首页 | 天文 | 科学 | 摄影 | 模型 | CV | 版权声明 | 联系站长
京ICP备05002854号-2 Powered by WordPress Version 2.0.6
Licensed under Creative Commons Licenses

porno izle