Re: namd 2.5 compilation error

From: Axel Kohlmeyer (akohlmey_at_cmm.chem.upenn.edu)
Date: Mon Sep 29 2008 - 13:12:10 CDT

On Mon, 29 Sep 2008, Dong Xu wrote:

DX> On Sun, Sep 28, 2008 at 11:27 AM, Axel Kohlmeyer
DX> <akohlmey_at_cmm.chem.upenn.edu> wrote:
DX> > On Sat, 27 Sep 2008, Dong Xu wrote:
DX> >
DX> > DX> Hi,
DX> > DX>
DX> > DX> I was trying to compile namd 2.6 with myrinet mpich-gm and pgi
DX> > DX> compiler. I managed to get charmm++ compile ok and passed megatest.
DX> >
DX> > trying to compile NAMD with PGI compilers is a "very bad idea(TM)".
DX> > the PGI c++ compilers are very problematic. you'd be _much_ better
DX> > off using GCC.
DX>
DX> Hi Alex, the problem is that the system installed mpicc mpiCC mpirun
DX> etc. are all compiled with pgi compilers. Would it work if I compile

most likely you cannot use gcc directly with that. but nothing
would stop you to compile your own MPI (using OpenMPI by preference).

DX> namd using gcc? The gcc version is 2.95, I'm not sure if it's too
DX> outdated?

gcc 2.95 is some unofficial redhat version and generally discouraged
to be used for anything, not to mention _very_ old.
when trying to compile software on such old installations, one always
has to consider whether it is actually worth the effort. usually, the
hardware is slow as well...

DX> > DX>
DX> > DX> When I compile namd using Linux-i686-pgCC.arch, I got the following
DX> > DX> error. Looks like there are some issues with tcl library libtcl8.3.a.
DX> >
DX> > it looks like the tcl library has been compiled with a gcc that
DX> > was newer than the gcc that the pgi compiler runtime was compiled with.
DX> > you need to recompiled the tcl library with your pgi or better yet
DX> > compile NAMD with gcc/g++.
DX>
DX> Yes, I also realized that I need to recompile tcol if non-gcc
DX> compilers are used.

no, it is not about non-gcc compilers. it is about the version of
libc and particularly the header files that go with it that have
to match. PGI's c/c++ compilers used to be very outdated.

cheers,
   axel.

DX>
DX> Thanks!
DX>
DX> -DX
DX>
DX> > DX>
DX> > DX> Any help will be highly appreciated.
DX> > DX>
DX> > DX> -DX
DX> > DX>
DX> > DX> charmc> ----------- Module dependency search ------------
DX> > DX> charmc> ----------- Module dependency search complete ------------
DX> > DX> Adding registration for module NeighborLB
DX> > DX> Adding registration for module commlib
DX> > DX> charmc: Executing mpiCC -D__CHARMC__=1 -c moduleinit14691.C -o moduleinit14691.o
DX> > DX> charmc: Executing mpiCC -L/home/dong/namd_lib/lib -L/home/dong/tcl/lib
DX> > DX> -L/home/dong/namd_lib/lib -L/home/dong/fftm
DX> > DX> C++ prelinker: executing: /usr/pgi/linux86/bin/pgCC
DX> > DX> -I/home/dong/NAMD_2.6_Source/charm-5.9/mpi-linux/include -DCMC
DX> > DX> "/usr/include/bits/in.h", line 69: warning: declaration of a member with the
DX> > DX> same name as its class
DX> > DX> char ip_opts[40]; /* Actually variable in size. */
DX> > DX> ^
DX> > DX>
DX> > DX> C++ prelinker: executing: /usr/pgi/linux86/bin/pgCC
DX> > DX> -I/home/dong/NAMD_2.6_Source/charm-5.9/mpi-linux/include -DCMC
DX> > DX> "/usr/include/bits/in.h", line 69: warning: declaration of a member with the
DX> > DX> same name as its class
DX> > DX> char ip_opts[40]; /* Actually variable in size. */
DX> > DX> ^
DX> > DX>
DX> > DX> /home/dong/namd_lib/lib/libtcl8.3.a(tclUnixPipe.o): In function
DX> > DX> `TclpCreateTempFile':
DX> > DX> tclUnixPipe.o(.text+0xe2): the use of `tmpnam' is dangerous, better
DX> > DX> use `mkstemp'
DX> > DX> /home/dong/namd_lib/lib/libtcl8.3.a(tclBinary.o): In function `.L174':
DX> > DX> tclBinary.o(.text+0xa4f): undefined reference to `__ctype_b_loc'
DX> > DX> tclBinary.o(.text+0xad2): undefined reference to `__ctype_b_loc'
DX> > DX> /home/dong/namd_lib/lib/libtcl8.3.a(tclBinary.o): In function `GetFormatSpec':
DX> > DX> tclBinary.o(.text+0x1377): undefined reference to `__ctype_b_loc'
DX> > DX> /home/dong/namd_lib/lib/libtcl8.3.a(tclCmdAH.o): In function `Tcl_CaseObjCmd':
DX> > DX> tclCmdAH.o(.text+0x16d): undefined reference to `__ctype_b_loc'
DX> > DX> /home/dong/namd_lib/lib/libtcl8.3.a(tclCmdAH.o): In function `Tcl_FormatObjCmd':
DX> > DX> tclCmdAH.o(.text+0x233c): undefined reference to `__ctype_b_loc'
DX> > DX> /home/dong/namd_lib/lib/libtcl8.3.a(tclCmdAH.o)(.text+0x2427): more
DX> > DX> undefined references to `__ctype_b_loc' follow
DX> > DX> Fatal Error by charmc in directory /home/dong/NAMD_2.6_Source/Linux-i686-pgCC
DX> > DX> Command mpiCC -L/home/dong/namd_lib/lib -L/home/dong/tcl/lib
DX> > DX> -L/home/dong/namd_lib/lib -L/home/dong/fftw/lib -2
DX> > DX> charmc exiting...
DX> > DX> rm -f moduleinit14691.C moduleinit14691.o
DX> > DX> make: *** [namd2] Error 1
DX> > DX>
DX> >
DX> > --
DX> > =======================================================================
DX> > Axel Kohlmeyer akohlmey_at_cmm.chem.upenn.edu http://www.cmm.upenn.edu
DX> > Center for Molecular Modeling -- University of Pennsylvania
DX> > Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323
DX> > tel: 1-215-898-1582, fax: 1-215-573-6233, office-tel: 1-215-898-5425
DX> > =======================================================================
DX> > If you make something idiot-proof, the universe creates a better idiot.
DX> >
DX>

-- 
=======================================================================
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 - 15:49:54 CST