Using root linux binary with gcc 4.4?

Dear ROOTers,

I have a question regarding the use of ROOT with OpenSUSE 11.2.

Since the compiler version installed with OpenSUSE 11.2 is gcc 4.4.1 my question is:
Is it possible to install the binary “root_v5.27.04.Linux-slc5-gcc4.3.tar.gz” and compile my program with gcc 4.4.1?
(Since I do not have OpenSUSE on my Mac I cannot test it myself.)

Best regards
Christian

Hi,

GCC 4.3 and 4.4 should be binary compatible - except possibly for STL objects. So you’re anyway better off compiling it from source - which is really easy, too. See root.cern.ch/drupal/content/inst … oot-source

Cheers, Axel.

Dear Axel,

Thank you for your reply. Normally I do not use the STL, however I have two methods which use std::vector<Double_t> and two functions template . I hope that this will not be a problem. What do you think?

FYI, personally I am always compiling ROOT from source. However, I was asked this question by sysadmins who would prefer to use binaries since it would make their life easier, especially since it takes about 40 min to compile ROOT.

Best regards
Christian

Hi,

I cannot guarantee that GCC’s libstdc++ is binary compatible between 4.3 and 4.4 - not even for vector. Compiling ROOT from source takes much much less if you do e.g. make -j10 (appropriate for an eight core).

Cheers, Axel.

Dear Axel,

Thank you for this information.

Best regards
Christian

Dear Axel,

Meanwhile I have installed openSUSE 11.3 64bit on my MacBookPro, and have installed the binary “root_v5.27.04.Linux-slc5_amd64-gcc4.3.tar.gz”.

As you can se from the following error message, I am not even able to run the tutorials:

root [0] .x demos.C
root [1] dlopen error: libjpeg.so.62: cannot open shared object file: No such file or directory
Load Error: Failed to load Dynamic link library /home/rabbitus/ROOT/SLC5/root/lib/libASImage.so
Error in <TGHScrollBar::TGHScrollBar>: arrow_*.xpm not found
Error in <TGVScrollBar::TGVScrollBar>: arrow_*.xpm not found

 *** Break *** segmentation violation



===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
#0  0x00007fbca15b6bbe in waitpid () from /lib64/libc.so.6
#1  0x00007fbca15543b1 in do_system () from /lib64/libc.so.6
#2  0x00007fbca3693052 in TUnixSystem::StackTrace() () from /home/rabbitus/ROOT/SLC5/root/lib/libCore.so
#3  0x00007fbca3693b05 in TUnixSystem::DispatchSignals(ESignals) () from /home/rabbitus/ROOT/SLC5/root/lib/libCore.so
#4  <signal handler called>
#5  0x00007fbc9ced6231 in TGHScrollBar::SetPosition(int) () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#6  0x00007fbc9ce27f84 in TGCanvas::Layout() () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#7  0x00007fbc9ce6b912 in TGCompositeFrame::MapSubwindows() () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#8  0x00007fbc9ce6b912 in TGCompositeFrame::MapSubwindows() () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#9  0x00007fbc9cf41890 in TRootCanvas::CreateCanvas(char const*) () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#10 0x00007fbc9cf41dd4 in TRootCanvas::TRootCanvas(TCanvas*, char const*, int, int, unsigned int, unsigned int) ()
   from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#11 0x00007fbc9cf4c2dc in TRootGuiFactory::CreateCanvasImp(TCanvas*, char const*, int, int, unsigned int, unsigned int)
    () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#12 0x00007fbc9ec927de in TCanvas::Constructor(char const*, char const*, int, int, int, int) ()
   from /home/rabbitus/ROOT/SLC5/root/lib/libGpad.so
#13 0x00007fbc9ec930a3 in TCanvas::TCanvas(char const*, char const*, int, int, int, int) ()
   from /home/rabbitus/ROOT/SLC5/root/lib/libGpad.so
#14 0x00007fbc9ed087c8 in G__G__GPad_147_0_13(G__value*, char const*, G__param*, int) ()
   from /home/rabbitus/ROOT/SLC5/root/lib/libGpad.so
#15 0x00007fbca2aacca4 in Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) () from /home/rabbitus/ROOT/SLC5/root/lib/libCint.so
#16 0x00007fbca2b5c1d0 in G__execute_call () from /home/rabbitus/ROOT/SLC5/root/lib/libCint.so
#17 0x00007fbca2b5d9b9 in G__call_cppfunc () from /home/rabbitus/ROOT/SLC5/root/lib/libCint.so
#18 0x00007fbca2b38fd9 in G__interpret_func () from /home/rabbitus/ROOT/SLC5/root/lib/libCint.so
#19 0x00007fbca2b27ffa in G__getfunction () from /home/rabbitus/ROOT/SLC5/root/lib/libCint.so
#20 0x00007fbca2b57ee1 in G__new_operator () from /home/rabbitus/ROOT/SLC5/root/lib/libCint.so
#21 0x00007fbca2b01826 in G__getexpr () from /home/rabbitus/ROOT/SLC5/root/lib/libCint.so
#22 0x00007fbca2aedc19 in G__define_var () from /home/rabbitus/ROOT/SLC5/root/lib/libCint.so
#23 0x00007fbca2b8732a in G__exec_statement () from /home/rabbitus/ROOT/SLC5/root/lib/libCint.so
#24 0x00007fbca2b3a784 in G__interpret_func () from /home/rabbitus/ROOT/SLC5/root/lib/libCint.so
#25 0x00007fbca2b280d0 in G__getfunction () from /home/rabbitus/ROOT/SLC5/root/lib/libCint.so
#26 0x00007fbca2afab9a in G__getitem () from /home/rabbitus/ROOT/SLC5/root/lib/libCint.so
#27 0x00007fbca2afeb4f in G__getexpr () from /home/rabbitus/ROOT/SLC5/root/lib/libCint.so
#28 0x00007fbca2b0c664 in G__calc_internal () from /home/rabbitus/ROOT/SLC5/root/lib/libCint.so
#29 0x00007fbca2b99b54 in G__process_cmd () from /home/rabbitus/ROOT/SLC5/root/lib/libCint.so
#30 0x00007fbca3656fa5 in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*) ()
   from /home/rabbitus/ROOT/SLC5/root/lib/libCore.so
#31 0x00007fbca36543a3 in TCint::ProcessLineSynch(char const*, TInterpreter::EErrorCode*) ()
   from /home/rabbitus/ROOT/SLC5/root/lib/libCore.so
#32 0x00007fbca35b49d9 in TApplication::ExecuteFile(char const*, int*, bool) ()
   from /home/rabbitus/ROOT/SLC5/root/lib/libCore.so
#33 0x00007fbca35b2c75 in TApplication::ProcessLine(char const*, bool, int*) ()
   from /home/rabbitus/ROOT/SLC5/root/lib/libCore.so
#34 0x00007fbc9ec9f26f in TControlBarButton::Action() () from /home/rabbitus/ROOT/SLC5/root/lib/libGpad.so
#35 0x00007fbc9cf472fc in TRootControlBar::ProcessMessage(long, long, long) ()
   from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#36 0x00007fbc9ce690c9 in TGFrame::HandleClientMessage(Event_t*) () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#37 0x00007fbc9ce690e9 in TGMainFrame::HandleClientMessage(Event_t*) ()
   from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#38 0x00007fbc9ce694b0 in TGFrame::HandleEvent(Event_t*) () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#39 0x00007fbc9ce3030b in TGClient::HandleEvent(Event_t*) () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#40 0x00007fbc9ce30c5b in TGClient::ProcessOneEvent() () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#41 0x00007fbc9ce30ccd in TGClient::HandleInput() () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#42 0x00007fbca3691588 in TUnixSystem::DispatchOneEvent(bool) () from /home/rabbitus/ROOT/SLC5/root/lib/libCore.so
#43 0x00007fbca3610946 in TSystem::InnerLoop() () from /home/rabbitus/ROOT/SLC5/root/lib/libCore.so
#44 0x00007fbca3612bfc in TSystem::Run() () from /home/rabbitus/ROOT/SLC5/root/lib/libCore.so
#45 0x00007fbca35b096f in TApplication::Run(bool) () from /home/rabbitus/ROOT/SLC5/root/lib/libCore.so
#46 0x00007fbca2422238 in TRint::Run(bool) () from /home/rabbitus/ROOT/SLC5/root/lib/libRint.so
#47 0x000000000040106d in main ()
===========================================================


The lines below might hint at the cause of the crash.
If they do not help you then please submit a bug report at
http://root.cern.ch/bugs. Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.
===========================================================
#5  0x00007fbc9ced6231 in TGHScrollBar::SetPosition(int) () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#6  0x00007fbc9ce27f84 in TGCanvas::Layout() () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#7  0x00007fbc9ce6b912 in TGCompositeFrame::MapSubwindows() () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#8  0x00007fbc9ce6b912 in TGCompositeFrame::MapSubwindows() () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#9  0x00007fbc9cf41890 in TRootCanvas::CreateCanvas(char const*) () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#10 0x00007fbc9cf41dd4 in TRootCanvas::TRootCanvas(TCanvas*, char const*, int, int, unsigned int, unsigned int) ()
   from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#11 0x00007fbc9cf4c2dc in TRootGuiFactory::CreateCanvasImp(TCanvas*, char const*, int, int, unsigned int, unsigned int)
    () from /home/rabbitus/ROOT/SLC5/root/lib/libGui.so
#12 0x00007fbc9ec927de in TCanvas::Constructor(char const*, char const*, int, int, int, int) ()
   from /home/rabbitus/ROOT/SLC5/root/lib/libGpad.so
#13 0x00007fbc9ec930a3 in TCanvas::TCanvas(char const*, char const*, int, int, int, int) ()
   from /home/rabbitus/ROOT/SLC5/root/lib/libGpad.so
===========================================================


Root > Function first() busy flag cleared

This means that it is indeed necessary to compile root from source, which works as expected.

Best regards
Christian

Hi,

well - this

just means that there’s a missing library or the existing library has the wrong version.

Cheers, Axel.

Dear Axel,

Well, this just means that the root binary does not work with the official libjpeg.so.62 version for openSUSE 11.3.

Best regards
Christian