回 帖 发 新 帖 刷新版面

主题: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 不兼容.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
很着急啊,请大家帮忙支招吧。谢谢了!网友们,期待了!!

回复列表 (共1个回复)

沙发

如果编辑通过,怎么验证我的是正确的呢?我看到网上是
make sssimp
这样就行了。有没有人给我个具体点的过程啊?
强大的网友们,谢谢你们了!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册