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

relocation truncated to fit

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
Highlighted
Valued Contributor I
305 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
Highlighted
Beginner
305 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
Highlighted
Valued Contributor I
305 Views

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

0 Kudos
Highlighted
305 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