Struggling with the compilation of NAMD 2.6 on a PBS Cluster with LAM/MPI

From: Frank Thommen (frank.thommen_at_embl-heidelberg.de)
Date: Wed Aug 27 2008 - 11:41:08 CDT

Hi,

I'm currently trying to build NAMD 2.6 on a PBS cluster with "built-in"
LAM/MPI.

First of all: Do I understand correctly, that none the binary
distributions of NAMD 2.6 (as listed on
http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=NAMD)
is built with MPI support (and possible for x86_64 architecture)?

Then...

First problem
-------------

The first problem appears with charm 5.9. After having built it with
`./build charm++ mpi-linux-amd64 --no-shared -O -DCMK_OPTIMIZE=1` I cd
to 'tests/charm++/megatest/' and do `make pgm` which finishes with the
following error:

# make pgm
[... output shortened ...]
./../../bin/charmc -o bitvector.o bitvector.C
./../../bin/charmc -o pgm megatest.o groupring.o nodering.o
varsizetest.o varraystest.o groupcast.o nodecast.o synctest.o fib.o
arrayring.o tempotest.o packtest.o queens.o migration.o marshall.o
priomsg.o priotest.o rotest.o statistics.o templates.o inherit.o
reduction.o callback.o immediatering.o bitvector.o -language charm++
/usr/bin/ld: cannot find -lmpich
collect2: ld returned 1 exit status
mpiCC: No such file or directory
Fatal Error by charmc in directory
/usr/struct/pack/namd2_mpi-2.0.6/SRC/NAMD_2.6_Source/charm-5.9/tests/charm++/megatest
    Command mpiCC -m64 -fPIC -rdynamic -o pgm -L../../../bin/../lib
-I../../../bin/../include ../../../bin/../lib/libldb-rand.o megatest.o
groupring.o nodering.o varsizetest.o varraystest.o groupcast.o
nodecast.o synctest.o fib.o arrayring.o tempotest.o packtest.o queens.o
migration.o marshall.o priomsg.o priotest.o rotest.o statistics.o
templates.o inherit.o reduction.o callback.o immediatering.o bitvector.o
moduleinit11129.o ../../../bin/../lib/libmemory-default.o
./../../bin/../lib/libthreads-default.o -lck -lconv-cplus-y -lconv-core
-lconv-util -lckqt -lmpich -ldl -lmpich -lm returned error code 1
charmc exiting...
make: *** [pgm] Error 1
#

`libmpich` is in fact not there as this is LAM/MPI. The LAM/MPI
libraries I can find are:

/usr/lib64/liblam.a
/usr/lib64/liblam.la
/usr/lib64/liblamf77mpi.a
/usr/lib64/liblamf77mpi.la
/usr/lib64/liblammpi++.a
/usr/lib64/liblammpi++.la
/usr/lib64/liblammpio.a
/usr/lib64/libmpi.a
/usr/lib64/libmpi.la

I would love to replace -lmpich by -lmpi but I didn't find where this
option is defined.

Second problem
--------------

I decided to ignore that and went on to build NAMD. Edited Make.charm,
arch/Linux-amd64.fftw and arch/Linux-amd64.tcl, did `./config tcl fftw
Linux-amd64-MPI` and `make` in Linux-amd64-MPI, which results in the
following errors:

# make
[... output shortened...]
[xsoft_at_clnode154 Linux-amd64-MPI]$ make
g++
-I/usr/struct/pack/namd2_mpi-2.0.6/SRC/NAMD_2.6_Source/charm-5.9/mpi-linux-amd64/include
-DCMK_OPTIMIZE=1 -Isrc -Iinc -Iplugins/include -I/usr/include
-I/home/xsoft/tcl/include -DNAMD_TCL
-I/usr/struct/pack/fftw-3.1.2/include -I/home/xsoft/fftw/include
-DNAMD_FFTW -DNAMD_VERSION=\"2.6\" -DNAMD_PLATFORM=\"Linux-amd64-MPI\"
  -O3 -m64 -fexpensive-optimizations -ffast-math -o obj/ComputePme.o -c
src/ComputePme.C
src/ComputePme.C:12:19: sfftw.h: No such file or directory
src/ComputePme.C:13:20: srfftw.h: No such file or directory
[...removed lots and lots of collateral errors...]
#

In fact /usr/struct/pack/fftw-3.1.2/include contains only fftw3.f and
fftw3.h and /usr/struct/pack/fftw-3.1.2/lib64 contains:

# ls /usr/struct/pack/fftw-3.1.2/lib64
libfftw3.a libfftw3f.so libfftw3.la libfftw3.so.3.1.2
libfftw3f.a libfftw3f.so.3 libfftw3.so pkgconfig
libfftw3f.la libfftw3f.so.3.1.2 libfftw3.so.3
#

No sfftw* or libsfftw* whatsover. This is a fresh FFTW-build from source.

Any ideas or thoughts how to solve or work around any of the two
problems? All hints are welcome.

Thanks

    frank

-- 
Frank Thommen - Structures IT Management and Support - EMBL Heidelberg
frank.thommen_at_embl-heidelberg.de - +49 6221 387 8353

This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 15:49:46 CST