请选择 进入手机版 | 继续访问电脑版

分子模拟论坛 Molecular Simulation Forums

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 675|回复: 9

Making LAMMPS with MEAM and POEMS packages

[复制链接]

7

主题

57

帖子

125

积分

注册会员

Rank: 2

积分
125
发表于 2008-12-24 16:57:00 | 显示全部楼层 |阅读模式
对于REHL4 编译meam包和POEMS包 安照你的步骤
(1)进入src/STUBS/目录,make
(2)在lammps* / lib/meam/目录下,执行make -f Makefile.gfortran命令
(3)在lammps*/ lib/poems/目录下,执行make命令
(4)修改src/MAKE/Makefile.g++文件(部分如下)
# System-specific settings
CC =g++
CCFLAGS =-g -O -I/home/kw/lammps-6Dec08/ lib/poems -I/usr/local/fftw/include -I/usr/local/mpi/include -DFFT_FFTW -DLAMMPS_GZIP -DMPICH_IGNORE_CXX_SEEK
DEPFLAGS =-M
LINK =g++
LINKFLAGS =-g -O -L/home/kw/lammps-6Dec08/ lib/poems -L/home/kw/lammps-6Dec08/ lib/meam -L /opt/intel/cc/10.1.015/ lib -L/usr/local/fftw/ lib -L/usr/local/mpi/ lib
USRLIB =-lfftw -lmpich -lpoems -lmeam -lgfortan
SYSLIB =-lpthread -lifcore -lsvml -lompstub -limf
ARCHIVE =ar
ARFLAGS =-rc
SIZE =size
(5)make yes-meam和(或)make yes-poems
(6)在src/目录下make g++
结果屏幕在哗哗的闪 喝杯茶 突然报错
:/usr/bin/ld: cannot find -lpoems
collect2: ld returned 1 exit status
make[1]: *** [../lmp_g++] Error 1
make[1]: Leaving directory `/home/kw/lammps/lammps-21May08/src/Obj_g++'
make: *** [g++] Error 2
没有传说中的lmp_g++的可执行文件生成
[ 本帖最后由 xy_zuo 于 2009-2-24 10:55 编辑 ]
回复

使用道具 举报

438

主题

1151

帖子

2746

积分

金牌会员

Rank: 6Rank: 6

积分
2746
发表于 2008-12-24 17:27:00 | 显示全部楼层
看样是路径没设置好,不过我看不出来哪地方有问题

,求高人
有没有生成-lpoems,你查查
回复

使用道具 举报

17

主题

74

帖子

171

积分

注册会员

Rank: 2

积分
171
发表于 2008-12-24 20:47:00 | 显示全部楼层
poems有没实现编译好呢
回复

使用道具 举报

17

主题

74

帖子

171

积分

注册会员

Rank: 2

积分
171
发表于 2008-12-24 20:49:00 | 显示全部楼层
写错了,是事先,不是”实现“
显示的是没找到poems,有没有libpoems.a或者libpoems.la的文件呢
回复

使用道具 举报

50

主题

906

帖子

1868

积分

金牌会员

Rank: 6Rank: 6

积分
1868
发表于 2008-12-24 20:59:00 | 显示全部楼层
meam编译器默认是ifort和icc,而不是gcc,
所以如果你使用gcc编译lammps,
你需要先在meam文件夹中执行:
cp Makefile.gfortran Makefile
对于poems的编译,
请参见我前面的帖子(我发了几天,居然没有人看呐。。。)
回复

使用道具 举报

50

主题

906

帖子

1868

积分

金牌会员

Rank: 6Rank: 6

积分
1868
发表于 2008-12-24 21:26:00 | 显示全部楼层
链接:
http://www.mdbbs.org/thread-8557-1-1.html
回复

使用道具 举报

7

主题

57

帖子

125

积分

注册会员

Rank: 2

积分
125
 楼主| 发表于 2008-12-24 22:08:00 | 显示全部楼层
/home/kw/lammps/lammps-21May08/ lib/poems
中有libpoems.a
Makefile.zxy里什么都不去
报错/usr/bin/ld: cannot find -lpoems
Makefile.zxy里去掉-lpoems
报错/usr/bin/ld: cannot find -lmeam
Makefile.zxy里去掉-lmeam
报错/usr/bin/ld: cannot find -lgfortan
Makefile.zxy里去掉-lgfortan
报错/usr/bin/ld: cannot find -lifcore
Makefile.zxy里去掉-lifcore
报错/usr/bin/ld: cannot find -lsvml
Makefile.zxy里去掉-lsvml
报错/usr/bin/ld: cannot find -lompstub
Makefile.zxy里去掉-lompstub
报错/usr/bin/ld: cannot find -limf
[ 本帖最后由 xy_zuo 于 2008-12-25 09:04 编辑 ]
回复

使用道具 举报

50

主题

906

帖子

1868

积分

金牌会员

Rank: 6Rank: 6

积分
1868
发表于 2008-12-24 22:59:00 | 显示全部楼层
原帖由 xy_zuo 于 2008-12-24 22:08 发表

/home/kw/lammps/lammps-21May08/ lib/poems
中有libpoems.a
那就更简单了。
把[ol]
  • CC =g++
  • CCFLAGS =-g -O -I../../lib/poems -I/usr/local/fftw/include -I/usr/local/mpi/include -DFFT_FFTW -DLAMMPS_GZIP -DMPICH_IGNORE_CXX_SEEK
  • DEPFLAGS =-M
  • LINK =g++
  • LINKFLAGS =-g -O -L/home/kw/lammps-6Dec08/ lib/poems -L/home/kw/lammps-6Dec08/ lib/meam -L /opt/intel/cc/10.1.015/ lib -L/usr/local/fftw/ lib -L/usr/local/mpi/ lib[/ol]复制代码改为:[ol]
  • CC =g++
  • CCFLAGS =-g -O -I../../lib/poems \
  • -I/usr/local/fftw/include -I/usr/local/mpi/include \
  • -DFFT_FFTW
  • -DLAMMPS_GZIP -DMPICH_IGNORE_CXX_SEEK
  • DEPFLAGS =-M
  • LINK =g++
  • LINKFLAGS =-g -O -L../../lib/poems \
  • -L../../lib/meam \
  • -L/opt/intel/cc/10.1.015/ lib \
  • -L/usr/local/fftw/ lib \
  • -L/usr/local/mpi/ lib[/ol]复制代码尽量用相对位置。
    注意你的lib前面好象有一个空格,是否应该删除?
    另外,你用的g++,怎么会又link了icc的库文件呢?(仍然按你的原样写的,没有改这里)
  • 回复

    使用道具 举报

    7

    主题

    57

    帖子

    125

    积分

    注册会员

    Rank: 2

    积分
    125
     楼主| 发表于 2008-12-25 09:28:00 | 显示全部楼层
    请问楼上 去掉-lifcore -lsvml -lompstub -limf
    不加-lgfortran
    报错:
    ../../lib/meam/libmeam.a(meam_setup_done.o)(.text+0x6cd): In function `erose_':
    : undefined reference to `_gfortran_pow_r8_i4'
    ......
    ../../lib/meam/libmeam.a(meam_cleanup.o)(.text+0x2d): In function `meam_cleanup_':
    : undefined reference to `_gfortran_deallocate'
    ../../lib/meam/libmeam.a(meam_cleanup.o)(.text+0x3a): In function `meam_cleanup_':
    : undefined reference to `_gfortran_deallocate'
    ../../lib/meam/libmeam.a(meam_cleanup.o)(.text+0x47): In function `meam_cleanup_':
    : undefined reference to `_gfortran_deallocate'
    ../../lib/meam/libmeam.a(meam_cleanup.o)(.text+0x54): more undefined references to `_gfortran_deallocate' follow
    collect2: ld returned 1 exit status
    make[1]: *** [../lmp_g++] Error 1
    make[1]: Leaving directory `/home/kw/lammps/lammps-21May08/src/Obj_g++'
    make: *** [g++] Error 2
    怀疑应该加上-lgfortran
    结果现在只报错/usr/bin/ld: cannot find -lgfortran 怎么解决?
    我的系统里终端输gfortran -v
    显示:Using built-in specs.
    Target: x86_64-redhat-linux
    Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --with-gxx-include-dir=/usr/include/c++/3.4.3 --enable-libgcj-multifile --enable-languages=c,c++,java,f95 --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=x86_64-redhat-linux
    Thread model: posix
    gcc version 4.1.0 20060515 (Red Hat 4.1.0-18)
    [ 本帖最后由 xy_zuo 于 2008-12-25 10:53 编辑 ]
    回复

    使用道具 举报

    8

    主题

    110

    帖子

    234

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    234
    发表于 2008-12-25 10:38:00 | 显示全部楼层

    通过命令
    locate libgfortran.a
    找到lgfortran的调用路径
    然后将该路径添加到
    LINKFLAGS = -L


    试试吧,一般是不用的,会自己找到。
    [ 本帖最后由 stonyhit 于 2008-12-25 11:16 编辑 ]
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|分子模拟论坛

    GMT+8, 2020-5-31 17:18 , Processed in 0.071644 second(s), 26 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表