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

relocation truncated to fit

SL00
Beginner
2,590 Views

Dear all,

When I compile my Fortran code, I got the following error, 

 

ipo_out1.f:(.text.hot00002+0x9a): relocation truncated to fit: R_X86_64_PC32 against symbol `cdata_mp_ilnrho_' defined in .bss.cdata_mp_ilnrho_[cdata_mp_ilnrho_] section in /tmp/ipo_ifort4MDURv1.o
ld: ipo_out1.f:(.text.hot00002+0x105): relocation truncated to fit: R_X86_64_PC32 against symbol `cdata_mp_t_' defined in .bss.cdata_mp_t_[cdata_mp_t_] section in /tmp/ipo_ifort4MDURv1.o
ld: ipo_out1.f:(.text.hot00002+0x136): relocation truncated to fit: R_X86_64_PC32 against symbol `cdata_mp_ilnrho_' defined in .bss.cdata_mp_ilnrho_[cdata_mp_ilnrho_] section in /tmp/ipo_ifort4MDURv1.o
ld: ipo_out1.f:(.text.hot00002+0x383): relocation truncated to fit: R_X86_64_PC32 against symbol `cdata_mp_lfirstpoint_' defined in .bss.cdata_mp_lfirstpoint_[cdata_mp_lfirstpoint_] section in /tmp/ipo_ifort4MDURv1.o
ld: ipo_out1.f:(.text.hot00002+0x390): relocation truncated to fit: R_X86_64_PC32 against symbol `cdata_mp_imn_' defined in .bss.cdata_mp_imn_[cdata_mp_imn_] section in /tmp/ipo_ifort4MDURv1.o
ld: ipo_out1.f:(.text.hot00002+0x39b): relocation truncated to fit: R_X86_64_PC32 against symbol `cdata_mp_necessary_' defined in .bss.cdata_mp_necessary_[cdata_mp_necessary_] section in /tmp/ipo_ifort4MDURv1.o
ld: ipo_out1.f:(.text.hot00002+0x3aa): relocation truncated to fit: R_X86_64_PC32 against symbol `cdata_mp_mm_' defined in .bss.cdata_mp_mm_[cdata_mp_mm_] section in /tmp/ipo_ifort4MDURv1.o
ld: ipo_out1.f:(.text.hot00002+0x3b9): relocation truncated to fit: R_X86_64_PC32 against symbol `cdata_mp_nn_' defined in .bss.cdata_mp_nn_[cdata_mp_nn_] section in /tmp/ipo_ifort4MDURv1.o
ld: ipo_out1.f:(.text.hot00002+0x3d5): relocation truncated to fit: R_X86_64_PC32 against symbol `cdata_mp_n_' defined in .bss.cdata_mp_n_[cdata_mp_n_] section in /tmp/ipo_ifort4MDURv1.o
ld: ipo_out1.f:(.text.hot00002+0x3dc): relocation truncated to fit: R_X86_64_PC32 against symbol `cdata_mp_m_' defined in .bss.cdata_mp_m_[cdata_mp_m_] section in /tmp/ipo_ifort4MDURv1.o
ld: ipo_out1.f:(.text.hot00002+0x462): additional relocation overflows omitted from the output
ld: failed to convert GOTPCREL relocation; relink with --no-relax

The largest array size in my simulation is 17 times smaller than "2^(31)-1"

System: CentOS release 6.10

Intel: intel/2019.1.144-GCC-8.2.0-2.31.1/impi/2018.4.274/bin64/mpiifort

Any idea about how this happens?

 

Best regards,

 

Sean Lee

 

0 Kudos
4 Replies
Juergen_R_R
Valued Contributor I
2,590 Views

This looks like mixing compilers and libraries from different systems mixed up, either 32bit vs. 64bit or installations for ifort and mpiifort based on different glibc or something similar.

0 Kudos
SL00
Beginner
2,590 Views

Thanks a lot, Juergen.

I checked my compiler and it is indeed 64 bits,

 intel/2019.1.144-GCC-8.2.0-2.31.1/impi/2018.4.274/bin64/mpiifort

Any idea about fix this? 

0 Kudos
Juergen_R_R
Valued Contributor I
2,590 Views

Some component in your project is 32bit, some compiler, some external library, or some linker. Try to find out which.

0 Kudos
jimdempseyatthecove
Honored Contributor III
2,590 Views

>>The largest array size in my simulation is 17 times smaller than "2^(31)-1"

Note, it is not the size of an individual array that matters, but rather the sum of the sizes of the static arrays. To correct for this, make your largest arrays allocatable (and initialize from file if necessary).

Jim Dempsey

0 Kudos
Reply