Installing ROOT into a specific location

Hello,

I installed ROOT using the following commands :

wget https://root.cern.ch/download/root_v5.34.30.source.tar.gz tar -xzvf root_v5.34.30.source.tar.gz mv root root-5.34.30 && cd root-5.34.30 export PYTHON=$LOCATION/python/2.7.0/bin/python ./configure --prefix=$LOCATION/root/5.34.30/ \ --with-pythia6-libdir=$LOCATION/pythia/6.4.28/lib \ --disable-pythia8 \ --with-python-incdir=$PYTHON/include \ --with-python-libdir=$PYTHON/lib make -j make -j install

After checking root was starting and everything fine and I could run it
Then I ran some codes and I noticed this error message:

[quote]Fatal in TVirtualStreamerInfo::Factory: Cannot find the plugin handler for TVirtualStreamerInfo! $ROOTSYS/etc/plugins/TVirtualStreamerInfo does not exist or is inaccessible.
aborting
Error in TUnixSystem::StackTrace script /etc/root/gdb-backtrace.sh is missing
make: *** [phast-try] Abandon
[/quote]

I redid the root installation and I noticed an error during the installation. I’m neither on lxplus nor administrator, that’s why I used --prefix

[code]meyer1@h2ologin1:$LOCATION/root/root-5.34.30> make -j install

============================================================
=== ROOT BUILD SUCCESSFUL. ===
=== Run ‘make install’ now. ===

Installing binaries in $LOCATION/root/5.34.30//bin
Installing libraries in $LOCATION/root/5.34.30//lib/root
Installing headers in $LOCATION/root/5.34.30//include/root
Installing $LOCATION/root/root-5.34.30/main/src/rmain.cxx in $LOCATION/root/5.34.30//include/root
Installing cint/cint/include cint/cint/lib and cint/cint/stl in $LOCATION/root/5.34.30//lib/root/cint
Installing icons in $LOCATION/root/5.34.30//share/root/icons
Installing fonts in $LOCATION/root/5.34.30//share/root/fonts
Installing misc docs in $LOCATION/root/5.34.30//share/doc/root
Installing tutorials in $LOCATION/root/5.34.30//share/doc/root/tutorials
Installing tests in $LOCATION/root/5.34.30//share/doc/root/test
Installing macros in $LOCATION/root/5.34.30//share/root/macros
Installing man(1) pages in $LOCATION/root/5.34.30//share/man/man1
Installing config files in /etc/root
mkdir: impossible de créer le répertoire « /etc/root »: Permission non accordée
cp: la cible « /etc/root » n’est pas un répertoire
Installing Autoconf macro in $LOCATION/root/5.34.30//share/aclocal
Installing Emacs Lisp library in $LOCATION/root/5.34.30//share/emacs/site-lisp
Installing GDML conversion scripts in $LOCATION/root/5.34.30//lib/root
[/code]

Did I do something wrong maybe I missed one variable to set for using root to an non-standard location ?

Marco M.
PS: I replaced the absolute paths by the variable “$LOCATION” in the quoted lines

More details:

  • That’s something which doesn’t appear with root6, I manage to install it and make my script running
  • I need root 5.34/30 because of production data, but that’s the official version that we are using…
  • On lxplus, my script is running well on root 5.34/30, so that’s not a script-problem

Try:

wget https://root.cern.ch/download/root_v5.34.30.source.tar.gz
rm -rf root && tar -zxf root_v5.34.30.source.tar.gz
rm -rf root-5.34.30 && mv root root-5.34.30
export PYTHON=${LOCATION}/python/2.7.0/bin/python
export PATH=${LOCATION}/python/2.7.0/bin:${PATH}
export ROOTSYS=${LOCATION}/root/5.34.30
rm -rf ${ROOTSYS}
CONFIGURE_OPTIONS="\
--enable-soversion --all \
--with-python-incdir=${PYTHON}/include \
--with-python-libdir=${PYTHON}/lib \
--with-pythia6-libdir=${LOCATION}/pythia/6.4.28/lib \
--disable-pythia8 \
"
echo CONFIGURE_OPTIONS=${CONFIGURE_OPTIONS}
cd root-5.34.30
./configure ${CONFIGURE_OPTIONS}
make -j
make -j install

… or …

wget https://root.cern.ch/download/root_v5.34.30.source.tar.gz
rm -rf root && tar -zxf root_v5.34.30.source.tar.gz
rm -rf root-5.34.30 && mv root root-5.34.30
export PYTHON=${LOCATION}/python/2.7.0/bin/python
export PATH=${LOCATION}/python/2.7.0/bin:${PATH}
rm -rf ${LOCATION}/root/5.34.30
CONFIGURE_OPTIONS="\
--enable-soversion --all \
--prefix=${LOCATION}/root/5.34.30 \
--etcdir=${LOCATION}/root/5.34.30/etc/root \
--with-python-incdir=${PYTHON}/include \
--with-python-libdir=${PYTHON}/lib \
--with-pythia6-libdir=${LOCATION}/pythia/6.4.28/lib \
--disable-pythia8 \
"
echo CONFIGURE_OPTIONS=${CONFIGURE_OPTIONS}
cd root-5.34.30
unset ROOTSYS
./configure ${CONFIGURE_OPTIONS}
make -j
make -j install

See also: Missing Canvas

Hello Pepe,

Adding only the --soversion is solving my problem :slight_smile:
Thank you so much!