Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7956 Discussions

relocation truncated to fit: R_X86_64_32S

Sangamesh_B_
Beginner
606 Views
Hi,

While compiling NPB OpenMP benchmarks, I'm facing an error:

make IS CLASS=D
============================================
= NAS PARALLEL BENCHMARKS 3.3 =
= OpenMP Versions =
= F77/C =
============================================

cd IS; make CLASS=D
make[1]: Entering directory `/opt/packages/NPB3.3_intel/NPB3.3-OMP/IS'
make[2]: Entering directory `/opt/packages/NPB3.3_intel/NPB3.3-OMP/sys'
cc -o setparams setparams.c
make[2]: Leaving directory `/opt/packages/NPB3.3_intel/NPB3.3-OMP/sys'
../sys/setparams is D
make.def modified. Rebuilding npbparams.h just in case
rm -f npbparams.h
../sys/setparams is D
icc -c -O -Wp64 is.c
is.c(184): warning #161: unrecognized #pragma
#pragma omp threadprivate(bucket_ptrs)
^

is.c(298): warning #161: unrecognized #pragma
#pragma omp threadprivate(KS, R23, R46, T23, T46)
^

is.c(420): warning #161: unrecognized #pragma
#pragma omp parallel private(x,s,i,k)
^

is.c(494): warning #161: unrecognized #pragma
#pragma omp parallel for
^

is.c(533): warning #161: unrecognized #pragma
#pragma omp parallel for private(i,j,k,k1) schedule(dynamic)
^

is.c(574): warning #161: unrecognized #pragma
#pragma omp parallel for reduction(+:j)
^

is.c(625): warning #161: unrecognized #pragma
#pragma omp parallel private(i, k)
^

is.c(648): warning #161: unrecognized #pragma
#pragma omp for schedule(static)
^

is.c(668): warning #161: unrecognized #pragma
#pragma omp for schedule(static)
^

is.c(691): warning #161: unrecognized #pragma
#pragma omp for schedule(dynamic)
^

is.c(966): (col. 5) remark: PARTIAL LOOP WAS VECTORIZED.
is.c(969): (col. 5) remark: LOOP WAS VECTORIZED.
is.c(644): (col. 5) remark: LOOP WAS VECTORIZED.
is.c(698): (col. 9) remark: LOOP WAS VECTORIZED.
is.c(495): (col. 5) remark: LOOP WAS VECTORIZED.
is.c(448): (col. 10) remark: PARTIAL LOOP WAS VECTORIZED.
is.c(317): (col. 9) remark: PARTI AL LOOP WAS VECTORIZED.
is.c(395): (col. 19) remark: PARTIAL LOOP WAS VECTORIZED.
is.c(403): (col. 13) remark: PARTIAL LOOP WAS VECTORIZED.
cd ../common; icc -c -O -Wp64 c_print_results.c
cd ../common; icc -c -O -Wp64 c_timers.c
cd ../common; icc -c -O -Wp64 -o c_wtime.o ../common/wtime.c
../common/wtime.c(13): warning #810: conversion from "__time_t={long}" to "int" may lose significant bits
if (sec < 0) sec = tv.tv_sec;
^

icc -O -o ../bin/is.D is.o ../common/c_print_results.o ../common/c_timers.o ../common/c_wtime.o -lm
is.o: In function `main':
is.c:(.text+0x3cb): relocation truncated to fit: R_X86_64_32S against symbol `key_array' defined in COMMON section in is.o
is.c:(.text+0x3fc): relocation truncated to fit: R_X86_64_PC32 against symbol `bucket_size' defined in COMMON section in is.o
is.c:(.text+0x416): relocation truncated to fit: R_X86_64_PC32 against symbol `bucket_size' defined in COMMON section in is.o
is.c:(.text+0x4e6): relocation truncated to fit: R_X86_64_PC32 against symbol `key_buff_ptr_global' defined in COMMON section in is.o
is.c:(.text+0x517): relocation truncated to fit: R_X86_64_32S against symbol `key_array' defined in COMMON section in is.o
is.c:(.text+0x538): relocation truncated to fit: R_X86_64_PC32 against symbol `key_array' defined in COMMON section in is.o
is.c:(.text+0x544): relocation truncated to fit: R_X86_64_32S against symbol `key_array' defined in COMMON section in is.o
is.o: In function `rank':
is.c:(.text+0x76e): relocation truncated to fit: R_X86_64_32S against symbol `key_array' defined in COMMON section in is.o
is.c:(.text+0x782): relocation truncated to fit: R_X86_64_32S against symbol `key_array' defined in COMMON section in is.o
is.c:(.text+0x78a): relocation truncated to fit: R_X86_64_32S against symbol `key_array' defined in COMMON section in is.o
is.c:(.text+0x792): additional relocation overflows omitted from the output
make[1]: *** [../bin/is.D] Error 1
make[1]: Leaving directory `/opt/packages/NPB3.3_intel/NPB3.3-OMP/IS'
make: *** [is] Error 2

For this class of NPB benchmark, there are some restrictions given in the document as shown below:

"Class D for IS (Integer Sort) requires a compiler/system that
supports the "long" type in C to be 64-bit. As examples, the SGI
MIPS compiler for the SGI Origin using the "-64" compilation flag and
the Intel compiler for IA64 are known to work."

The system, that I'm running the benchmark is four Quad-core Intel Xeon processor 7300 series, with 64 GB RAM.
I'm using Intel C++?fortran Compilers , version 10.1
I tried "-Wp64"

Is this system compatible to compile the above program?

Thanks,
Sangamesh
0 Kudos
1 Reply
tianyuan_w_
Beginner
606 Views

I met the same problem as you said above recently,  did you solve this problem? Can you share the solution with me?Thanks

0 Kudos
Reply