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

From: Axel Kohlmeyer (akohlmey_at_cmm.chem.upenn.edu)
Date: Fri Aug 29 2008 - 13:55:27 CDT

On Fri, 29 Aug 2008, Frank Thommen wrote:

hi frank,

FT> > -DUSE_NON_CONST (but not both) to the TCLFLAGS line in
FT> > arch/Linux-amd64.tcl
FT> > to work around it.
FT>
FT> Hmm. With '-DUSE_COMPAT_CONST' I get the following error with make (this is
FT> the second run of `make`):
FT>
FT>
FT> [xsoft_at_clnode154 Linux-amd64-MPI]$ make
FT> g++
FT> -I/usr/struct/pack/namd2_mpi-2.0.6/SRC/NAMD_2.6_Source/charm-5.9/mpi-linux-amd64/include
FT> -DCMK_OPTIMIZE=1 -Isrc -Iinc -Iplugins/include -I/usr/include
FT> -I/home/xsoft/tcl/include -DNAMD_TCL -DUSE_COMPAT_CONST
FT> -I/usr/struct/pack/fftw-2.1.5/include -I/home/xsoft/fftw/include -DNAMD_FFTW
FT> -DNAMD_VERSION=\"2.6\" -DNAMD_PLATFORM=\"Linux-amd64-MPI\" -O3 -m64
FT> -fexpensive-optimizations -ffast-math -o obj/ComputeTclBC.o -c
FT> src/ComputeTclBC.C
FT> src/ComputeTclBC.C: In constructor `ComputeTclBC::ComputeTclBC(ComputeID)':
FT> src/ComputeTclBC.C:63: error: invalid conversion from `const char*' to
FT> `char*'
FT> src/ComputeTclBC.C:66: error: invalid conversion from `const char*' to
FT> `char*'
FT> src/ComputeTclBC.C: In member function `virtual void
FT> ComputeTclBC::doWork()':
FT> src/ComputeTclBC.C:122: error: invalid conversion from `const char*' to
FT> `char*'
FT> make: *** [obj/ComputeTclBC.o] Error 1
FT> [xsoft_at_clnode154 Linux-amd64-MPI]$

ok. my bad. it has been a looong time since i compiled a non-cvs
version of namd. this got fixed at some point.

FT>
FT> Whereas with '-DUSE_NON_CONST' it still seems to be looking for libtcl8.3:

well, at least you get done compiling and an now have a linker problem.

FT>
FT> # make
FT> [... removed lots of output ...]
FT> charmc> ----------- Module dependency search ------------
FT> charmc> ----------- Module dependency search complete ------------
FT> Adding registration for module NeighborLB
FT> Adding registration for module commlib
FT> charmc: Executing mpiCC -m64 -fPIC -D__CHARMC__=1 -c moduleinit22680.C -o
FT> moduleinit22680.o
FT> charmc: Executing mpiCC -m64 -fPIC -rdynamic -L/usr/lib
FT> -L/home/xsoft/tcl/lib -L/usr/struct/pack/fftw-2.1.5/lib
FT> -L/home/xsoft/fftw/lib
[...]
FT> -lck -lconv-cplus-y -lconv-core -lconv-util -lckqt -lmpi -ldl -ltcl8.3 -ldl
FT> -lsrfftw -lsfftw -lm -lmoduleNeighborLB -lmodulecommlib -lmpi -lm
FT> /usr/bin/ld: skipping incompatible /usr/lib/libdl.so when searching for -ldl
FT> /usr/bin/ld: skipping incompatible /usr/lib/libdl.a when searching for -ldl
FT> /usr/bin/ld: cannot find -ltcl8.3
FT> collect2: ld returned 1 exit status
FT> mpiCC: No such file or directory
FT> Fatal Error by charmc in directory
FT> /usr/struct/pack/namd2_mpi-2.0.6/SRC/NAMD_2.6_Source/Linux-amd64-MPI
FT>
FT> Command [...very long command removed...] returned error code 1
FT> charmc exiting...
FT> rm -f moduleinit22680.C moduleinit22680.o
FT> make: *** [namd2] Error 1
FT> [xsoft_at_clnode154 Linux-amd64-MPI]$
FT>
FT>
FT> Can you give me the link to the thread where this problem has been discussed
FT> before? I haven't found it and it may contain other ideas how to work
FT> around this problem.

this is fixed easily.

just change -ltcl8.3 to -ltcl8.4 in arch/Linux-amd64.tcl

you always have to adjust the files in arch/ to your local
installation...

cheers,
   axel.

FT>
FT>
FT> Cheers
FT>
FT> frank
FT>
FT>

-- 
=======================================================================
Axel Kohlmeyer   akohlmey_at_cmm.chem.upenn.edu   http://www.cmm.upenn.edu
   Center for Molecular Modeling   --   University of Pennsylvania
Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323
tel: 1-215-898-1582,  fax: 1-215-573-6233,  office-tel: 1-215-898-5425
=======================================================================
If you make something idiot-proof, the universe creates a better idiot.

This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 05:21:16 CST