[gmx-users] compilation of gromacs-4.5.4 with fftw-3.3 for double precision versition

Qinghua Liao fantasticqhl at gmail.com
Wed Mar 27 11:57:35 CET 2013


Dear gmx users,

I tried to compile gromacs 4.5.4 with double precision, but it failed. The
reason was a little wired.

Firstly, I used the following commands to compile gromacs 4.5.4 together
with fftw 3.3 for serial and parallel version with single precision, and I
made it successfully.


 1014  ./configure --prefix=/usr/users/iff_th2/liao/fftw-3.3 --enable-sse
--enable-threads --enable-float --enable-shared CC=gcc
 1015  make
 1016  make install
 1017  make distclean
 1018  export CPPFLAGS=-I/usr/users/iff_th2/liao/fftw-3.3/include
 1019  export LDFLAGS=-L/usr/users/iff_th2/liao/fftw-3.3/lib

 1022  mv gromacs-4.5.4 gromacs454
 1023  cd gromacs454/

 1026  ./configure --prefix=/usr/users/iff_th2/liao/gromacs454/
--enable-float --enable-threads CC=gcc --disable-gcc41-check
 1027  make
 1028  make install

 1031  make distclean
 1032  cd ../fftw-3.3
 1034  ./configure --prefix=/usr/users/iff_th2/liao/fftw-3.3 --enable-sse
--enable-threads --enable-float --enable-shared --enable-mpi CC=gcc
 1035  make
 1036  make install
 1037  make distclean
 1038  cd ../gromacs454/
 1039  ls
 1040  make distclean
 1041  ./configure --prefix=/usr/users/iff_th2/liao/gromacs454/
--enable-float --enable-threads CC=gcc --disable-gcc41-check --enable-mpi
--program-suffix=_mpi
 1042  make
 1043  make install
 1044  make distclean

But when I used these similar commands to compile for the double precision,
it failed.


 1049  ./configure --prefix=/usr/users/iff_th2/liao/fftw-3.3
--enable-long-double --enable-threads --enable-shared --enable-mpi CC=gcc
 1050  make
 1051  make install
 1052  make distclean
 1053  cd ../gromacs454/
 1054  make distclean
 1055  ./configure --prefix=/usr/users/iff_th2/liao/gromacs454/
--enable-double --enable-threads CC=gcc --disable-gcc41-check --enable-mpi
--program-suffix=_d
 1056  make

The error showed to me was:

/usr/bin/ld: /usr/local/lib/libfftw3.a(plan-dft-c2r-2d.o): relocation
R_X86_64_32 against `a local symbol' can not be used when making a shared
object; recompile with -fPIC /usr/local/lib/libfftw3.a: could not read
symbols: Bad value

I added the option of --with-fPIC, but it was not recognized, and then I
changed it to --with-pic, but the error was still the same.

I don't know why gromacs can recognize the fftw library when doing the
single float compilation, but not for the double float compilation, I
already used the shared option. Could someone give me some suggestions to
help me this out? Any reply will be appreciated.

All the best,
Qinghua Liao




-- 
Best Regards,

Qinghua



More information about the gromacs.org_gmx-users mailing list