Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.

relocation truncated to fit

Ben_Foster
Beginner
934 Views

I am compiling f90 code with intel 12.1.5 on x86_64 x86_64 x86_64 GNU/Linux and am getting "relocation truncated to fit" errors in the link step, a few of which are copied below. I am using mpif90 with options -O3 -r8 -heap-arrays -mcmodel=medium -shared-intel. I am linking netcdf v4.2.

As I understand it, this means I am using more than the 2GB limit of statically declared memory. If I execute "size *.o", then sum all numbers in the bss column, I get 94,447,960. I think this means almost 100MB, way  under 2 GB. Much of my memory is dynamically allocated from the heap. I doubt netcdf is statically allocated very much, but will try to confirm this. Can anyone help? Thanks,

--Ben (foster@ucar.edu)

mpif90 -r8 -heap-arrays -mcmodel=medium -shared-intel -I. -I/glade/u/home/foster/tiegcm_ctmt/tiegcm_trunk/src -I -O3  -DLINUX  -DMPI  -c -o wrhist.o /glade/u/home/foster/tiegcm_ctmt/tiegcm_trunk/src/wrhist.F
mpif90 -o /glade/p/work/foster/tiegcm_ctmt/tiegcm_ctmt_dres-ys/tiegcm_trunk addfld.o addiag.o advance.o advec.o allocdata.o apex.o apex_subs.o aurora.o chapman.o chemrates.o cism_adhoc.o cism_coupling.o cism_intercomm.o colath.o comp.o comp_n2d.o comp_n4s.o comp_no.o comp_o2o.o cons.o cpktkm.o ctmt.o diags.o dispose.o divrg.o dt.o duv.o dynamics.o dynamo.o efield.o elden.o fft9.o fields.o filter.o getfile.o gpi.o gswm.o hdif.o heelis.o highlatpoten.o hist.o imf.o init.o inp_read.o input.o ionvel.o lamdas.o lbc.o lsqdsq.o magfield.o magpres_g.o minor.o mk_polelat.o mkhvols.o mpi.o mud.o mudcom.o mudmod.o muh2cr.o nchist.o newton.o numfiles.o oplus.o output.o params.o qinite.o qjion.o qjnno.o qjoule.o qrj.o rdsource.o saber_tidi.o settei.o smooth.o soldata.o sphpac.o swdot.o tgcm.o timing.o trsolv.o util.o vtsetup.o wei01gcm.o wei05sc.o wrhist.o -lcurl -L -lnetcdf
/ncar/opt/intel/12.1.0.233/composer_xe_2011_sp1.11.339/compiler/lib/intel64/libifcore.a(for_diags_intel.o): In function `for__io_return':
for_diags_intel.c:(.text+0xa6c): relocation truncated to fit: R_X86_64_PC32 against symbol `message_catalog' defined in COMMON section in /ncar/opt/intel/12.1.0.233/composer_xe_2011_sp1.11.339/compiler/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0xbdb): relocation truncated to fit: R_X86_64_PC32 against symbol `message_catalog' defined in COMMON section in /ncar/opt/intel/12.1.0.233/composer_xe_2011_sp1.11.339/compiler/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0xbeb): relocation truncated to fit: R_X86_64_PC32 against symbol `message_catalog' defined in COMMON section in /ncar/opt/intel/12.1.0.233/composer_xe_2011_sp1.11.339/compiler/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0xc46): relocation truncated to fit: R_X86_64_PC32 against symbol `message_catalog' defined in COMMON section in /ncar/opt/intel/12.1.0.233/composer_xe_2011_sp1.11.339/compiler/lib/intel64/libifcore.a(for_diags_intel.o)
/ncar/opt/intel/12.1.0.233/composer_xe_2011_sp1.11.339/compiler/lib/intel64/libifcore.a(for_diags_intel.o): In function `for__issue_diagnostic':
for_diags_intel.c:(.text+0xd66): relocation truncated to fit: R_X86_64_PC32 against symbol `message_catalog' defined in COMMON section in /ncar/opt/intel/12.1.0.233/composer_xe_2011_sp1.11.339/compiler/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0xdcb): relocation truncated to fit: R_X86_64_PC32 against symbol `message_catalog' defined in COMMON section in /ncar/opt/intel/12.1.0.233/composer_xe_2011_sp1.11.339/compiler/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0x12b9): relocation truncated to fit: R_X86_64_PC32 against symbol `message_catalog' defined in COMMON section in /ncar/opt/intel/12.1.0.233/composer_xe_2011_sp1.11.339/compiler/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0x12e0): relocation truncated to fit: R_X86_64_PC32 against symbol `message_catalog' defined in COMMON section in /ncar/opt/intel/12.1.0.233/composer_xe_2011_sp1.11.339/compiler/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0x140e): relocation truncated to fit: R_X86_64_PC32 against symbol `message_catalog' defined in COMMON section in /ncar/opt/intel/12.1.0.233/composer_xe_2011_sp1.11.339/compiler/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0x1435): relocation truncated to fit: R_X86_64_PC32 against symbol `message_catalog' defined in COMMON section in /ncar/opt/intel/12.1.0.233/composer_xe_2011_sp1.11.339/compiler/lib/intel64/libifcore.a(for_diags_intel.o)
for_diags_intel.c:(.text+0x1537): additional relocation overflows omitted from the output
gmake[1]: *** [/glade/p/work/foster/tiegcm_ctmt/tiegcm_ctmt_dres-ys/tiegcm_trunk] Error 1
gmake[1]: Leaving directory `/glade/p/work/foster/tiegcm_ctmt/tiegcm_ctmt_dres-ys'
gmake: *** [Depends] Error 2

0 Kudos
3 Replies
Bernard
Valued Contributor I
933 Views
Hi Ben, I do not know how helpful it can be to your case,but anyway please follow this link://www.technovelty.org/c/relocation-truncated-to-fit-wtf.html
0 Kudos
Patrick_F_Intel1
Employee
933 Views

Can you post this to the Intel Fortran compiler forum at http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x ?

It seems like a more appropriate place.

Pat

 

0 Kudos
Patrick_F_Intel1
Employee
933 Views

Can you post this to the Intel Fortran compiler forum at http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x ?

It seems like a more appropriate place.

Pat

 

0 Kudos
Reply