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 “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.

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

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

[quote=“couet”]
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.

http://puu.sh/aRWQH/913f2cebc6.png

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?

root.cern.ch/drupal/content/inst … 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 http://root.cern.ch/git/root.git v5-34-00-patches
cd v5-34-00-patches
unset ROOTSYS
./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.cern.ch/drupal/content/build-prerequisites

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

Hello

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?

Regards,
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.

Hello

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