24小时热门版块排行榜    

查看: 2207  |  回复: 3

fdd096030079

新虫 (小有名气)

[交流] vasp安装最后编译阶段出错:undefined reference to 'rdatab_' 等问题的解析 已有3人参与

首先上图,图中圈中部分即为我这个帖子所要解答问题。
vasp安装最后编译阶段出错:undefined reference to 'rdatab_' 等问题的解析
这个错误是在vasp文件都编译(即产生*.o文件)好之后,在链接(将*.o文件合并成可执行文件vasp)阶段出现的问题。这个错误显示有很多文件里没有定义rdatab和wforce这两个名称。
那么这两个名称到底是什么呢?根据我自己编写fortran的经验,这两个名称,要么是一个变量名,要么是一个函数名。结果被我无意间发现,这两个名称是函数名,而且源文件在vasp.5.lib文件夹下的drdatab.F和diolib.F。报错的意思是,其它文件里调用了这两个函数,但是没有找到这个函数的原型,也就是没找到这两个函数的定义。当然无法链接下去了。一检查,发现vasp.5.lib生成的静态库libdym.a文件的大小有问题,太小了,只有8-9kB,对比正常编译的libdym.a文件,起码有140kB。因此问题的根源是vasp.5.lib
下的静态库libdym.a有问题。
因为解决这个问题的过程漫长,各种尝试,也有碰运气的成分,所以不要问我下面为什么要这么改。。。。下面直接给出这个问题的解决方案:
将vasp.5.lib.tar文件直接解压(这里需要重新解压,切记!),得到vasp.5.lib文件夹,在vasp.5.lib目录下,
首先,将makefile.linux_ifc_P4拷贝成Makefile,即:cp makefile.linux_ifc_P4 Makefile
然后,将Makefile的第18行中的gcc改为gfortran
最后,将Makefile的第19行中的ifc改为ifort
然后make一下就OK了。见下图:
vasp安装最后编译阶段出错:undefined reference to 'rdatab_' 等问题的解析-1
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

倔强的坚果墙

铁杆木虫 (正式写手)

送红花一朵
亲测有效!!!

发自小木虫Android客户端
像小强一样活着
2楼2015-10-28 22:33:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wjqhp

木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
2楼: Originally posted by 倔强的坚果墙 at 2015-10-28 22:33:51
亲测有效!!!

亲测,果然libdym.ac从9变成了120K!
QQ:584473782欢迎访问http://leorunfast.wordpress.com
3楼2016-03-07 17:30:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shirun0706

银虫 (初入文坛)

送红花一朵
Great job!!!
4楼2016-04-20 22:13:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 fdd096030079 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见