[Dock-fans] dock6 parallel on 64-bit system
Mary Ellen Fitzpatrick
mfitzpat at bu.edu
Tue Dec 23 07:44:16 PST 2008
Here is how I am trying to build dock6 on a 64-bit system. Same build
error, not sure what I am doing wrong...
Install the serial version on my 64-bit system.
./configure gnu
then edit config.h file with -m32 flag
CC= gcc -m32
CXX= g++ -m32
CFLAGS= -O2
FC= g77 -m32
FFLAGS= -O2 -fno-automatic -fno-second-underscore
LIBS= -lm -lpthread
LOAD= g++ -m32
SFX=
I did not make any changes to AR or RANLIB. When I did try to add the
-m32 flag it failed, so I left it as is.
AR= ar rv
LEX= flex
OCFLAGS= -O3 -D_ANSI_SOURCE
RANLIB= ranlib
make all
For dock6 parallel:
make distclean
userA:~/dock6/install$ mpicc -show
gcc -I/usr/local/mpich2mef/include -L/usr/local/mpich2mef/lib -lmpich
-lpthread -lrt
userA:~/dock6/install$ mpicxx -show
g++ -I/usr/local/mpich2mef/include -L/usr/local/mpich2mef/lib -lmpichcxx
-lmpich -lpthread -lrt
./configure gnu.parallel
edit config.h
MPICH_HOME=/usr/local/mpich2mef
CC= gcc -m32
CXX= g++ -m32
CFLAGS= -DBUILD_DOCK_WITH_MPI -DMPICH_IGNORE_CXX_SEEK
-DMPICH_SKIP_MPICXX -I$(MPICH_HOME)/includ
e -O2
FC= g77 -m32
FFLAGS= -O2 -fno-automatic -fno-second-underscore
LOAD= $(MPICH_HOME)/bin/mpicxx
LIBS= -lm -L/usr/local/mpich2mef/lib -lmpich -lpthread -lrt
SFX= .mpi
No changes to AR or RANLIB
AR= ar rv
LEX= flex
OCFLAGS= -O3 -D_ANSI_SOURCE
RANLIB= ranlib
Fails build:
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
Thanks for your help.
Scott Brozell wrote:
> 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
>
>
>
--
Thanks
Mary Ellen
More information about the Dock-fans
mailing list