[FLASH-USERS] "relocation truncated to fit" error

Seyit Hocuk seyit at astro.rug.nl
Mon Sep 15 06:07:34 EDT 2008


Hi Mateusz,

For a very long time, I had the same error and nobody had the correct 
answer. I could partly solve it (meaning I can go now about 4 times 
higher in memory) by adding some flags in the Makefile.h. The place you 
put the flags are important though. Where you put your FCOMP and LINK 
add these flags "-fpic -i_dynamic" or "-i_dynamic -mcmodel=large", they 
both work. See example below. I had to experiment with a lot of number 
of flags and combinations to get it right.


FCOMP   = $(MPI_PATH)/bin/mpif90 -fpic -i_dynamic -mcmodel=large (or 
-mcmodel=medium)
CCOMP   = mpicc
CPPCOMP = mpiCC
LINK    = $(MPI_PATH)/bin/mpif90 -fpic -i_dynamic -mcmodel=large (or 
-mcmodel=medium)

Hope this helps.

Seyit






Mateusz Ruszkowski wrote:
>
>  Hi all,
>
> I am getting the following linking error:
>
>
> r_buildSummary.o tmr_create.o tmr_etime.o tmr_findTimerIndex.o 
> tmr_getMaxCallStackDepth.o
> tmr_getMaxTimerParents.o tmr_init.o tmr_lookupIndex.o tmr_stackLib.o 
> tree.o umap.o
> user_coord_transfm.o ut_conversionInterface.o ut_convertToArrayIndicies.o
> ut_convertToMemoryOffset.o ut_fndpos.o ut_hunt.o 
> ut_interpolationInterface.o ut_polint.o
> ut_quadraticInterpol.o workspace.o -L 
> /usr/local/hdf5-1.6.6-intel-mva/lib -lhdf5 -lz
> -L/usr/mpi/intel/mvapich2-1.0.2p1/lib -lfmpich -lmpich -libverbs 
> -libumad -lpthread
> /usr/local/intel/fce/10.1.013/lib/libimf.so: warning: warning: 
> feupdateenv is not implemented
> and will always fail
> Grid_conserveField.o: In function `grid_conservefield_':
> Grid_conserveField.F90:(.text+0xe): relocation truncated to fit: 
> R_X86_64_PC32 against symbol
> `tree_mp_lnblocks_' defined in COMMON section in tree.o
> Grid_conserveField.F90:(.text+0x47): relocation truncated to fit: 
> R_X86_64_32S against symbol
> `tree_mp_nodetype_' defined in COMMON section in tree.o
> Grid_conserveField.F90:(.text+0x98): relocation truncated to fit: 
> R_X86_64_PC32 against symbol
> `tree_mp_lnblocks_' defined in COMMON section in tree.o
> Grid_conserveField.F90:(.text+0xcc): relocation truncated to fit: 
> R_X86_64_32S against symbol
> `tree_mp_nodetype_' defined in COMMON section in tree.o
> Grid_conserveField.F90:(.text+0x2b9): relocation truncated to fit: 
> R_X86_64_32S against symbol
> `physicaldata_mp_bedge_facex_z_' defined in COMMON section in 
> physicaldata.o
> Grid_conserveField.F90:(.text+0x2c4): relocation truncated to fit: 
> R_X86_64_32S against symbol
> `physicaldata_mp_bedge_facex_z_' defined in COMMON section in 
> physicaldata.o
> Grid_conserveField.F90:(.text+0x2d3): relocation truncated to fit: 
> R_X86_64_32S against symbol
> `physicaldata_mp_bedge_facex_z_' defined in COMMON section in 
> physicaldata.o
> Grid_conserveField.F90:(.text+0x2de): relocation truncated to fit: 
> R_X86_64_32S against symbol
> `physicaldata_mp_bedge_facex_z_' defined in COMMON section in 
> physicaldata.o
> Grid_conserveField.F90:(.text+0x309): relocation truncated to fit: 
> R_X86_64_32S against symbol
> `physicaldata_mp_bedge_facex_z_' defined in COMMON section in 
> physicaldata.o
> Grid_conserveField.F90:(.text+0x310): relocation truncated to fit: 
> R_X86_64_32S against symbol
> `physicaldata_mp_bedge_facex_z_' defined in COMMON section in 
> physicaldata.o
> Grid_conserveField.F90:(.text+0x46b): additional relocation overflows 
> omitted from the output
> gmake: *** [flash3] Error 1
> [mateuszr at galaxy object]$
>
>
> The problem goes away if I reduce the number of maxblocks to 100 or
> if I set nxb=nyb=nzb=8 instead of nxb=nyb=nzb=16 but this
> "solution" is not optimal for computational reasons. I am wondering
> if there is some compilation
> option to fix this problem. According to Google there are some
> compilation options such as -mcmodel=medium -fPIC -i-dynamic. I tried 
> these but got very similar error messages, i.e., all related to the
> "relocation truncated to fit" linking error.
>
> I would be grateful for some sugestion if anybody encountered a similar
> problem and managed to fix it.
>
>   thanks,
>     Mateusz
>
> P.S. I am using ifort with
> /usr/mpi/intel/mvapich2-1.0.2p1/bin/mpif90 -c -r8 -i4 -O3 -real_size 
> 64 -DMAXBLOCKS=200 -DNXB=16 -DNYB=16 -DNZB=16 -DN_DIM=3
>
>




More information about the flash-users mailing list