Hello,
I am trying to compile on an SGI Altix 3700 using the default Makefile.altix included with the latest LAMMPS download available [LAMMPS upgrade — C++ version (12 Apr 2006)].
I am using Intel ICC compiler version 9.0.026.
-----------------///--------------------
First, I tried to compile with the default Makefile.altix, which has the following:
System-specific settings
CC = icc
CCFLAGS = -O2 -DFFT_SCSL -w
DEPFLAGS = -M
LINK = icc
LINKFLAGS = -O2
USRLIB =
SYSLIB = -lmpi -lscs_mp
SIZE = size
With this, the compilation process ran smoothly, but during the linking process, I get a handful of error messages of the form:
IPO Error: unresolved : _ZdlPv
Referenced in angle_charmm.o
Referenced in angle_cosine.o
…etc…
…followed by a flood of error messages of the form:
angle_charmm.o(.text+0xa2): In function _ZN11AngleCharmmD9Ev': : undefined reference to
operator delete(void*)’
angle_charmm.o(.text+0x1f2): In function AngleCharmm::~AngleCharmm()': : undefined reference to
operator delete(void*)’
…etc…
And the compile finally fails with error:
make[1]: *** […/lmp_altix] Error 1
make[1]: Leaving directory `/usr/local/appl/working/lammps-5Jun06/src/Obj_altix’
make: *** [altix] Error 2
With this Makefile, I have tried turning off optimizations with -O0, but the IPO errors still occur.
-----------------///--------------------
Second, I tried compiling with g++ using a hybrid Makefile taking from both the .altix and .g++ Makefiles. With this Makefile, I still use SGI’s FFTs from “SGI SCSL library” and the same SGI MPI libraries as above. SGI’s mpi.h is marked as “mpi.h,v 1.35 2005/04/07 23:15:29”. The Makefile’s System-specific settings are as follows:
System-specific settings
CC = g++
CCFLAGS = -O -DFFT_SCSL -w
DEPFLAGS = -M
LINK = g++
LINKFLAGS = -O
USRLIB =
SYSLIB = -lmpi -lscs_mp
SIZE = size
Again, the compilation process succeeds, but during linking phase, I get flooded with some MPI undefined reference errors:
angle_charmm.o(.gnu.linkonce.r._ZTVN3MPI2OpE+0x30): undefined reference to MPI::Op::Init(void (*)(void const*, void*, int, MPI::Datatype const&), bool)' angle_charmm.o(.gnu.linkonce.r._ZTVN3MPI2OpE+0x40): undefined reference to
MPI::Op::Free()’
…etc…
With this Makefile, I have also explicitly set the MPI include and library paths with -I/usr/include and -L/usr/lib, but the undefined reference errors still occur.
-----------------///--------------------
Any suggestions welcome!
Thanks,
Sam