ubuntu下CGNS套件的编译安装。

CGNS(CFD General Notation System)是什么就不废话了,搞CFD编程的应该有所了解

这里给出CGNS lib 和 CGNS Tools的编译安装方法。

(以下方法在ubuntu 9.04上完成。)

Part A 安装CGNS lib

1.下载源代码包

wget http://nchc.dl.sourceforge.net/sourceforge/cgns/cgnslib_2.5-3.tar.gz

2.解压缩

tar cgnslib_2.5-3.tar.gz
cd cgnslib_2.5

3.配置

./configure --enable-gcc

4.编译

make

5.安装

sudo make install
cd ..
注1:前几天惊喜的发现,在ubuntu9.04的源里面居然有cgns lib。如果不需要cgns tools的话可以直接安装源里的cgns lib。从源里安装命令如下
sudo apt-get install libcgns2 libcgns-dev

注2:在第三步配置时需要注意加选项 --enable-gcc。如果没有加,就不能用ifort、gfortran等进行编译时会报错如下:

 

/usr/local/lib/libcgns.a(cgnslib.o): In function `cg_version':
cgnslib.c:(.text+0x7dc): undefined reference to `__xtol'

/usr/local/lib/libcgns.a(cgnslib.o): In function `cg_field_read':
cgnslib.c:(.text+0x38f0): undefined reference to `__xtol'

cgnslib.c:(.text+0x39c4): undefined reference to `__xtol'
/usr/local/lib/libcgns.a(cgnslib.o): In function `cg_conn_read'
:
cgnslib.c:(.text+0x4c05): undefined reference to `__xtol'
cgnslib.c:(.text+0x4c5d): undefined reference to `__xtol'

这个错误折磨了我好几天。

Part B 安装CGNS Tools

由于编译时需要用到Part A中生成的make文件,所以最好接着Part A做。就是在做完Part A之后不要删除 cgnslib_2.5目录

为了编译还需要安装一些文件,命令如下:

sudo apt-get install tk-dev libglu1-mesa-dev  libxmu-dev libgl1-mesa-dev

1.下载源代码包

wget http://nchc.dl.sourceforge.net/sourceforge/cgns/cgnstools-2-5-2.tar.gz

2.解压缩

tar xvzf cgnstools-2-5-2.tar.gz
cd cgnstools

3.配置

./configure --enable-gcc

此处需要对make.defs文件修改。在文件中用下面两行替代上面两行。

TKINCS =
TKLIBS = -ltcl -ltk

TKINCS = -I/usr/include/tk
TKLIBS = -ltcl8.4 -ltk8.4 -lX11 -ldl  -lpthread -lieee -lm

注:应该只改 TKINCS = -I/usr/include/tk 就可以。

4.编译

make all

5.安装

sudo make install all

此处需要注意的是,虽然用的是 install all ,但是cgnsplot还没有安装,因此需要执行以下命令

cd cgnsplot
sudo make install
cd ..

如果没有问题的话就大功告成了。别忘了把这两个编译目录删除。

注:貌似还有一些编译好的可执行程序没有进行安装(如tools目录下的cgnslist等)。不过应该是没什么用的。