[gmx-users] Error compiling Gromacs 4.5.4: "relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC"

Pablo Englebienne p.englebienne at tue.nl
Tue Apr 5 16:09:33 CEST 2011


Hi all,

I'm trying to compile release 4.5.4 on a system that has been running 
every release since 4.0.4 without a problem. Even 4.5.3 compiled fine 
with the following configure:

LDFLAGS="-L/cvos/shared/apps/fftw/gcc/64/3.2/lib" 
CPPFLAGS="-I/cvos/shared/apps/fftw/gcc/64/3.2/include" ./configure 
--prefix=$HOME/software

The LDFLAGS and CPPFLAGS specify the (non-standard) location of the FFTW 
libraries and headers. Configure succeeds in creating the Makefiles, but 
when running make it aborts at this point:

cc  -shared  .libs/calcmu.o .libs/calcvir.o .libs/constr.o .libs/coupling.o .libs/domdec.o .libs/domdec_box.o .libs/domdec_con.o .libs/domdec_network.o .libs/domdec_setup.o .libs/domdec_top.o .libs/ebin.o .libs/edsam.o .libs/ewald.o .libs/force.o .libs/forcerec.o .libs/ghat.o .libs/init.o .libs/mdatom.o .libs/mdebin.o .libs/minimize.o .libs/mvxvf.o .libs/ns.o .libs/nsgrid.o .libs/perf_est.o .libs/genborn.o .libs/genborn_sse2_single.o .libs/genborn_sse2_double.o .libs/genborn_allvsall.o .libs/genborn_allvsall_sse2_single.o .libs/genborn_allvsall_sse2_double.o .libs/gmx_qhop_parm.o .libs/gmx_qhop_xml.o .libs/groupcoord.o .libs/pme.o .libs/pme_pp.o .libs/pppm.o .libs/partdec.o .libs/pull.o .libs/pullutil.o .libs/rf_util.o .libs/shakef.o .libs/sim_util.o .libs/shellfc.o .libs/stat.o .libs/tables.o .libs/tgroup.o .libs/tpi.o .libs/update.o .libs/vcm.o .libs/vsite.o .libs/wall.o .libs/wnblist.o .libs/csettle.o .libs/clincs.o .libs/qmmm.o .libs/gmx_fft.o .libs/gmx_parallel_3dfft.o .libs/fft5d.o .libs/gmx_wallcycle.o .libs/qm_gaussian.o .libs/qm_mopac.o .libs/qm_gamess.o .libs/gmx_fft_fftw2.o .libs/gmx_fft_fftw3.o .libs/gmx_fft_fftpack.o .libs/gmx_fft_mkl.o .libs/qm_orca.o .libs/mdebin_bar.o  -Wl,--rpath -Wl,/home/penglebie/downloads/gromacs-4.5.4/src/gmxlib/.libs -Wl,--rpath -Wl,/home/penglebie/software/lib /cvos/shared/apps/fftw/gcc/64/3.2/lib/libfftw3f.a -lxml2 -L/cvos/shared/apps/fftw/gcc/64/3.2/lib ../gmxlib/.libs/libgmx.so -lnsl -lm  -msse2 -pthread -Wl,-soname -Wl,libmd.so.6 -o .libs/libmd.so.6.0.0
/usr/bin/ld: /cvos/shared/apps/fftw/gcc/64/3.2/lib/libfftw3f.a(plan-many-dft-r2c.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/cvos/shared/apps/fftw/gcc/64/3.2/lib/libfftw3f.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[3]: *** [libmd.la] Error 1
make[3]: Leaving directory `/home/penglebie/downloads/gromacs-4.5.4/src/mdlib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/penglebie/downloads/gromacs-4.5.4/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/penglebie/downloads/gromacs-4.5.4/src'
make: *** [all-recursive] Error 1

I see that recently 
(http://lists.gromacs.org/pipermail/gmx-users/2011-April/059919.html) 
another user encountered the same problem but this time with version 
4.5.3; in my case 4.5.3 compiles fine, the only issue is with 4.5.4.

The system is running Scientific Linux 5.5.

$ uname -a

Linux ST-HPC-Main 2.6.18-128.7.1.el5 #1 SMP Mon Aug 24 08:12:52 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux


I am puzzled as to why it doesn't work in 4.5.4 but did until the 
previous release. Did something change in this respect?

Regards,
Pablo

-- 
Pablo Englebienne, PhD
Dept. of Biomedical Engineering
Dept. of Chemistry and Chemical Engineering
Institute for Complex Molecular Systems (ICMS)
Eindhoven University of Technology, TU/e
PO Box 513, HG -1.26
5600 MB Eindhoven, The Netherlands
Tel +31 40 247 5349





More information about the gromacs.org_gmx-users mailing list