I’ve newly installed root 6.03 on my 64 bit Ubuntu (14.04 LTS) machine and for every macro I try to compile, I get the following Warning message. If I ignore the warning message, the macro crashes with segmentation fault. root 
root  .L plot00.C+
Info in TUnixSystem::ACLiC: creating shared library /home/narayan/rootwork/AN/./plot00_C.so
Warning in cling::IncrementalParser::CheckABICompatibility():
C++ ABI mismatch, compiled with GLIBCXX v20140404 running with v20150426
I have worked comfortably with root 5.34 and am not sure of the origin of this problem.
Where did you get ROOT from?
I am also facing the same problem in my ubuntu 14.04.
I got the root source from here:
My root version is this:
Your compiler and the one used to build ROOT are not the same. We probably didn’t update the ubuntu builders frequently enough. I have done that now and enabled auto update for them.
As a workaround I would suggest you to build ROOT from source, it’s fairly easy! See
In October I will discuss with some GCC people how we can reduce the pickiness of cling wrt the standard library version.
A workaround may be to define in the rootlogon.C the compiler that was used for compiling ROOT. (It is a guess, I did not try).
gSystem->SetMakeSharedLib((TString(gSystem->GetMakeSharedLib())).ReplaceAll("g++ ", "g++-4.8 ").Data());
In this example, your g++ current version is 4.9, but ROOT was compiled with 4.8, and your system still remembers it as g+±4.8.
I have the same in Fedora 23 with gcc5.3.1 and root 6.06.
Could you please tell me which is the highest gcc version to work with
You can use any version of gcc with ROOT 5.34.
With ROOT 6.06, you must either use a version of gcc 4.9 or older
or disable the use of the new ABI when compiling with gcc 5.1 or newer (this is a challenging option as you need to make sure that all the C++ libraries used to build ROOT are also build with the old ABI … i.e. usually means you can used pre-packaged products).
Got it. So since [quote]disable the use of the new ABI when compiling with gcc 5.1 or newer [/quote]
seemsa far too complicated I will continue using 5.34 as the main one.
As for the 6.06 I hope i can downgrade gcc to 4.9 or is it ok to use the precompiled 6.06 binaries?
In Ubuntu/Debian, you can downgrade to gcc 4.9 easily following:
Ok, I managed to build ROOT6 master (6.07.03) in Debian stretch (sid), by downgrading first the default gcc compiler (5.3) to 4.8. Now all error messages about ABIs, zmq and so on have disappeared.
I did this with the update-alternatives method described here:
http://askubuntu.com/a/26518. I post the complete workflow, in case someone has the same problem.
sudo apt-get install git dpkg-dev make g++ gcc binutils libx11-dev libxpm-dev \
sudo apt-get install gfortran libssl…
Well there must be a mistake, either in the previous post or this page
where we can see that Root 6.06.02 supports gcc5.1 to which I just downgraded in Fedora23. I tried to run th precompiled one and the output is
the whole message is in the .txt
Could someone clear this: is it mandatory to install gcc 4.9 (4.9.3 is ok?) and only that for Root 6.06?
errorROOT60602.txt (1.52 KB)
For ROOT6, I could not build with gcc5. I had to downgrade to 4.9. So 4.9.3 should be ok.
Concerning the ROOT6 version, I tried with 6.07.03, (which you can download through git, i.e. the master branch). But most probably all 6.xx.yy need a gcc<=4.9
got it. then I suppose that sth is not ok with the abovementioned filename. unless they mean that the prebuilt one was built with the use of gcc5.1 compiler.
whatever. 4.9 is the way out thanks
By the way, my previous comment applies if you build ROOT6 from source. I did not try at all with precompiled packages.
I was able to get root 6.6 working without a hitch in gentoo with gcc 5.3.0…
finally, after compiling gcc 4.9.3 and doing
https://stackoverflow.com/questions/17275348/how-to-specify-new-gcc-path-for-cmake before running cmake (notice that the last /gcc and /g++ is the filename not a folder level),
I made it and built Root 6.06.02 with c++11 and minuit2 on Fedora 23.
nice having this talk people
Alternatively, you can specify directly:
cmake -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ -DCMAKE_C_COMPILER=/opt/gcc-4.9/bin/gcc -DCMAKE_Fortran_COMPILER=/usr/local/bin/gfortran path/to/root_src
Thanks for your reply.
After some work, I managed to install ROOT v6.07.03 in Debian wheezy.
I post here my solution, in case someone wants to do the same.
First, I built gcc-4.9 from source in a fixed location, /opt in my case:
unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE
#Check also with printenv, /usr/local/lib and so on... that you do not have any extra personal libraries intefering...
aha, good hint ferhue!
in my next build!