Package compilation error "multiple definition of 'nout_int'"

Asked by Ronan Schwarz

Hi,

While running "make" for CalcHEP 3.8.5 I am getting the following error (including the last gcc call):

gcc -g -fsigned-char -std=gnu99 -fPIC -Iinclude -I../../include -I../num/include -I../chep_crt/include -I../service2/include -I../getmem/include -I../mix_events/include -I../dynamicME/include -o ../../bin/lhe2tab lhe2tab.c ../mix_events/readLHE.c dummy_output.c ../../lib/num_c.a ../../lib/serv.a ../../include/VandPgate.c ../../lib/dummy.a ../../lib/ntools.a -lX11 -rdynamic -ldl -lm -lpthread
/usr/bin/ld: ../../lib/num_c.a(interface.o):/usr/local/calchep_3.8.5/c_source/num/interface.c:12: multiple definition of `nout_int'; /tmp/cci3aESG.o:/usr/local/calchep_3.8.5/c_source/tab/lhe2tab.c:13: first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:29: ../../bin/lhe2tab] Error 1
make[2]: Leaving directory '/usr/local/calchep_3.8.5/c_source/tab'
make[1]: *** [Makefile:13: all] Error 2
make[1]: Leaving directory '/usr/local/calchep_3.8.5/c_source'
make: *** [Makefile:33: COMPILE] Error 2

I had the same problem when I tried to compile other versions (3.8.4 and 3.7.5). How can I resolve the issue? My machine is running Manjaro Linux 20.1.1

Cheers,
Ronan

Question information

Language:
English Edit question
Status:
Solved
For:
CalcHEP Edit question
Assignee:
No assignee Edit question
Solved by:
Ronan Schwarz
Solved:
Last query:
Last reply:
Revision history for this message
Alexander Belyaev (alexander.belyaev) said :
#1

Hello,
we need more information:

1. Did you modify file
getFlags
in CalcHEP installation folder

2. do you have enough space in /tmp folder
a)go there:
cd /tmp
b) type
df -hs .
c) show us the result of this command

3. Which version of compiler fo you run?
gcc --version
to check

4.
In your CalcHEP installation folder do
a) make clean
(answering Y)
b) make
c) send us all information from the teminal

You can send all this to <email address hidden>

Regards,
Alexander

Revision history for this message
Alexander Pukhov (pukhov) said :
#2

Please  test improved version 3.8.6 which I put on WEB just now.

Up to now  all Linux compilers allow multiple definition of global
parameter if initialization of parameters is absent. But strictly
speaking C does does not allow it.

I have fixed this bug in all cases that I can find. So, I hope the
problem is solved.  If nevertheless you still see it, please send a
message.

Best

     Alexander Pukhov

On 07.10.2020 2:30, Alexander Belyaev wrote:
> Question #693304 on CalcHEP changed:
> https://answers.launchpad.net/calchep/+question/693304
>
> Status: Open => Answered
>
> Alexander Belyaev proposed the following answer:
> Hello,
> we need more information:
>
> 1. Did you modify file
> getFlags
> in CalcHEP installation folder
>
> 2. do you have enough space in /tmp folder
> a)go there:
> cd /tmp
> b) type
> df -hs .
> c) show us the result of this command
>
>
> 3. Which version of compiler fo you run?
> gcc --version
> to check
>
>
> 4.
> In your CalcHEP installation folder do
> a) make clean
> (answering Y)
> b) make
> c) send us all information from the teminal
>
> You can send all this to <email address hidden>
>
>
> Regards,
> Alexander
>

Revision history for this message
Ronan Schwarz (schwarzr) said :
#3

Thanks so much for your help!

Where exactly can find the improved version? It isn't on https://theory.sinp.msu.ru/~pukhov/calchep.html yet.

Cheers,
Ronan

Revision history for this message
Alexander Pukhov (pukhov) said :
#4

On 07.10.2020 14:06, Ronan Schwarz wrote:
> Question #693304 on CalcHEP changed:
> https://answers.launchpad.net/calchep/+question/693304
>
> Ronan Schwarz posted a new comment:
> Thanks so much for your help!
>
> Where exactly can find the improved version? It isn't on
> https://theory.sinp.msu.ru/~pukhov/calchep.html yet.

Just update the page.

Best

    Alexander Pukhov

>
> Cheers,
> Ronan
>

Revision history for this message
Ronan Schwarz (schwarzr) said :
#5

Version 3.8.6 works for me. Thanks again for your help!

Cheers,
Ronan