Building root, Issue with bin/thisroot.sh

Hi,

I just downloaded root version root-6.06.02 and untarred it etc.

in README it talks about setting environment variable as below

To set the needed environment variables, PATH and LD_LIBRARY_PATH, use
the following convenience script. For the sh shell family do:

. /root/bin/thisroot.sh

Now root/bin does not exist but the following exists

hduser@rhes564::/data6/hduser/root-6.06.02> find ./ -name thisroot.sh
./config/thisroot.sh

Anyway is this correct?

Doing root/config> . ./thisroot.sh

it throws error

-ksh: .: line 140: root-config: not found

Appreciate any help.

Thanks,

Mich

you should “source” this script. If you are in the directory where ROOT is installed, do:

source bin/thisroot.sh

Thanks for the hint.

I believe source is for csh and not ksh or sh.

Also do you have any idea where root/bin directory is because the code in thisroot.sh file looks for bin directory

the other ways is:

. bin/thisroot.sh

Well there is no bin directory anywhere under root

hduser@rhes564::/data6/hduser/root> find ./ -name bin
hduser@rhes564::/data6/hduser/root>

You should install root first.

what do you have in
/data6/hduser/root

?

Thanks

This is what I have under root (basically unzipped and untarred)

hduser@rhes564::/data6/hduser/root> ls
CMakeLists.txt  Makefile  README.md  build  config     core  documentation  fonts  graf2d  gui   html   interpreter  macros  man   misc        net    roofit  sql   tmva  tutorials
LICENSE         README    bindings   cmake  configure  doc   etc            geom   graf3d  hist  icons  io           main    math  montecarlo  proof  rootx   test  tree

yes, that’s the source. you should build ROOT.
root.cern.ch/building-root

Thanks,

Is there such thing as a binary download of ROOT without building it from source please?

regards

The latest release (as of today): Release 6.06/02 - 2016-03-03

Cheers

Downloaded root_v6.06.02.Linux-ubuntu14-x86_64-gcc4.8

When I run it I get
root
/data6/hduser/root/bin/root.exe: error while loading shared libraries: /data6/hduser/root/lib/libCore.so: ELF file OS ABI invalid

What is the quickest solution to this please? My OS is RHES5 64-bit

Linux version 2.6.18-92.el5xen (brewbuilder@ls20-bc2-13.build.redhat.com) (gcc version 4.1.2 20071124 (Red Hat 4.1.2-41))

May be I need to download an older version?

thanks

Well, RHES5 sounds like “CentOS 5” and “Scientific Linux (Cern) 5 / SL© 5”.
For ROOT 6 you need gcc 4.8 or newer (if you get it for your system you can try to compile ROOT 6 on your machine).
If you only have gcc 4.1 ( or any newer gcc < 4.8 ), you can try ROOT 5 (take the head of the “v5-34-00-patches” branch), but I’m afraid you will need to compile it yourself.
Maybe you can find something ready for your system in AFS:
/afs/cern.ch/sw/lcg/app/releases/ROOT/
/afs/cern.ch/sw/lcg/external/gcc/

See here ROOT 6 build from source error gcc 4.7.2
how to build your own gcc 4.9 and then ROOT.

Thanks a lot.

I followed your link above, doing the install as root on RHES Linux

cmake --build .

I go the following error

[ 47%] Generating etc/allDict.cxx.pch
[ 47%] Built target onepcm
[ 47%] Generating dummy.cxx
Scanning dependencies of target Thread
[ 47%] Building CXX object core/thread/CMakeFiles/Thread.dir/dummy.cxx.o
[ 47%] Linking CXX shared library …/…/lib/libThread.so
[ 47%] Built target Thread
[ 47%] Generating dummy.cxx
Scanning dependencies of target RIO
[ 47%] Building CXX object io/io/CMakeFiles/RIO.dir/dummy.cxx.o
[ 47%] Linking CXX shared library …/…/lib/libRIO.so
[ 47%] Built target RIO
Scanning dependencies of target Cling
[ 47%] Building CXX object core/meta/CMakeFiles/Cling.dir/__/metautils/src/TMetaUtils.cxx.o
[ 47%] Linking CXX shared library …/…/lib/libCling.so
/usr/bin/ld: …/…/interpreter/llvm/src/lib/libclingInterpreter.a(ClangInternalState.cpp.o): relocation R_X86_64_PC32 against `_ZNK5clang12CapturedDecl7getBodyEv’ can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
gmake[2]: *** [lib/libCling.so] Error 1
gmake[1]: *** [core/meta/CMakeFiles/Cling.dir/all] Error 2
gmake: *** [all] Error 2

Any clues?

Thanks

Does this error also appear if you try a clean install of the master branch? (Download through git pull and then do not checkout any branch).

Note also that you can fasten the compilation by using “make -j8” instead of “cmake --build .”

If the error remains, then please post the output of “printenv”, “g++ --version” and “gcc --version”.

Cheers.

BTW my cmake is picked from

/opt/root6
-bash-3.2# which cmake
/usr/lib/cmake/bin/cmake
-bash-3.2# cmake -version
cmake version 3.5.0

but I believe there is cmake within /opt/root6?

Thanks

Thanks

-bash-3.2# printenv
HOSTNAME=rhes564
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=50.140.197.219 61932 22
OLDPWD=/opt
SSH_TTY=/dev/pts/1
CMAKE_HOME=/usr/lib/cmake
USER=root
LD_LIBRARY_PATH=/opt/gcc-4.9/lib64/
LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:.cmd=00;32:.exe=00;32:.com=00;32:.btm=00;32:.bat=00;32:.sh=00;32:.csh=00;32:.tar=00;31:.tgz=00;31:.arj=00;31:.taz=00;31:.lzh=00;31:.zip=00;31:.z=00;31:.Z=00;31:.gz=00;31:.bz2=00;31:.bz=00;31:.tz=00;31:.rpm=00;31:.cpio=00;31:.jpg=00;35:.gif=00;35:.bmp=00;35:.xbm=00;35:.xpm=00;35:.png=00;35:.tif=00;35:
MAIL=/var/spool/mail/root
PATH=/usr/lib/cmake/bin:/usr/lib/cmake/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
INPUTRC=/etc/inputrc
PWD=/opt/root6
LANG=en_US.UTF-8
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SHLVL=1
HOME=/root
LOGNAME=root
CVS_RSH=ssh
SSH_CONNECTION=50.140.197.219 61932 50.140.197.217 22
LESSOPEN=|/usr/bin/lesspipe.sh %s
DISPLAY=localhost:10.0
G_BROKEN_FILENAMES=1
_=/usr/bin/printenv
-bash-3.2# printenv|more
HOSTNAME=rhes564
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=50.140.197.219 61932 22
OLDPWD=/opt
SSH_TTY=/dev/pts/1
CMAKE_HOME=/usr/lib/cmake
USER=root
LD_LIBRARY_PATH=/opt/gcc-4.9/lib64/
LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:.cmd=00;32:.exe=00;32:.com=00;32:.btm=00;32:.bat=00;32:.sh=00;32:.csh=00;32:.tar=00;
31:.tgz=00;31:.arj=00;31:.taz=00;31:.lzh=00;31:.zip=00;31:.z=00;31:.Z=00;31:.gz=00;31:.bz2=00;31:.bz=00;31:.tz=00;31:.rpm=00;31:.cpio=00;31:.jpg=00;35:.gif=00;35:.bmp=00;35:.xbm=00;35:.xpm=00;35:
.png=00;35:.tif=00;35:
MAIL=/var/spool/mail/root
PATH=/usr/lib/cmake/bin:/usr/lib/cmake/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
INPUTRC=/etc/inputrc
PWD=/opt/root6
LANG=en_US.UTF-8
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SHLVL=1
HOME=/root
LOGNAME=root
CVS_RSH=ssh
SSH_CONNECTION=50.140.197.219 61932 50.140.197.217 22
LESSOPEN=|/usr/bin/lesspipe.sh %s
DISPLAY=localhost:10.0
G_BROKEN_FILENAMES=1
_=/usr/bin/printenv

-bash-3.2# g++ --version
g++ (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42)

-bash-3.2# gcc --version
gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42)

I think the cmake version should be enough, that’s not the problem. Maybe you can also post the output log when you cmake-configure (cmake -DCMAKE… ), is there any warning?

And try if you can the master branch to see if the problem is gone.

Hi,

Can you please elaborate on below

“And try if you can the master branch to see if the problem is gone.”

I presume you mean download from

root.cern.ch/content/release-60602

also I wonder which version is nearest to rhes 5?

Thanks

No, I mean the following:

First clean whatever you installed before.

rm -r /opt/root6/*

Then, download the source through the git repository

cd /opt/root6
git clone http://root.cern.ch/git/root.git root6_src

You are then automatically on the master branch (the latest version, nowadays 6.07/05), so no need to do nothing else. Later:

export LD_LIBRARY_PATH=/opt/gcc-4.9/lib64/ cmake -Droofit=true -Dhttp=true -DCMAKE_CXX_COMPILER=/opt/gcc-4.9/bin/g++ -DCMAKE_C_COMPILER=/opt/gcc-4.9/bin/gcc -DCMAKE_Fortran_COMPILER=/opt/gcc-4.9/bin/gfortran /opt/root6/root6_src/ make -j8

(Post also output of cmake -D…)

Also, did you have an old install of clang or llvm in your system, which may be interfering? What is the output of “locate libclingInterpreter.a”