I'm trying to build libMesh [1] with the intel/2016a toolchain and hitting this problem:
ld: /software/easybuild/software/imkl/11.3.1.150-iimpi-8.1.5-GCC-4.9.3-2.25/mkl/lib/intel64/libfftw3x_cdft_lp64_pic.a(mpi_transpose.o): relocation R_X86_64_32 against .rodata.str1.4' can not be used when making a shared object; recompile with -fPIC /software/easybuild/software/imkl/11.3.1.150-iimpi-8.1.5-GCC-4.9.3-2.25/mkl/lib/intel64/libfftw3x_cdft_lp64_pic.a: error adding symbols: Bad value make[2]: *** [libmesh_dbg.la] Error 1 make[2]: Leaving directory/tmp/easybuild/libMesh/1.0.0/intel-2016a-Python-2.7.11/libmesh-1.0.0'
make[1]: *** [../libmesh_dbg.la] Error 2
AFAICT, mpi_transpose truly was not compiled with -fPIC despite it being in the _pic library.
mpi_transpose seems to be fairly new (11.3-ish).
Anyone got a quick fix?
[1] https://github.com/libMesh/libmesh/