[Dock-fans] dock6 parallel on 64-bit system

Scott Brozell sbrozell at scripps.edu
Mon Dec 22 13:41:09 PST 2008


Hi,

On Mon, 22 Dec 2008, Mary Ellen Fitzpatrick wrote:

> Has anyone had success installing dock6 parallel on a 64-bit system?  I 
> have successfully been able to install dock6  serial on the 64-bit 
> system with the -m32 compiler flag, but not parallel.  My config.h and 
> build errors for dock6 parallel on the 64-bit system are below.

Yes, both serial and parallel.
Problems arising during parallel builds when serial builds work
are usually due to inconsistencies in the parallel library vis a vis
different compilers, libraries, etc.
This is still the state of our art on 64bits:
http://dock.compbio.ucsf.edu/DOCK_6/faq.htm#64bit

> If I install dock6 parallel on the 64-bit system without the -m32 
> compiler flag, it installs without a problem.  But I am unclear if the 
> results from the test suite are accurate. 

The build may well be fine as the test .save outputs were generated
on a 32bit machine; see
http://blur.compbio.ucsf.edu/pipermail/dock-fans/2008-October/001748.html
and the links therein.

> Trying to install dock6 with gnu.parallel on my 64-bit Centos5 cluster.  
> I have compiled dock6 with the -m32 compiler and gnu.parallel.  my 
> config.h file:
> ./configure gnu.parallel
> 
> config.h
> CC=          gcc -m32
> CXX=         g++ -m32
> CFLAGS=      -DBUILD_DOCK_WITH_MPI -DMPICH_IGNORE_CXX_SEEK 
> -DMPICH_SKIP_MPICXX -I$(MPICH_HOME)/i
> nclude -O2
> FC=          g77 -m32
> FFLAGS=      -O2 -fno-automatic -fno-second-underscore
> LOAD=        $(MPICH_HOME)/bin/mpicxx
> LIBS=        -lm
> SFX=         .mpi
> 
> userA:~/dock6-32/install$ echo $MPICH_HOME
> /usr/local/mpich2mef
> 
> when I run make all, the build fails:
> 
> utils.o: In function `std::vector<PARAMETER, std::allocator<PARAMETER> 
>  >::_M_insert_aux(__gnu_cxx::__normal_iterator<PARAMETER*, 
> std::vector<PARAMETER, std::allocator<PARAMETER> > >, PARAMETER const&)':
> utils.cpp:(.text._ZNSt6vectorI9PARAMETERSaIS0_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS0_S2_EERKS0_[std::vector<PARAMETER, 
> std::allocator<PARAMETER> 
>  >::_M_insert_aux(__gnu_cxx::__normal_iterator<PARAMETER*, 
> std::vector<PARAMETER, std::allocator<PARAMETER> > >, PARAMETER 
> const&)]+0x164): undefined reference to `operator new(unsigned int)'
> collect2: ld returned 1 exit status
> make[2]: *** [dock6.mpi] Error 1

This error is very likely due to linking C++ object files with a C
(ie not C++) compiler.
Verify that your mpicxx invokes a C++ compiler via
mpicxx -show
or similar options.
If you cannot resolve this then send verbose and explicit details
especially the command to link dock6.mpi.

Scott



More information about the Dock-fans mailing list