Problem with library MathCore linker


ROOT Version: 6.18.02
Platform: Elementary (Ubuntu 16.04)
Compiler: g++ 5.5.0 20171010


Hi everybody,

I’m having a little problem with a fresh new ROOT installation. I tried to run an old code that worked perfectly on an old laptop (cannot remember ROOT version). The code was compiled using g++ compiler with the following bash script:

#! /bin/bash

g++ -o accident macro.cpp `root-config --cflags --libs` source/Source.cpp source/Utility.cpp source/Transport.cpp source/Output.cpp source/OuterSource.cpp source/Dispersion.cpp source/Dose.cpp
./accident

the source/name.cpp are self-written libraries. The problem I have running this script is:

/usr/bin/ld: /tmp/cc0bU8xm.o: undefined reference to symbol '_ZN5TMath4GausEdddb'
/home/nicola/Downloads/root-6.18.02-build/lib/libMathCore.so: error adding symbols: DSO missing from command line

while I was looking for a solution i realized is a linker problem to the MathCore library. But when I run the command root-config --libs :

-L/home/nicola/Downloads/root-6.18.02-build/lib -lCore -lImt -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lROOTVecOps -lTree -lTreePlayer -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -lMultiProc -lROOTDataFrame -pthread -lm -ldl -rdynamic

I can see the command -lMathCore, so I have no idea of what to do.

In any case I attach the macro.cpp file
macro.cpp (850 Bytes)

Any kind of help is appreciated

Try:

`root-config --cxx --cflags` -o accident macro.cpp source/Source.cpp source/Utility.cpp source/Transport.cpp source/Output.cpp source/OuterSource.cpp source/Dispersion.cpp source/Dose.cpp `root-config --libs`

It works perfectly. But how, without calling the g++ compiler?

Thank you so much

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.