主题:Linux下Lapack如何安装呀?
sanxung
[专家分:20] 发布于 2007-07-13 10:59:00
我的系统是fc6,安装了ifort9,fc6自带的gcc,
安装Lapack怎么配置呀?
我自己倒是安装了,但是我安装的另外一个软件却找不到它的库
所以想看看大家怎么安装Lapack的,是不是我安装的有问题。
回复列表 (共29个回复)
21 楼
anuini [专家分:0] 发布于 2007-08-24 19:24:00
我的程序可能就是用的动态的!
能具体说说怎么才能产生动态的吗?
22 楼
f2003 [专家分:7960] 发布于 2007-08-28 01:58:00
用glibc的命令ldd就能知道程序是否动态连接的。
产生blas动态库要改动两处,一处是make.inc中给编译器加fPIC命令行参数,另一处是在makefile中修改制造库的命令,制造动态库是使用gcc,而制造静态库是ar命令。
23 楼
mywai520 [专家分:0] 发布于 2007-10-10 00:09:00
安装lapack
1) gzip –cd lapack-3.1.1.tgz | tar xf -
2) cd lapack-3.1.1
3) cp make.inc.example make.inc
4) gedit make.inc
. . . . . . . . .
FORTRAN = g77
OPTS = -funroll-all-loops -O3
DRVOPTS = $(OPTS)
NOOPT =
LOADER = g77
LOADOPTS =
. . . . . . . . .
修改成:
. . . . . . . . .
FORTRAN = gfortran
OPTS = -funroll-all-loops -O3
DRVOPTS = $(OPTS)
NOOPT =
LOADER = gfortran
LOADOPTS =
. . . . . . . . .
保存
5) gedit Makefile
如果之前没安装blas:
include make.inc
all: lapack_install lib lapack_testing blas_testing
lib: lapacklib tmglib
#lib: blaslib lapacklib tmglib
clean: cleanlib cleantesting cleanblas_testing
. . . .
修改成:
include make.inc
all: lapack_install lib lapack_testing blas_testing
#lib: lapacklib tmglib
lib: blaslib lapacklib tmglib
clean: cleanlib cleantesting cleanblas_testing
. . . .
保存
6) make
7) 复制blas_LINUX.a lapack_LINUX.a和tmglib_LINUX.a则三个文件到/usr/lib和/usr/local/lib两个文件夹中,并改名为:libblas.a liblapack.a和libtmglib.a
24 楼
f2003 [专家分:7960] 发布于 2007-10-10 00:28:00
我给楼上再补充一句,改成:
OPTS = -funroll-all-loops -O3 -msse2 -mfpmath=sse -ftree-vectorize -g
加上-msse2 -mfpmath=sse -ftree-vectorize让gfortran编译成矢量sse代码而不是x87,速度甚至能提高50%;加上-g便于调试。
如果不是gfortran而是ifort,使用xP选项可达到同样的目的。
25 楼
daisyggg [专家分:0] 发布于 2007-11-08 17:05:00
你们好。我在make时出现如下错误:
/bin/sh: ./testsecond: not found
/bin/sh: ./testdsecnd: not found
/bin/sh: ./testversion: not found
make: *** [lapack_install] 错误 127
哪位高手指导一下,谢谢!
26 楼
f2003 [专家分:7960] 发布于 2007-11-08 20:23:00
make.inc中的timer没有正确指定。
要看你的编译器把etime这个函数处理成intrinsic,还是external。
实在不行选none
27 楼
xiaxueducun [专家分:0] 发布于 2008-12-03 10:24:00
搂主,你用ifort编译成功了么?我make的时候也有问题,你能把你编译成功的三个库文件发给我一份么?谢谢~~
我的邮箱是:jlhjlu@163.com
28 楼
13982995 [专家分:0] 发布于 2009-10-21 09:32:00
我安装好了,但用的时候出现错误了
ld: cannot find -llapack_ifort
make[1]: *** [crack.x] 错误 1
29 楼
keupie [专家分:0] 发布于 2010-03-10 05:56:00
我看了你发的关于安装lapack的帖子,
http://bbs.pfan.cn/post-242326-2.html
我按照这个说明安装了,没有出错报告,我用的系统是debian 5,里面有自带的 gfortran, 然后我编译我的程序,Makefile 是
OBJS = delta_twist.o sort.o x_forces.o friction_forces.o stress.o
#OBJS = delta_twist.o sort.o x_forces_aniso.o friction_forces.o stress.o
COMP = gfortran
FLAG1 = -O3 -llapack -lblas
FLAGS = -O3
#EXE = stress_calculator
EXE = exclude_stress_calculator
$(EXE): delta_twist.o sort.o x_forces.o friction_forces.o stress.o
#$(EXE): delta_twist.o sort.o x_forces_aniso.o friction_forces.o stress.o
$(COMP) $(OBJS) $(FLAG1) -o $@
delta_twist.o: delta_twist.f90
$(COMP) -c $(FLAGS) delta_twist.f90 -o $@
sort.o: sort.f90
$(COMP) -c $(FLAGS) sort.f90 -o $@
x_forces.o: x_forces.f90
$(COMP) -c $(FLAGS) x_forces.f90 -o $@
#x_forces_aniso.o: x_forces_aniso.f90
# $(COMP) -c $(FLAGS) x_forces_aniso.f90 -o $@
friction_forces.o: friction_forces.f90
$(COMP) -c $(FLAGS) friction_forces.f90 -o $@
stress.o: stress.f90
$(COMP) -c $(FLAGS) stress.f90 -o $@
clean:
\rm $(OBJS) $(EXE)
但是编译之后我运行这个可执行程序,每次运行得到的结果都不一样,从小数点第一位开始就有误差。你知道这个可能是什么原因吗?我原来是在另一个机器上用PGI fortran, 同样的code,就没有问题,而且和原来得到的结果也很不一样。
这个makefile我是根据这个帖子改的
http://bbs.pfan.cn/post-313346.html
原来的PGI版本太老了,而且那个机器坏掉了没法重起。所以我不得不在新机器上按gfortran 和lapack.
不胜感激!!期待你的回复。 也可以给我写信到tanniesster@gmail.com
我来回复