歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 安裝 SEPlib 一例

Ubuntu 安裝 SEPlib 一例

日期:2017/2/28 16:40:02   编辑:Linux教程
SEPlib安裝很麻煩,它是太挑了!
我在Ubuntu上安裝的情況:

試了很多編譯器組合(gcc,icc,gfortran,f95,f77,ifort)都不行,改了很多處代碼,還是有問題:
最後選擇:
CC=icc 或CC=mpicc(如果需要MPI支持,mpicc修改為icc)
FC=ifort

可改成功了。

icc,ifort版本:Version 11.1

--with-fftw 和 --with-omp我編譯不過去。

export CC=mpicc
export FC=ifort

./configure --with-prefix=/home/yiling/programdir/seplib653 --with-local --with-mpi --with-su=/home/yiling/programdir/cwp

------------log文件:如下--------------
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by seplib configure 6.5.3, which was
generated by GNU Autoconf 2.59. Invocation command line was

$ ./configure --with-prefix=/home/yiling/programdir/seplib653 --with-local --with-mpi --with-su=/home/yiling/programdir/cwp

## --------- ##
## Platform. ##
## --------- ##

hostname = yilingworkshop
uname -m = i686
uname -r = 2.6.28-17-server
uname -s = Linux
uname -v = #58-Ubuntu SMP Tue Dec 1 19:58:28 UTC 2009

/usr/bin/uname -p = unknown
/bin/uname -X = unknown

/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown

PATH: /opt/intel/Compiler/11.1/064/bin/ia32
PATH: /opt/intel/Compiler/11.1/064/bin/ia32

PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /usr/games
PATH: /opt/matlab2007/bin
PATH: /opt/real/RealPlayer
PATH: /home/yiling/programdir/cwp/bin
PATH: /home/yiling/programdir/mpiuser/mpich2/bin
PATH: /home/yiling/programdir/seplib653/bin
PATH: /home/yiling/programdir/rsf/bin

PATH: .


ifort編譯中有個問題:
編譯這個文件時有問題,
super_chain_mod.f90
啞元類型有問題。經過查看相關函數後
在79行處出現啞元不匹配問題。
即chain20()函數的前兩個參數類型不匹配(確切地說是,它的前兩個參數是函數,這兩個函數的輸入參數定義不嚴謹
(這個問題gfortran是能夠通過的,但是gfortran對seplib好象有編譯順序有問題)

修改
50行左右,即chain20對應的輸入參數的函數定義
logical :: adj, add,adj_new
改變:
logical,intent(in) :: adj, add
logical ::adj_new


其它出錯地方類似修改。
Copyright © Linux教程網 All Rights Reserved