Trouble Installing

I have just started a master’s project and am trying to get up and running with ROOT.

Here is what I have done so far.

Install Scientific Linux 6.5
create user
log in to root
type visudo to open /etc/sudoers
press insert to start editing
Scroll down to where it says “root ALL=(ALL) ALL” and add a new line with "username ALL=(ALL) NOPASSWD:ALL"
press escape to stop editing
press shift(hold)+Z+Z to quit and save
You should now have root priveleges on your account by using the sudo command.
download YUM from “” then unzip and untar it “gunzip yum.X.X.X.tar.gz” "tar xf yum.X.X.X.tar"
navigate to home directory (command “cd”) and open the .bash_profile file with “sudo nano .bash_profile” here you can add paths that linux can run programs from without having to be inside that directory. type "PATH=$PATH:/directory/of/executable"
use yum to install (with “sudo yum install /name/”):
for /usr/bin/git
for /usr/bin/make
(ROOT 6 requires g++ 4.8 or clang 3.4; for SLC5/SLC6, gcc 4.8 is available in the developer toolset) for /usr/bin/g++
for /usr/bin/gcc
for /usr/bin/ld
for usr/include/X11/Xlib.h and for /usr/lib/
for /usr/include/X11/xpm.h and for /usr/lib/
for /usr/include/X11/Xft/Xft.h and for /usr/lib/
for /usr/include/X11/extensions/shape.h and for /usr/lib/
(ROOT6 requires version >= 2.5)
Download root from ""
Make sure to download the version the corresponds to your version of Scientific Linux and GCC (which
you can check with “yum list gcc”)
now unzip and tar the file just like with yum.
next we need to set a global variable for our new root(application) folder.
type “export ROOTSYS=/absolute/path/of/root” you can test this was done correctly by starting from and random file and typing “cd $ROOTSYS” this should take you to your root(application) file.
next we need to add the location of root.exe into our PATH variable. To do this type “export
PATH=$PATH:$ROOTSYS/bin”. Paths holds many different directories and this ads $ROOTSYS/bin to the
already existing PATH variable. (directories separated by “:”)

Next I tried to run ROOT by typing “root” into the terminal.

I got the error “cannot execute binary file”. I am using gcc version 4.4.7 and SL6.5.

I am at a loss. Any help would be appreciated.

If you type “which root” what do you get ?

If you type “which root” what do you get ?[/quote]

It prints “~/Downloads/root/bin/root”

You installed root in “Downloads” ?
In principle there is nothing against that … but it is weird… Is your ROOTSYS variable pointing to Downloads too ?

Yeah I was unsure where to put it so I decided to just install everything in downloads for now. I will not have many programs installed anyway so it shouldn’t become too much of a problem :stuck_out_tongue:

My $ROOTSYS points to "/home/mjukilop/Downloads/root"
And one of the paths in $PATH points to “$ROOTSYS/bin” which is “/home/mjukilop/Downloads/root/bin”

The version of scientific linux I installed was 6.5 i386 (assuming x86 version).
When using YUM to update or install programs the only listed programs were i686. Does this mean that program works on both 32bit and 64bit architechture(not sure if the correct word?)? Or are they not set up to work on my install of SL?

Just thought this may have been a cause of some problems.

You have a 32-bit system ia-32 / x86 / i[3456]86.
It seems to me however that you downloaded incompatible ROOT 6 binaries which were compiled for a 64-bit system amd64 / x86-64 / x64.

I read this as working on x86(32bit) and 64bit but now I feel like that might not be the case. In which case there isn’t a binary version of root for SL6 that is 32bit compatible and I will need to reinstall 64bit SL6?

If you want to use “x86-64” binaries then you do need a “x86-64” system.
I would say you should learn how to compile ROOT from scratch.

As detailed here? … oot-source

The easiest way would be to build ROOT “in-place” (in case anything goes wrong you’ll have additional “configure.out.txt” and “make.out.txt” files to look into):

rm -rf v5-34-00-patches
git clone -b v5-34-00-patches v5-34-00-patches
cd v5-34-00-patches
./configure --enable-soversion --all > configure.out.txt 2>&1
make > make.out.txt 2>&1

On some newer operating systems, you may need to add “--enable-gsl-shared --disable-fitsio” into the “configure” step.

Note: if you want to debug your code, you might like to modify the “configure” step:

./configure --enable-soversion --all --build=debug > configure.out.txt 2>&1

If you want to rebuild your ROOT, remember to always start from a clean source code (so that no remnants of any “old build” are present, for example run “make distclean” or maybe better “make maintainer-clean” before the new “configure” step).

Don’t miss the “Build Prerequisites” page:

ROOT on Ubuntu 16.04
Failed to install root-6.02.05 on ubuntu14.04(LTS)
Make[2]: *** [graf2d/asimage/libAfterImage/libAfterImage.a] Error 2
Undefined reference when trying to make ROOT
Error in installing root 5.34.05
ROOT takes days filling a few histograms in my pc
ROOT + valgrind
Installation problems (Ubuntu 14.04)
Old version vs. New Version Installation Processes
Compiling ROOT with Pythia8
Make: *** [lib/] Error 126 on Ubuntu 12.04
Make: *** [lib/] Error 126 on Ubuntu 12.04
No graphical output
No graphical output
Problem loading tree with objects
Installing/compiling ROOT 6.06/08 on Kubuntu 14.10
SLitrani update
Error when read fits file
Make[2]: *** [graf2d/asimage/libAfterImage/libAfterImage.a] Error 2
Function not plotted
How to install MathMore
Strange results with different ROOT versions
Warning in <TClassTable::Add>: class TFile already in
Problem with Filling ROOT Trees
Installing root on ubuntu 18.04
Error in installing any of the 5.34 version of ROOT in Fedora 28
Cannot draw canvas - root runtime error
Root installation problem when trying to download lz4 file from github repository
Missing Canvas
Does Root really need the developer tools at runtime on macOS?
Install ROOT5.34.34
Using the new Minimizer class on ROOT 5
Cern root install error for ubuntu
Problem compiling ROOT 5.34.36
Installation problems (Ubuntu 14.04)
Problem in configuring pythia8 with root and fastjet
GX11[.so | .dll | .dylib | .sl | .dl | .a] does not exist
Unable to install RooFit
Mac Sierra installation problems with ROOT 5.34.36

Thank you very much. This worked and I think I have figured out what everything in your code does as well :slight_smile:


Thank you for the response. I was hoping that it would really work this time but unfortunately it has not. I made sure to check that all of the packages in the build prerequisites were installed and up to date. I removed all other root versions and so on from my computer completely. I still get the very same error as before after following your commands precisely. I have attached the output files for the configure and make steps which may be of help to allude to the problem. Any thoughts?

JW Brummer

configure.out.txt (9.4 KB)
make.out.txt (2.1 MB)

From your “configure.out.txt”, I can see that you try to use some packages from the current “Anaconda” (“freetype”, “pcre”, “python2.7”, “xml2”). I don’t think this will work. The current Anaconda uses gcc 7.2 and apparently this compiler is not binary compatible with the gcc (provided by your operating system) that you try to build your ROOT with.

Please note also that the ROOT Team provides ready to use binary distributions, and maybe your system is one of the supported systems.


So, I have been able to build root and enable Mathmore thanks to your advice. I simply removed the anaconda2 folder completely and removed it from the PATH variable. I suppose it was interfering with the compiler in some way. The package was a requirement a while ago to run FREYA for simulating fission reactions which I don’t use extensively anymore.

Thanks again for the help.

Best regards,
JW Brummer