compilation issue (missing root library)

Asked by jean-philippe fontaine

dear all;

I have recently downloaded the last version of madanalysis (madanalysis 5 ) for my internship; and I get a problem in the compilation. Here is it:
Platform: Linux 3.8.0-19-generic [Linux mode]
Checking mandatory packages:
     - python [OK]
     - python library: numpy [OK]
     - g++ [OK]
     - GNU Make [OK]
     - Root [FAILURE]
 ** ERROR: ROOT file called '/usr/local/root/lib/libPyROOT.so' is not found
 ** ERROR: Please check that ROOT is properly installed.

I didn't encounter any error running root before; and I used it to plot lot of things; without encountering this error. Do you know how to solve this issue? Where can I find this "libPyROOT.so" ?
My version of root is: root_v5.34.09.

Thanks in advance, regards

Jean-Philippe

Question information

Language:
English Edit question
Status:
Solved
For:
MadAnalysis 5 Edit question
Assignee:
No assignee Edit question
Solved by:
Benjamin Fuks
Solved:
Last query:
Last reply:
Revision history for this message
Eric Conte (eric-conte) said :
#1

Dear Jean-Philippe,

Thank you to use MadAnalysis 5. I do not know if it is the first time you used MadAnalysis or if this problem is related to the last release of the program.

MadAnalysis 5 requires the ROOT C++ and Python libraries. It seems that the Python libraries are missing.
To be sure, could you issue the following command line:
 root-config --features

and see if 'python' appears in the list of feature.

If it is not the case, you need to build again ROOT with this feature:
./configure --enable-python

Cheers,
Eric Conte

Revision history for this message
jean-philippe fontaine (j-philippe-fon) said :
#2

dear Eric,

Thanks a lot for your answer. It works perfectly.
I encounter now another problem (can I ask this in the same topic? ):

Building SampleAnalyzer libraries
   **********************************************************
   How many cores for the compiling? default = max = 8
   Answer: 7
   => Number of cores used for the compilation = 7
   **********************************************************
   Library 1/1 - general SampleAnalyzer component
     - Writing a Makefile ...
     - Cleaning the project before building the library ...
     - Compiling the source files ...
     - Linking the library ...
     - Checking that the library is properly built ...
     - Cleaning the project after building the library ...
     => Status: [OK]
   **********************************************************
   Test program
     - Writing a Makefile ...
     - Cleaning the project before building the program ...
     - Compiling the source files ...
     - Linking the program ...
 ** ERROR: impossible to link the project. For more details, see the log file:
 ** ERROR: /home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Test/linking_test.log
 ** ERROR: test program building aborted.

The log file is:
g++ -Wall -O3 -I/home/yoda/Bureau/madanalysis5/tools/ -I/home/yoda/Téléchargements/root/include -L/home/yoda/Téléchargements/root/lib -lGpad -lHist -lGraf -lGraf3d -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lEG -lRIO -lNet -lThread -lCore -lCint -pthread -lm -ldl -rdynamic -L/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib/ -lSampleAnalyzer -o SampleAnalyzerTest
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Read(char const*) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::IsFolder() const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::AppendPad(char const*) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::operator delete(void*) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TVector3::TVector3(TVector3 const&) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TLorentzVector::TLorentzVector(double, double, double, double) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::ExecuteEvent(int, int, int) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::InheritsFrom(TClass const*) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TLorentzVector::TLorentzVector(TVector3 const&, double) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Pop() »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Delete(char const*) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Info(char const*, char const*, ...) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TApplicationImp::Streamer(TBuffer&) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::FindObject(char const*) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « operator+(TVector3 const&, TVector3 const&) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::DistancetoPrimitive(int, int) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Execute(char const*, char const*, int*) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TLorentzVector::~TLorentzVector() »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Hash() const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::SysError(char const*, char const*, ...) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::GetObjectInfo(int, int) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TString::~TString() »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Error(char const*, char const*, ...) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::ls(char const*) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::SetDrawOption(char const*) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « typeinfo for TH1F »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Dump() const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::GetName() const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::InheritsFrom(char const*) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TVectorT<float>::TVectorT(int) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::SavePrimitive(std::ostream&, char const*) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::~TObject() »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::operator delete(void*, void*) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Inspect() const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TVectorT<float>::Delete_m(int, float*&) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::GetUniqueID() const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « gROOT »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TVector3::Perp() const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Browse(TBrowser*) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Write(char const*, int, int) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::FindObject(TObject const*) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::RecursiveRemove(TObject*) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Write(char const*, int, int) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Paint(char const*) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Warning(char const*, char const*, ...) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::GetDrawOption() const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TVersionCheck::TVersionCheck(int) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Execute(TMethod*, TObjArray*, int*) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::DrawClone(char const*) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::SetUniqueID(unsigned int) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TVector3::~TVector3() »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TH1F::TH1F(char const*, char const*, int, double, double) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TCanvasImp::ShowMembers(TMemberInspector&) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::UseCurrentStyle() »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TVector2::Phi_mpi_pi(double) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TVectorT<float>::Draw(char const*) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TCanvasImp::Class() »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TStorage::ObjectAlloc(unsigned long, void*) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TCanvasImp::Streamer(TBuffer&) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::ClassName() const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TVectorT<float>::Print(char const*) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TApplicationImp::Class() »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Compare(TObject const*) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TFile::TFile(char const*, char const*, char const*, int) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::DrawClass() const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Clone(char const*) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::SaveAs(char const*, char const*) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Copy(TObject&) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TApplicationImp::ShowMembers(TMemberInspector&) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::GetIconName() const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « gRandom »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::GetTitle() const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TVector3::PseudoRapidity() const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TLorentzVector::TLorentzVector(TLorentzVector const&) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::HandleTimer(TTimer*) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TVector3::Phi() const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TStorage::ObjectAlloc(unsigned long) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TClonesArray::TClonesArray(char const*, int, bool) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::IsEqual(TObject const*) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Fatal(char const*, char const*, ...) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TVectorT<float>::Streamer(TBuffer&) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « typeinfo for TObject »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TVectorT<float>::ShowMembers(TMemberInspector&) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « Fatal(char const*, char const*, ...) »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « kAssertMsg »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::DoError(int, char const*, char const*, __va_list_tag*) const »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TVectorT<float>::Class() »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TObject::Notify() »
/home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Lib//libSampleAnalyzer.so: référence indéfinie vers « TVector3::RotateZ(double) »
collect2: erreur: ld a retourné 1 code d'état d'exécution
make: *** [link] Erreur 1

Thanks in advance, regards

Jean-Philippe

Revision history for this message
Benjamin Fuks (fuks) said :
#3

Hi Jean-Philippe,

Can you please try with v1.1.11beta and let us know if the problem persists?

Cheers,

Benjamin

Revision history for this message
jean-philippe fontaine (j-philippe-fon) said :
#4

hi benjamin,

I am sorry but I don't know how to dowload v1.1.11beta (from https://code.launchpad.net/~ma5dev/madanalysis5/v1.1.11beta). Could you, please, show me how to do it? I don't see neither .tar.gz file nor a link for downloading it in another extension.

Thanks in advance,regards

Jean-Philippe

Revision history for this message
jean-philippe fontaine (j-philippe-fon) said :
#5

hi again,

I found the beta version (v1.1.11beta), tried it and the problem is still happening:
** ERROR: impossible to link the project. For more details, see the log file:
 ** ERROR: /home/yoda/Bureau/madanalysis5/tools/SampleAnalyzer/Test/linking_test.log
 ** ERROR: test program building aborted.

Thanks in advance, regards

Jean-Philippe

Revision history for this message
Benjamin Fuks (fuks) said :
#6

Hi Jean-Philippe,

Can you please send me the file mentioned in the error? (fuks_at_cern.ch)?

Thanks,

Benjamin

Revision history for this message
Benjamin Fuks (fuks) said :
#7

Dear Jean-Philippe,

Thanks for the file. Could you please try with v1.1.10_patch1 (to be downloaded from the main webpage). if the problem still persists, maybe could you forward me your skype account so that we could work that out together.

Cheers,

Benjamin

Revision history for this message
jean-philippe fontaine (j-philippe-fon) said :
#8

dear Benjamin,

Thank you very much for your answer.
It seems the problem is solved. Madanalysis is well-launched, without any big problem except 2 small ones:
- it tells me MadGrpah 5 not found (but maybe it comes from the fact that neither zlib library nor delphes library, FastJet are installed
- I have to rebuild root with the method described by Eric before, each time that I start my computer (as it says ROOT: failure in the Checking madatory packages).

Regards,

Jean-Philippe

Revision history for this message
Best Benjamin Fuks (fuks) said :
#9

Hi Jean-Philippe,

> - it tells me MadGrpah 5 not found (but maybe it comes from the fact that neither zlib library nor delphes library, FastJet are installed
This is fine as this is left out for further developments of a joint usage of mg5 and ma5.

> I have to rebuild root with the method described by Eric before, each time that I start my computer (as it says ROOT: failure in the Checking madatory packages).
You should add the execution of the thisroot.sh script in your bashrc file. I am confident that this will solve the problem.

Cheers,

Benjamin

Revision history for this message
jean-philippe fontaine (j-philippe-fon) said :
#10

Thanks Benjamin Fuks, that solved my question.