Dear Mr.Pablo,
I just found a Makefile.ubuntu on the internet which seems to work. However when I tried to use it, another error message emerged (
root@…1531…:~/Lammps/src# make ubuntu
make[1]: Entering directory /home/gw/Lammps/src/Obj_ubuntu' mpic++ -g -O -DLAMMPS_GZIP -DLAMMPS_JPEG -DLAMMPS_PNG -DLAMMPS_FFMPEG -DFFT_FFTW3 -c ../fft3d.cpp In file included from ../fft3d.cpp:25:0: ../fft3d.h:217:19: fatal error: fftw3.h: No such file or directory compilation terminated. make[1]: *** [fft3d.o] Error 1 make[1]: Leaving directory
/home/gw/Lammps/src/Obj_ubuntu’
make: *** [ubuntu] Error 2
), still working on that.
The Makefile.ubuntu is like this:
ubuntu = Ubuntu Linux box, g++, openmpi, FFTW3
SHELL = /bin/sh
---------------------------------------------------------------------
compiler/linker settings
specify flags and libraries needed for your compiler
CC = mpic++
CCFLAGS = -g -O # -Wunused
SHFLAGS = -fPIC
DEPFLAGS = -M
LINK = mpic++
LINKFLAGS = -g -O
LIB =
SIZE = size
ARCHIVE = ar
ARFLAGS = -rc
SHLIBFLAGS = -shared
---------------------------------------------------------------------
LAMMPS-specific settings
specify settings for LAMMPS features you will use
if you change any -D setting, do full re-compile after “make clean”
LAMMPS ifdef settings, OPTIONAL
see possible settings in doc/Section_start.html#2_2 (step 4)
LMP_INC = -DLAMMPS_GZIP -DLAMMPS_JPEG -DLAMMPS_PNG -DLAMMPS_FFMPEG
MPI library, REQUIRED
see discussion in doc/Section_start.html#2_2 (step 5)
can point to dummy MPI library in src/STUBS as in Makefile.serial
INC = path for mpi.h, MPI compiler settings
PATH = path for MPI library
LIB = name of MPI library
MPI_INC =
MPI_PATH =
MPI_LIB =
FFT library, OPTIONAL
see discussion in doc/Section_start.html#2_2 (step 6)
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
FFT_PATH =
FFT_LIB = -lfftw3
JPEG and/or PNG library, OPTIONAL
see discussion in doc/Section_start.html#2_2 (step 7)
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 =
JPG_PATH =
JPG_LIB = -ljpeg -lpng
---------------------------------------------------------------------
build rules and dependencies
no need to 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)
Path to src files
vpath .cpp ..
vpath .h …
Link target
(EXE): (OBJ)
(LINK) (LINKFLAGS) (EXTRA_PATH) (OBJ) (EXTRA_LIB) (LIB) -o (EXE)
(SIZE) $(EXE)
Library targets
lib: (OBJ)
(ARCHIVE) (ARFLAGS) (EXE) $(OBJ)
shlib: (OBJ)
(CC) (CCFLAGS) (SHFLAGS) (SHLIBFLAGS) (EXTRA_PATH) -o (EXE) \
(OBJ) (EXTRA_LIB) (LIB)
Compilation rules
.o:.cpp
(CC) (CCFLAGS) (SHFLAGS) (EXTRA_INC) -c $<
.d:.cpp
(CC) (CCFLAGS) (EXTRA_INC) (DEPFLAGS) < > @
Individual dependencies
DEPENDS = (OBJ:.o=.d)
sinclude (DEPENDS).
I am still trying to understand how to use it…
Thanks a lot for your reply.
Guangyu Wang