24小时热门版块排行榜    

查看: 2520  |  回复: 13
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

mymarik

铁杆木虫 (小有名气)

[求助] 安装lammps的时候 出现fftw3d相关的一些提示  能帮我看看是什么问题吗 已有2人参与

我在想是不是 要去除某个 package


fft3d.o:在函数‘fft_3d’中:
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:151:对‘fftwf_execute_dft’未定义的引用
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:214:对‘fftwf_execute_dft’未定义的引用
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:277:对‘fftwf_execute_dft’未定义的引用
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:151:对‘fftwf_execute_dft’未定义的引用
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:214:对‘fftwf_execute_dft’未定义的引用
fft3d.o:/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:277: 跟着更多未定义的参考到 fftwf_execute_dft
fft3d.o:在函数‘fft_3d_create_plan’中:
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:852:对‘fftwf_plan_many_dft’未定义的引用
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:857:对‘fftwf_plan_many_dft’未定义的引用
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:862:对‘fftwf_plan_many_dft’未定义的引用
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:867:对‘fftwf_plan_many_dft’未定义的引用
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:872:对‘fftwf_plan_many_dft’未定义的引用
fft3d.o:/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:877: 跟着更多未定义的参考到 fftwf_plan_many_dft
fft3d.o:在函数‘fft_3d_destroy_plan’中:
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:987:对‘fftwf_destroy_plan’未定义的引用
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:988:对‘fftwf_destroy_plan’未定义的引用
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:989:对‘fftwf_destroy_plan’未定义的引用
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:990:对‘fftwf_destroy_plan’未定义的引用
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:991:对‘fftwf_destroy_plan’未定义的引用
fft3d.o:/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:992: 跟着更多未定义的参考到 fftwf_destroy_plan
fft3d.o:在函数‘fft_1d_only’中:
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:1218:对‘fftwf_execute_dft’未定义的引用
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:1223:对‘fftwf_execute_dft’未定义的引用
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:1228:对‘fftwf_execute_dft’未定义的引用
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:1218:对‘fftwf_execute_dft’未定义的引用
/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:1223:对‘fftwf_execute_dft’未定义的引用
fft3d.o:/home/tree/Software/lammps/src/Obj_mpi/../fft3d.cpp:1228: 跟着更多未定义的参考到 fftwf_execute_dft
collect2: error: ld returned 1 exit status
Makefile:91: recipe for target '../lmp_mpi' failed
make[1]: *** [../lmp_mpi] Error 1
make[1]: Leaving directory '/home/tree/Software/lammps/src/Obj_mpi'
Makefile:129: recipe for target 'mpi' failed
make: *** [mpi] Error 2
回复此楼

» 猜你喜欢

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

alundilong

木虫 (正式写手)

引用回帖:
10楼: Originally posted by mymarik at 2016-04-01 06:50:51
我装了一下 2.1.5的版本 还是这样的问题  
下面这个地方是这样修改吗?
FFT_INC =            -DFFT_FFTW -DFFT_SINGLE -I/usr/local/include
FFT_PATH =      -L/usr/local/lib
FFT_LIB =        -lfftw

还有 我需要 ...

为了排除是否是fftw的问题,你可以改成:
FFT_INC =            -DFFT_NONE
FFT_PATH =      
FFT_LIB =
12楼2016-04-02 00:54:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 14 个回答

alundilong

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
mymarik: 金币+20, 有帮助, 谢谢你的耐心回复  很感谢 2016-04-01 21:04:36
应该是f f t w3的库文件路径不对吧?
贴出Makefile看看吧。
2楼2016-03-31 21:31:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mymarik

铁杆木虫 (小有名气)

引用回帖:
2楼: Originally posted by alundilong at 2016-03-31 21:31:18
应该是f f t w3的库文件路径不对吧?
贴出Makefile看看吧。

如果不安装多余的package(即用系统默认的package) 可以成功编译  而且能跑一部分例子

# mpi = default MPI compiler, default MPI

SHELL = /bin/sh

# ---------------------------------------------------------------------
# compiler/linker settings
# specify flags and libraries needed for your compiler

CC =                g++ #mpicxx
CCFLAGS =        -g -O3  -DLAMMPS_MEMALIGN=64
SHFLAGS =        -fPIC
DEPFLAGS =        -M

LINK =                g++ #mpicxx
LINKFLAGS =        -g -O
LIB =
SIZE =                size

ARCHIVE =        ar
ARFLAGS =        -rc
SHLIBFLAGS =        -shared

# ---------------------------------------------------------------------
# LAMMPS-specific settings, all OPTIONAL
# specify settings for LAMMPS features you will use
# if you change any -D setting, do full re-compile after "make clean"

# LAMMPS ifdef settings
# see possible settings in Section 2.2 (step 4) of manual

LMP_INC =        -DLAMMPS_GZIP

# MPI library
# see discussion in Section 2.2 (step 5) of manual
# MPI wrapper compiler/linker can provide this info
# can point to dummy MPI library in src/STUBS as in Makefile.serial
# use -D MPICH and OMPI settings in INC to avoid C++ lib conflicts
# INC = path for mpi.h, MPI compiler settings
# PATH = path for MPI library
# LIB = name of MPI library

MPI_INC =       -DMPICH_SKIP_MPICXX -I/home/tree/Software/mpich/src/include
MPI_PATH =      -L/usr/local/lib
MPI_LIB =        -lmpich -lmpl -lpthread

# FFT library
# see discussion in Section 2.2 (step 6) of manual
# can be left blank to use provided KISS FFT library
# INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings
# PATH = path for FFT library
# LIB = name of FFT library

FFT_INC =            -DFFT_FFTW3 -DFFT_SINGLE -I/home/tree/Software/fftw/kernel
FFT_PATH =      -L/usr/local/lib
FFT_LIB =        -lfftw3

# JPEG and/or PNG library
# see discussion in Section 2.2 (step 7) of manual
# only needed if -DLAMMPS_JPEG or -DLAMMPS_PNG listed with LMP_INC
# INC = path(s) for jpeglib.h and/or png.h
# PATH = path(s) for JPEG library and/or PNG library
# LIB = name(s) of JPEG library and/or PNG library

JPG_INC =      -I/home/tree/Software/jpeg
JPG_PATH =         -L/usr/local/lib
JPG_LIB =        /usr/local/lib/libjpeg.a



# ---------------------------------------------------------------------
# build rules and dependencies
# do not edit this section

include        Makefile.package.settings
include        Makefile.package

EXTRA_INC = $(LMP_INC) $(PKG_INC) $(MPI_INC) $(FFT_INC) $(JPG_INC) $(PKG_SYSINC)
EXTRA_PATH = $(PKG_PATH) $(MPI_PATH) $(FFT_PATH) $(JPG_PATH) $(PKG_SYSPATH)
EXTRA_LIB = $(PKG_LIB) $(MPI_LIB) $(FFT_LIB) $(JPG_LIB) $(PKG_SYSLIB)
EXTRA_CPP_DEPENDS = $(PKG_CPP_DEPENDS)
EXTRA_LINK_DEPENDS = $(PKG_LINK_DEPENDS)

# Path to src files

vpath %.cpp ..
vpath %.h ..

# Link target

$(EXE):        $(OBJ) $(EXTRA_LINK_DEPENDS)
        $(LINK) $(LINKFLAGS) $(EXTRA_PATH) $(OBJ) $(EXTRA_LIB) $(LIB) -o $(EXE)
        $(SIZE) $(EXE)

# Library targets

lib:        $(OBJ) $(EXTRA_LINK_DEPENDS)
        $(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ)

shlib:        $(OBJ) $(EXTRA_LINK_DEPENDS)
        $(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) $(EXTRA_PATH) -o $(EXE) \
        $(OBJ) $(EXTRA_LIB) $(LIB)

# Compilation rules

%.o:%.cpp $(EXTRA_CPP_DEPENDS)
        $(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $<

%.d:%.cpp $(EXTRA_CPP_DEPENDS)
        $(CC) $(CCFLAGS) $(EXTRA_INC) $(DEPFLAGS) $< > $@

%.o:%.cu $(EXTRA_CPP_DEPENDS)
        $(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $<

# Individual dependencies

DEPENDS = $(OBJ:.o=.d)
sinclude $(DEPENDS)
3楼2016-03-31 21:41:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

alundilong

木虫 (正式写手)

【答案】应助回帖

FFT_INC =            -DFFT_FFTW3 -DFFT_SINGLE -I/home/tree/Software/fftw/kernel
FFT_PATH =      -L/usr/local/lib
FFT_LIB =        -lfftw3
看到这里,我有如下推测,不知准不准确:楼主的fftw是自己进行编译,并且设置configure的时候 使用了./configure --prefix=/home/tree/Software/fftw。如果我的想法是成立的话,我建议楼主将FFT_PATH改成FFT_PATH=-L/home/tree/Software/fftw/lib, 将FFT_INC改成 FFT_INC =            -DFFT_FFTW3 -DFFT_SINGLE -I/home/tree/Software/fftw/include
其他不变。

如果以上推测成立,即楼主自行编译安装了mpich,并且使用了--prefix=/home/tree/Software/mpich/
建议楼主做相应修改,即MPI_INC = -DMPICH_SKIP_MPICXX -I/home/tree/Software/mpich/include
和MPI_PATH =      -L/home/tree/Software/mpich/lib

MPI_INC =       -DMPICH_SKIP_MPICXX -I/home/tree/Software/mpich/src/include
MPI_PATH =      -L/usr/local/lib
MPI_LIB =        -lmpich -lmpl -lpthread

对于JPG,建议也做如上相应的修改。
JPG_INC =      -I/home/tree/Software/jpeg
JPG_PATH =         -L/usr/local/lib
JPG_LIB =        /usr/local/lib/libjpeg.a
4楼2016-04-01 01:31:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见