[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