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
cd cgnslib_2.5
3.配置
./configure --enable-gcc
4.编译
make
5.安装
sudo make install
cd ..
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'
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
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
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 ..
sudo make install
cd ..
如果没有问题的话就大功告成了。别忘了把这两个编译目录删除。
注:貌似还有一些编译好的可执行程序没有进行安装(如tools目录下的cgnslist等)。不过应该是没什么用的。