[gmx-developers] Installation problems: Gromacs 4.5.1 with CMake

Justin A. Lemkul jalemkul at vt.edu
Thu Sep 2 20:23:53 CEST 2010


Hi All,

Hopefully someone can shed some light on my struggles today.  Our aging 
supercomputer is giving me all sorts of issues with the new CMake 
implementation.  Installation with autoconf tools is flawless, but after 6 hours 
of hacking, I've only gotten about halfway into making Gromacs work.

Here's the scenario: the cluster (PowerPC architecture) has two partitions, one 
running Mac OSX 10.3 and one running Yellowdog Linux.  The compilers are a bit 
different for each partition, but I know which ones to use.  On the OSX side, I 
managed to replicate this command:

$ ./configure --prefix=/home/rdiv1001/gromacs-4.5.1 
CPPFLAGS="-I/home/rdiv1001/fftw-3.0.1/include" 
LDFLAGS="-L/home/rdiv1001/fftw-3.0.1/lib" --disable-threads --without-x 
--program-suffix=_4.5.1_s

by doing the following with CMake:

cmake ../gromacs-4.5.1 
-DFFTW3F_LIBRARIES=/home/rdiv1001/fftw-3.0.1/lib/libfftw3f.a 
-DFFTW3F_INCLUDE_DIR=/home/rdiv1001/fftw-3.0.1/include/ 
-DCMAKE_INSTALL_PREFIX=/home/rdiv1001/gromacs-4.5.1_cmake-osx 
–DGMX_BINARY_SUFFIX=_4.5.1_s –DGMX_THREADS=OFF –DBUILD_SHARED_LIBS=OFF –DGMX_X11=OFF

I won't detail the various errors I ran into each time I tried to build, but 
suffice it to say it was not easy.

I presumed that similar logic would apply on the Linux partition, which installs 
nicely with:

$ ./configure –-prefix=/home/rdiv1001/gromacs-4.5.1-linux 
–-program-suffix=_4.5.1_s CPPFLAGS="-I/apps/packages/FFTW32-3.0.1/include" 
LDFLAGS="-L/apps/packages/FFTW32-3.0.1/lib" 
CC=/apps/local/packages/gcc-4.2.2/bin/gcc 
CXX=/apps/local/packages/gcc-4.2.2/bin/g++ 
F77=/apps/local/packages/gcc-4.2.2/bin/gfortran 
CPP=/apps/local/packages/gcc-4.2.2/bin/cpp --without-x
-–disable-threads

So I (after some additional trial-and-error) tried CMake:

cmake ../gromacs-4.5.1 
-DFFTW3F_LIBRARIES=/apps/packages/FFTW32-3.0.1/lib/libfftw3f.la 
-DFFTW3F_INCLUDE_DIR=/apps/packages/FFTW32-3.0.1/include/ 
-DCMAKE_INSTALL_PREFIX=/home/rdiv1001/gromacs-4.5.1_cmake-linux 
–DGMX_BINARY_SUFFIX=_4.5.1_s –DGMX_THREADS=OFF –DGMX_X11=OFF 
–DCMAKE_CXX_COMPILER=/apps/local/packages/gcc-4.2.2/bin/g++ 
-DCMAKE_C_COMPILER=/apps/local/packages/gcc-4.2.2/bin/gcc

The code begins compiling, but then exits with:

Linking C shared library libmd.so
/apps/packages/FFTW32-3.0.1/lib/libfftw3f.la: file not recognized: File format 
not recognized
collect2: ld returned 1 exit status
make[2]: *** [src/mdlib/libmd.so.6] Error 1
make[1]: *** [src/mdlib/CMakeFiles/md.dir/all] Error 2
make: *** [all] Error 2

I don't understand this.  Every version of Gromacs I have ever installed on the 
Linux partition has linked against that exact same library, but now all of a 
sudden it doesn't work.  Am I missing some keyword or CMake instruction 
somewhere?  The file extension (.la) is identical to the one used on the OSX 
side, so I don't understand why CMake all of a sudden can't figure out what to 
do with this particular library.

Perhaps the developers will not agree with me, but I for one am going to miss 
the days of autoconf.  What used to take 20 minutes has now taken over 6 hours 
and is still not complete.  But then, too, perhaps our architecture is just 
getting too far behind the times...

-Justin

-- 
========================================

Justin A. Lemkul
Ph.D. Candidate
ICTAS Doctoral Scholar
MILES-IGERT Trainee
Department of Biochemistry
Virginia Tech
Blacksburg, VA
jalemkul[at]vt.edu | (540) 231-9080
http://www.bevanlab.biochem.vt.edu/Pages/Personal/justin

========================================



More information about the gromacs.org_gmx-developers mailing list