Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
37 Views

FFTW with Fortran - relocation truncated to fit: R_X86_64_PC32

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?l... 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
Highlighted
Employee
37 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
Highlighted
Beginner
37 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