[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