| 查看: 1762 | 回复: 29 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[求助]
linux下安装arpack遇到阻力,求助:lurencyj请关注下,谢谢
|
|||
|
系统: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 不兼容. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 很着急啊,请大家帮忙支招吧。谢谢了!网友们,期待了!! |
» 本帖已获得的红花(最新10朵)
» 猜你喜欢
3,4-二羟基苯乙酮如何纯化?
已经有5人回复
国基评审
已经有10人回复
析晶
已经有5人回复
国自然面上和省基金B类撒花
已经有22人回复
2026-博士申请
已经有4人回复
26级硕士毕业生求博导收留
已经有4人回复
考研调剂
已经有3人回复
急招9月入学博士,要有4级、最晚7月硕士毕业。精密电机驱控课题;学位材料
已经有5人回复
又一批高校组建人工智能学院 师资行吗 不是骗人吗
已经有7人回复
有没有学校收留
已经有3人回复

网上也有人碰到类似问题,他们是这么总结的,帮忙看下用在我的系统里该怎么处理?![]() ![]() ![]() ![]() ![]() ![]() dseupd.f .text+0x1445): undefined reference to `dorm2r_'dseupd.f .text+0x1580): undefined reference to `dorm2r_'dseupd.f .text+0x167d): undefined reference to `dscal_'从错误来看,是没有找到 BLAS 和 LAPACK 的库函数。 我重新修改了 ARmake.inc 处 BLAS 和 LAPACK 的路径,不使用 ARPACK 自带的BLAS 和把相对 路径改成绝对路径 BLASdir = /usr/local/share/BLAS LAPACKdir = /usr/local/share/lapack-3.1.1 给出了 库 的路径 LAPACKLIB = /usr/local/lib/liblapack.a BLASLIB = /usr/local/lib/libblas.a 再次编译了一次 make lib 这一次我编译了 bsbdar1 make bsbdr1 tlu@linux-1482:~/proj/arpack/EXAMPLES/BAND> make dsbdr1 Making dsbdr1.o from dsbdr1.f f77 -O dsbdr1.o dsband.o /usr/local/share/ARPACK/libarpack_LINUX.a /usr/local/lib/liblapack.a /usr/local/lib/libblas.a -o dsbdr1 成功了,原来 dsband.f 是不能单独成为可执行程序的, 他是提供一个骨架, 具体的实现要有类似于 dsbdr1.f 的文件实现。 |

29楼2012-10-12 20:17:26
snoopyzhao
至尊木虫 (职业作家)
- 程序强帖: 16
- 应助: 157 (高中生)
- 贵宾: 0.02
- 金币: 18844.7
- 红花: 29
- 帖子: 3803
- 在线: 1422.4小时
- 虫号: 183750
- 注册: 2006-02-13
- 专业: 污染生态化学
【答案】应助回帖
★ ★ ★ ★ ★
感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2012-10-12 00:42:12
田山东: 金币+4, ★★★★★最佳答案 2012-10-12 16:37:13
感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2012-10-12 00:42:12
田山东: 金币+4, ★★★★★最佳答案 2012-10-12 16:37:13
|
最后一条真胡扯, -ff2c 是个什么东西,难道是 -lf2c?如果没有记错的话, f2c 是将 fortran 77 程序转成 c 之后,调用 gcc 进行编译的一种手法 gfortran 是正宗的 fortran 编译器,兼容 fortran 77,只要参数合适,一般不会有什么问题…… 话说,安装 arpack,你参考 arpack 官方网站上的文档不可以吗?如果是一些比较主流的发行版,这应该有可直接安装的包…… |
2楼2012-10-11 21:54:00

3楼2012-10-11 22:57:06
snoopyzhao
至尊木虫 (职业作家)
- 程序强帖: 16
- 应助: 157 (高中生)
- 贵宾: 0.02
- 金币: 18844.7
- 红花: 29
- 帖子: 3803
- 在线: 1422.4小时
- 虫号: 183750
- 注册: 2006-02-13
- 专业: 污染生态化学
4楼2012-10-12 08:54:16













回复此楼
田山东

.text+0x1445): undefined reference to `dorm2r_'