failed to convert GOTPCREL relocation

Asked by HuanyuBi on 2020-10-20

Hi

I get a compilation error. what i did is:

import model loop_sm-no_b_mass
set complex_mass_scheme True
generate u u~ > mu- vm~ e+ ve b~ b b~ b [virt=QCD]
output standalone uux-ttbb-MG5-standalonemode

then i just quit MG5 by "Ctrl+c" and cd into uux-ttbb-MG5-standalonemode/SubProcesses/P0_uux_mumvmxepvebxbbxb/
then I do "make check" and I get error(here i use "..." to denote some unimportant information ):

gfortran -w -fPIC -ffixed-line-length-132 -O3 -c polynomial.f -o polynomial.o -I /net/home/lxtsfs1/tpe/bihy/MG5_aMC_v2_7_3/HEPTools/include
......
......
gfortran -O -w -fbounds-check -fPIC -ffixed-line-length-132 -o check check_sa.o MadLoopParamReader.o MadLoopCommons.o polynomial.o loop_matrix.o.........................................................................................................-L../../lib/ -ldhelas -lmodel -L../../lib/ -lcts -liregi -L/net/home/lxtsfs1/tpe/bihy/MG5_aMC_v2_7_3/HEPTools/lib/ -lninja -L/net/home/lxtsfs1/tpe/bihy/MG5_aMC_v2_7_3/HEPTools/lib/ -lavh_olo -lstdc++
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: failed to convert GOTPCREL relocation; relink with --no-relax
collect2: error: ld returned 1 exit status
make: *** [makefile:77: check] Error 1

I checked if the process is uu~>uu~ [virt=QCD], then everything is fine.

Best regards,
Huanyu

Question information

Language:
English Edit question
Status:
Solved
For:
MadGraph5_aMC@NLO Edit question
Assignee:
No assignee Edit question
Solved by:
Olivier Mattelaer
Solved:
2020-10-26
Last query:
2020-10-26
Last reply:
2020-10-21

This question was reopened

HI,

You are trying to compute a very very large loop computation. I'm impressed.
The issue might be that you have to allow the compiler to allocate extra amount of RAM for the process to go trough to do so you have to edit the file
Source/make_opts
and then add the flag "-mcmodel=medium" to FFLAGS
changed the line
FFLAGS= -O -w -fbounds-check -fPIC
to
FFLAGS= -O -w -fbounds-check -fPIC -mcmodel=medium

Not sure that this will be enough.
You might also try what they suggestt to add "--no-relax" to the LD_FLAGS by changing
LDFLAGS=$(STDLIB) $(MACFLAG)
tto
LDFLAGS=$(STDLIB) $(MACFLAG) --no-relax

Cheers,

Olivier

HuanyuBi (bihuanyu) said : #2

Hi Olivier,

thanks for you answer.

this, "add the flag "-mcmodel=medium" to FFLAGS", solved my problem.
but I tried "-mcmodel=large", then I get the same "failed to convert GOTPCREL relocation" error. do you know why?

besides, by adding "--no-relax" to the LD_FLAGS, i get another error, i.e., "gfortran: error: unrecognized command line option ‘--no-relax’; did you mean ‘--no-help’?".
do you know why ?

Best regards
Huanyu

HuanyuBi (bihuanyu) said : #3

Thanks Olivier Mattelaer, that solved my question.