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 “yum.baseurl.org” 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/”):
git
for /usr/bin/git
make
for /usr/bin/make
g++
(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++
gcc
for /usr/bin/gcc
binutils
for /usr/bin/ld
libX11-devel
for usr/include/X11/Xlib.h and for /usr/lib/libX11.so
libXpm-devel
for /usr/include/X11/xpm.h and for /usr/lib/libXpm.so
libXft-devel
for /usr/include/X11/Xft/Xft.h and for /usr/lib/libXft.so
libXext-devel
for /usr/include/X11/extensions/shape.h and for /usr/lib/libXext.so
python
(ROOT6 requires version >= 2.5)
Download root from "root.cern.ch/drupal/content/downloading-root"
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.
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
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?
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):
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).
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?
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.
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.