relocation errors

Tim Prince tprince@myrealbox.com
Mon Feb 26 00:53:00 GMT 2007


Huliyar Nataraj wrote:
> Dear Sir,
>
> I am using a 64-bit AMD apteron cluster with 8 GB RAM (RHEL platform).
> I face "relocation overflow" and "relocation truncated to fit errors"
> when I compile big fortran 77 codes using f77/g77 (even with ifort and
> pathf95) on it. Though it compiles successfully it cannot assemble or
> link the executables. I understand this may be because of large arrays
> or so. But the executable size is not more than 2GB. so I could not
> run my codes with large dimensions.
>
> Can you please tell me what options I can use while compiling these
> kind of codes. Sometimes, ulimit command or -m32 option  worked but
> when I run the executable it simply dumps the core. Please suggest me
> what can I do to get rid of these problems?.
>
> Note:
> The gcc version I am using is gcc-3.2.3-42
>

Since your gcc is so old, and you are using RH, I might suspect you also 
have an old unreliable version of binutils (ld --version).  Current gnu 
binutils release (2.17 or newer) tends to be more reliable on x86-64. 
If you have any static data objects (e.g. COMMON) larger than 2GB, you 
must use 64-bit compilation and set an appropriate mc-model (probably 
not supported by g77).
g77 is clearly not supported well for x86-64; a current gcc (gfortran) 
or commercial compiler would be a better choice.
If you are using cluster computing, in the usual sense (MPI or the 
like), you can't use -m32 unless everything is consistently 32-bit, 
including your MPI library build.  Then your large RAM would not be 
visible, as your total address space limit would be 2GB.



More information about the Gcc-help mailing list