[Nek5000-users] Compilation error

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Wed Jan 12 15:32:10 CST 2011


Hi,

You don't have enough memory on your system for
the per-processor resources required.

Depending on compiler/processor, adding

G="-mcmodel=medium"

might resolve this, particularly if you are on a 64-bit
architecture.

If you are running in parallel it's certain that you
can reduce LELT and then just use a correspondingly
higher processor count.

Note that per-node (per core) memory scales roughly as

     M*(lx1*ly1*lz1*lelt)*8 bytes

where M ~ 300

As an example, if your problem requires 4000 elements and you have
16 processors, it is sufficient to set LELT > (4000/16 - 1) = 249.

hth,

Paul



On Wed, 12 Jan 2011, nek5000-users at lists.mcs.anl.gov wrote:

> Hi,
>
> when compiling a medium size case, i obtained this error message:
>
> obj/prepost.o: In function `fill_tmp_':
> prepost.f:(.text+0x2e89): relocation truncated to fit: R_X86_64_32S
> against symbol `scrcg_' defined in COMMON section in obj/gmres.o
> obj/prepost.o: In function `outhis_':
> prepost.f:(.text+0x5571): relocation truncated to fit: R_X86_64_32S
> against symbol `scrcg_' defined in COMMON section in obj/gmres.o
> obj/prepost.o: In function `prepost_map_':
> prepost.f:(.text+0x6f34): relocation truncated to fit: R_X86_64_32S
> against symbol `scrcg_' defined in COMMON section in obj/gmres.o
> obj/ic.o: In function `mfi_':
> ic.f:(.text+0xa33): relocation truncated to fit: R_X86_64_32S against
> symbol `scrcg_' defined in COMMON section in obj/gmres.o
> obj/planx.o: In function `updrhsh2_':
> planx.f:(.text+0x22): relocation truncated to fit: R_X86_64_32S against
> symbol `vrthoi_' defined in COMMON section in obj/planx.o
> obj/planx.o: In function `updtseth2_':
> planx.f:(.text+0x3b0): relocation truncated to fit: R_X86_64_32S against
> symbol `vrthoi_' defined in COMMON section in obj/planx.o
> planx.f:(.text+0x3c1): relocation truncated to fit: R_X86_64_PC32
> against symbol `vrthoi_' defined in COMMON section in obj/planx.o
> planx.f:(.text+0x3e2): relocation truncated to fit: R_X86_64_32S against
> symbol `vrthoi_' defined in COMMON section in obj/planx.o
> planx.f:(.text+0x42d): relocation truncated to fit: R_X86_64_32S against
> symbol `vrthoi_' defined in COMMON section in obj/planx.o
> planx.f:(.text+0x4b4): relocation truncated to fit: R_X86_64_32S against
> symbol `vrthoi_' defined in COMMON section in obj/planx.o
> obj/planx.o: In function `projh2_':
> planx.f:(.text+0x61d): additional relocation overflows omitted from the
> output
> collect2: ld returned 1 exit status
> make: *** [nek5000] Error 1
>
> Any help?.
>
> Thanks in advance.
>
>
> _______________________________________________
> Nek5000-users mailing list
> Nek5000-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>
uuuuu
#!/bin/bash
# Nek5000 build config file
# (c) 2008,2009,2010 UCHICAGO ARGONNE, LLC

# source path 
SOURCE_ROOT="$HOME/nek5_svn/trunk/nek"

# Fortran compiler
F77="gfortran44"

# C compiler
CC="gcc44"

# pre-processor symbol list 
# (set PPLIST=? to get a list of available symbols)
#PPLIST="?"

# plug-in list
PLUGIN_LIST=""


# OPTIONAL SETTINGS
# -----------------

# enable MPI (default true)
IFMPI="false"

# auxilliary files to compile
# NOTE: source files have to located in the same directory as makenek
#       a makefile_usr.inc has to be provided containing the build rules 
#USR="foo.o"

# linking flags
#USR_LFLAGS="-L/usr/lib -lfoo"

# generic compiler flags
#G="-g"

# optimization flags
#OPT_FLAGS_STD=""
#OPT_FLAGS_MAG=""

# enable AMG coarse grid solver (default XXT)
#IFAMG="true"
#IFAMG_DUMP="true"

# CVODE path
#CVODE_DIR=$HOME/cvode/lib

# MOAB/iMESH path
#MOAB_DIR="$HOME/moab"


###############################################################################
# DONT'T TOUCH WHAT FOLLOWS !!!
###############################################################################
# assign version tag
mver=1
# overwrite source path with optional 2nd argument
if [ -d $2 ] && [ $# -eq 2 ]; then
   SOURCE_ROOT="$2"
   echo "change source code directory to: ", $SOURCE_ROOT
fi
# do some checks and create makefile
source $SOURCE_ROOT/makenek.inc
# compile
make -j4 -f makefile 2>&1 | tee compiler.out
exit 0



More information about the Nek5000-users mailing list