主题:linux下安装arpack求助
系统:Linux version 2.6.37.1-1.2-desktop (geeko@buildhost) (gcc version 4.5.1 20101208 [gcc-4_5-branch revision 167585] (SUSE Linux) ) #1 SMP PREEMPT
gfortran编辑器,因为我在编辑的时候都是gfortran开头,所以认为是gfortran编辑器。
现在将我的安装过程写下来,请大家帮忙下:
下载arpack96.tar.z,patch.tar.z
解压:tar -zxvf arpack96.tar.z
tar -zxvf patch.tar.z
这两个文件在这个文件夹里:home/tianhongyu/arpack
解压之后产生一个文件夹:ARPACK
ls,找到里面的ARmake.inc,修改里面的参数,
vim ARmake.inc
被修改的参数如下:
home = /home/tianhongyu/arpack/ARPACK
PLAT = LINUX
#下面这条是从网上摘抄的,不知道这么写行不行
BLASdir = /usr/local/share/BLAS
LAPACKdir = /usr/local/share/lapack-3.1.1
UTILdir = $(home)/UTIL
SRCdir = $(home)/SRC
DIRS = $(BLASdir) $(LAPACKdir) $(UTILdir) $(SRCdir)
ARPACKLIB = $(home)/libarpack_$(PLAT).a
LAPACKLIB = /usr/local/lib/liblapack.a
BLASLIB = /usr/local/lib/libblas.a
FC = gfortran
FFLAGS = -O
MAKE =/usr/bin/make
这个文件被我修改的只有这些,网上搜索发现,可能还需要修改:
1.需要安装两个库:
然后安装这个库
linux-1482:/usr/local/share/ARPACK # cd /usr/local/lib
linux-1482:/usr/local/lib # ln -s /usr/local/share/ARPACK/libarpack_LINUX.a ./libarpack.a
目前为止我有没有安装这个库?怎么安装呢?
2.有人给出7条弯路,我为了避免这些弯路,该怎么做呢?
编译Arpack所做过的蠢事
1. 没有将UTIL目录下second.f 中的ETIME变量的属性修改为INTRINSIC;
2. 没有将根目录下的Armake.in中make的路径修改为/usr/bin/make;
3. 没有将根目录下的Armake.in中PLAT修改为本地系统名;
4. 没有将根目录下的Armake.in中FC修改为本地的fortran编译器命令;
5. 运行make lib后, 测试EXAMPLE/SIMPLE/sssimp.f
使用了: f77 -L/data/home/XXX/ARPACK/ -larpack_linux -o ss sssimp.f
而没有使用: f77 -o ss sssimp.f -L/data/home/XXX/ARPACK/ -larpack_linux
NOTE: sssimp.f文件中的include 'debug.h'最好注释掉,如果你不想拷贝一个debug.h到EXAMPLE/SIMPLE/下的话.
6. 在ARmake.in里面的FC编译器和以后编译程序的编译器不一致.
7. 使用gfortran编译器时,没有添加选项: -ff2c; 导致生成的库和fortran 77 不兼容.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
很着急啊,请大家帮忙支招吧。谢谢了!网友们,期待了!!