Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28445 Discussions

FFTW with Fortran - relocation truncated to fit: R_X86_64_PC32

Evan_E_
Beginner
515 Views

Hi, I am trying to install FFTW 3.3.4, and will be handing very big data cubes (~100Gb). I am using Ubuntu 14.04 on an Intel Xeon processor, with ifort, and icc, both latest versions. The configure and installation seem to work fine, but then when the size of the cubes gets too big and I try to compile my code I get a whole bunch of "relocation truncated to fit: R_X86_64_PC32 against symbol ... " messages. 

I did my best to mimic the success that one of the members had here: https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/269320?language=en-us&https=1 however so far no lock. My configure command looks like this:

./configure CC=icc F77=ifort CFLAGS="-mcmodel=large -shared-intel" FFLAGS="-mcmodel=large -shared-intel" --prefix=/scratch/eames/

And I have tried a lot of variations on this, such as removing the -shared-intel flag, and using -mcmodel=medium instead of large. FFTW always installs fine but nothing seems to work for compiling my code, and after 2 days with this problem I'm really stumped. Thanks in advance, and apologies as I am certainly not one of the most tech-savvy users here, so I may be slow understanding advice.

Cheers!

 

0 Kudos
2 Replies
Yuan_C_Intel
Employee
515 Views

Hi, Evan

Have you tried rebuilt your FFTW3.3.4 library with the same compiler options CFLAGS="-mcmodel=medium -shared-intel"? You must make sure both library and your application use the same memory model.

Thanks 

 

0 Kudos
Evan_E_
Beginner
515 Views

Thanks for the reply Yuan. Isn't the library built when I compile? I thought that including

CFLAGS="-mcmodel=large -shared-intel"

as well as

FFLAGS="-mcmodel=large -shared-intel"

as ./compile flags would guarantee that both were the same memory model.

Cheers.

0 Kudos
Reply