Root installation error

Hello.
I am trying to install root on a server:

[color=#0000FF]

cat /etc/issue
Scientific Linux release 6.5 (Carbon)
Kernel \r on an \m

uname -a
Linux clusterhead 2.6.32-431.1.2.el6.x86_64 #1 SMP Thu Dec 12 13:59:19 CST 2013 x86_64 x86_64 x86_64 GNU/Linux
[/color]

On the server I have:
git version 1.7.1
GNU Make 3.81
gcc (GCC) 4.8.1
g++ (GCC) 4.8.1
binutils-2.20.51.0.2-5.36.el6.x86_64
libX11-devel-1.5.0-4.el6.x86_64
libXpm-devel-3.5.10-2.el6.x86_64
libXft-devel-2.3.1-2.el6.x86_64
libXext-devel-1.3.1-2.el6.x86_64

Each time an update of whatever has to be made, it is a pain for security reasons. I decided to try to install root 5.26.00g, but I get the following error message

[color=#FF0000]g++ -pipe -m64 -Wall -W -Woverloaded-virtual -fPIC -Iinclude -DR__HAVE_CONFIG -pthread -Icore/pcre/src/pcre-7.8 -I. -Icint/cint/inc -o core/base/src/G__Base1.o -c core/base/src/G__Base1.cxx
Generating dictionary core/base/src/G__Base2.cxx…
core/utils/src/rootcint_tmp -cint -f core/base/src/G__Base2.cxx -c core/base/inc/TApplication.h core/base/inc/TApplicationImp.h core/base/inc/TAtt3D.h core/base/inc/TAttAxis.h core/base/inc/TAttBBox.h core/base/inc/TAttFill.h core/base/inc/TAttLine.h core/base/inc/TAttMarker.h core/base/inc/TAttPad.h core/base/inc/TAttText.h core/base/inc/TBenchmark.h core/base/inc/TBrowser.h core/base/inc/TBrowserImp.h core/base/inc/TBuffer3D.h core/base/inc/TBuffer3DTypes.h core/base/inc/TBuffer.h core/base/inc/TCanvasImp.h core/base/inc/TColor.h core/base/inc/TContextMenu.h core/base/inc/TContextMenuImp.h core/base/inc/TControlBarImp.h core/base/inc/TDatime.h core/base/inc/TDirectory.h core/base/inc/TEnv.h core/base/inc/TError.h core/base/inc/TException.h core/base/inc/TExec.h core/base/inc/TFolder.h core/base/inc/TGuiFactory.h core/base/inc/TInspectorImp.h core/base/inc/TMacro.h core/base/inc/TMathBase.h core/base/inc/TMD5.h core/base/inc/TMemberInspector.h core/base/inc/TMessageHandler.h core/base/inc/TNamed.h core/base/inc/TObject.h core/base/inc/TObjString.h core/base/inc/TPluginManager.h core/base/inc/TPoint.h core/base/inc/TPRegexp.h core/base/inc/TProcessID.h core/base/inc/TProcessUUID.h core/base/inc/TQClass.h core/base/inc/TQCommand.h core/base/inc/TQConnection.h core/base/inc/TQObject.h core/base/inc/TRefCnt.h core/base/inc/TRef.h core/base/inc/TRegexp.h core/base/inc/TRemoteObject.h core/base/inc/TROOT.h core/base/inc/TRootIOCtor.h core/base/inc/TStopwatch.h core/base/inc/TStorage.h core/base/inc/TString.h core/base/inc/TStringLong.h core/base/inc/TStyle.h core/base/inc/TSysEvtHandler.h core/base/inc/TSystemDirectory.h core/base/inc/TSystemFile.h core/base/inc/TSystem.h core/base/inc/TTask.h core/base/inc/TTime.h core/base/inc/TTimer.h core/base/inc/TUUID.h core/base/inc/TVersionCheck.h core/base/inc/TVirtualFFT.h core/base/inc/TVirtualGL.h core/base/inc/TVirtualPadEditor.h core/base/inc/TVirtualPad.h core/base/inc/TVirtualPadPainter.h core/base/inc/TVirtualPS.h core/base/inc/TVirtualViewer3D.h core/base/inc/LinkDef2.h
bin/rmkdepend -R -fcore/base/src/G__Base2.d -Y -w 1000 –
-pipe -m64 -Wall -W -Woverloaded-virtual -fPIC -Iinclude -DR__HAVE_CONFIG -pthread -Icore/pcre/src/pcre-7.8 -D__cplusplus -Icint/cint/lib/prec_stl
-Icint/cint/stl -Icint/cint/inc – core/base/src/G__Base2.cxx
g++ -pipe -m64 -Wall -W -Woverloaded-virtual -fPIC -Iinclude -DR__HAVE_CONFIG -pthread -Icore/pcre/src/pcre-7.8 -I. -Icint/cint/inc -o core/base/src/G__Base2.o -c core/base/src/G__Base2.cxx
In file included from core/base/src/G__Base2.cxx:18:0:
include/TCollectionProxyInfo.h: In instantiation of ‘static void* ROOT::TCollectionProxyInfo::Type::first(void*) [with T = std::vector]’:
include/TCollectionProxyInfo.h:364:64: required from ‘static ROOT::TCollectionProxyInfo* ROOT::TCollectionProxyInfo::Generate(const T&) [with T = ROOT::TCollectionProxyInfo::Pushback<std::vector >]’
core/base/src/G__Base2.cxx:5913:123: required from here
include/TCollectionProxyInfo.h:154:40: error: ‘address’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
return e->fStart = address(ref);
^
include/TCollectionProxyInfo.h:154:40: note: declarations in dependent base ‘ROOT::TCollectionProxyInfo::Address<const TString&>’ are not found by unqualified lookup
include/TCollectionProxyInfo.h:154:40: note: use ‘Type::address’ instead
include/TCollectionProxyInfo.h: In instantiation of ‘static void* ROOT::TCollectionProxyInfo::Type::next(void*) [with T = std::vector]’:
include/TCollectionProxyInfo.h:364:64: required from ‘static ROOT::TCollectionProxyInfo* ROOT::TCollectionProxyInfo::Generate(const T&) [with T = ROOT::TCollectionProxyInfo::Pushback<std::vector >]’
core/base/src/G__Base2.cxx:5913:123: required from here
include/TCollectionProxyInfo.h:163:28: error: ‘address’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
return address(ref);
^
include/TCollectionProxyInfo.h:163:28: note: declarations in dependent base ‘ROOT::TCollectionProxyInfo::Address<const TString&>’ are not found by unqualified lookup
include/TCollectionProxyInfo.h:163:28: note: use ‘Type::address’ instead
include/TCollectionProxyInfo.h: In instantiation of ‘static void* ROOT::TCollectionProxyInfo::Type::first(void*) [with T = std::vector<std::basic_string, std::allocator<std::basic_string > >]’:
include/TCollectionProxyInfo.h:364:64: required from ‘static ROOT::TCollectionProxyInfo* ROOT::TCollectionProxyInfo::Generate(const T&) [with T = ROOT::TCollectionProxyInfo::Pushback<std::vector<std::basic_string, std::allocator<std::basic_string > > >]’
core/base/src/G__Base2.cxx:5971:122: required from here
include/TCollectionProxyInfo.h:154:40: error: ‘address’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
return e->fStart = address(ref);
^
include/TCollectionProxyInfo.h:154:40: note: declarations in dependent base ‘ROOT::TCollectionProxyInfo::Address<const std::basic_string&>’ are not found by unqualified lookup
include/TCollectionProxyInfo.h:154:40: note: use ‘Type::address’ instead
include/TCollectionProxyInfo.h: In instantiation of ‘static void* ROOT::TCollectionProxyInfo::Type::next(void*) [with T = std::vector<std::basic_string, std::allocator<std::basic_string > >]’:
include/TCollectionProxyInfo.h:364:64: required from ‘static ROOT::TCollectionProxyInfo* ROOT::TCollectionProxyInfo::Generate(const T&) [with T = ROOT::TCollectionProxyInfo::Pushback<std::vector<std::basic_string, std::allocator<std::basic_string > > >]’
core/base/src/G__Base2.cxx:5971:122: required from here
include/TCollectionProxyInfo.h:163:28: error: ‘address’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
return address(ref);
^
include/TCollectionProxyInfo.h:163:28: note: declarations in dependent base ‘ROOT::TCollectionProxyInfo::Address<const std::basic_string&>’ are not found by unqualified lookup
include/TCollectionProxyInfo.h:163:28: note: use ‘Type::address’ instead
make: *** [core/base/src/G__Base2.o] Error 1
rm core/utils/src/RStl_tmp.cxx core/utils/src/rootcint_tmp.cxx
[/color]

I can not find the build prerequisites for root 5.26.00g.
Is this eror message due to the fact that the packages on the server are not appropriate, or is the reason different, please?

Any help is welcome.

Regards,
franciuska

Hi franciuska,

I think this version of ROOT (5.26) is too old to be compiled with gcc 4.8. You should try to use a more recent version

Cheers, Bertrand.

Hello!
Thank you for your suggestion.
I have just tried with the version 5.34.18:
./configure linuxx8664gcc --prefix=/home/root_v5.34/root
and the installation went fine.
Then I added in .bashrc

export PATH=$PATH:/home/root_v5.34/root/bin/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/root_v5.34/root/lib
cd /home/root_v5.34/root/
. bin/thisroot.sh
cd -

and sourced that.
But when starting root I get

rootx xpm error: XpmOpenFailed
/home/root_v5.34/root/bin/root.exe: error while loading shared libraries: libCore.so: cannot open shared object file: No such file or directory

Any suggestion,please?

Regards,
franciuska

Did you type “make install” at the end? (sorry, but I never use the --prefix flag…)
And BTW, sourcing bin/thisroot.sh does it all (i.e. sets the required environment variables)

Cheers, Bertrand.

I had digited

make install, but I got

make install

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

Everything already installed…

I commented the PATH and LD_LIBRARY_PATH but still gets the same error when launching root.
The --prefix should only say where I want to install root.

Have you any idea of what is going wrong?
Anyhownow I am uninstalling root and reinstalling that withouth linuxx8664gc, to see if something changes…

Regards,
thx,
franciuska

Please have a look there: root.cern.ch/drupal/content/inst … oot-source
It explains the two different ways of installing ROOT from source… (and the linuxx8664 flag has nothing to do with it)

Cheers, Bertrand.

Hello.
I was using that web page to get instructions to install ROOT.
Since I could not understand what was wrong, I decided to install ROOT as a root of the server.
But now, at the make, i get the following mistake:

core/utils/src/rootcint_tmp: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15’ not found (required by core/utils/src/rootcint_tmp)
make: *** [core/base/src/G__Base1.cxx] Error 1

I tried:

rpm -q libstdc++

and it gives

libstdc+±4.4.7-4.el6.x86_64
libstdc+±4.4.7-4.el6.i686

It seems the required version is older than the installed one.
I do not want to mess up the server…Should I install GLIBCXX_3.4.15, please?
By doing so, would I cause conflicts, please?

Thx,
regards,

franciuska

I’m a bit confused, you previously said:[quote=“franciuska”]I have just tried with the version 5.34.18:
./configure linuxx8664gcc --prefix=/home/root_v5.34/root
and the installation went fine. [/quote]So what is different now?
And please, don’t try to do anything to your system, everything should work fine.

BTW, did you try with a pre-compiled binary?

Hi.
Yes…I do not understand either.
As a user, no error message is given when installing ROOT locally (thought then ROOT does not start when digiting root at the pompt and says:rootx xpm error: XpmOpenFailed
/home/root_v5.34/root/bin/root.exe: error while loading shared libraries: libCore.so: cannot open shared object file: No such file or directory).
When installing ROOT as root of the server, I thought everything would have been easier, but instead it crushes. I guess the difference is in the loaded modules.
As a user the root has

[color=#FF0000]module list
Currently Loaded Modulefiles:

  1. intel/sourcechecker/64/14.0/2013_sp1.1.106
  2. intel-mpi/64/4.1.1/036
  3. gcc/4.8.1
  4. shared
  5. cmgui/6.1
  6. cmsh
  7. cmd
  8. cluster-tools/6.1
  9. slurm/2.5.7
    [/color]

while as a user I have

[color=#FF0040] module list
Currently Loaded Modulefiles:

  1. intel/sourcechecker/64/14.0/2013_sp1.1.106
  2. intel-mpi/64/4.1.1/036
  3. gcc/4.8.1
    [/color]

I will look a little in what is the modules.
Any suggestion anyhow is more than welcome…

Cheers,
thx,
franciuska

As a user the root has
[color=#FF0000]
module list
Currently Loaded Modulefiles:

  1. intel/sourcechecker/64/14.0/2013_sp1.1.106
  2. intel-mpi/64/4.1.1/036
  3. gcc/4.8.1
  4. shared
  5. cmgui/6.1
  6. cmsh
  7. cmd
  8. cluster-tools/6.1
  9. slurm/2.5.7[/color]

Well…not as user, as superuser, the root has …

[quote=“franciuska”]As a user the root has
[color=#FF0000]
module list
Currently Loaded Modulefiles:

  1. intel/sourcechecker/64/14.0/2013_sp1.1.106
  2. intel-mpi/64/4.1.1/036
  3. gcc/4.8.1
  4. shared
  5. cmgui/6.1
  6. cmsh
  7. cmd
  8. cluster-tools/6.1
  9. slurm/2.5.7[/color]

Well…not as user, as superuser, the root has …[/quote]Forget about that, this is totally useless. Could we focus on one thing at a time, please?

[quote=“franciuska”]/home/root_v5.34/root/bin/root.exe: error while loading shared libraries: libCore.so: cannot open shared object file: No such file or directory).[/quote]This means that $(ROOTSYS)/lib is not in your $(LD_LIBRARY_PATH), so most likely you didn’t install it properly, or didn’t properly source thisroot.sh (or thisroot.csh if you use [t]csh).
If you carefully follow the instructions from the web page, there should be no problem…

And what about the pre-compiled binary?

Hi.
I am sorry, I am a little bit chaothic :blush: .
I have just reinstalled ROOT locally and now it works.
I made 2 changes during the installation with respect to this morning:

  1. in the ./configure I gave --prefix and --etcdir (I have no idea if that’s important, but after hours I realized that as user I could not write in /etc/bin)
  2. as prefix I gave a directory inside the root folder. I was sourcing all the time the
    path/root/bin/thisroot.sh
    but you were right in the fact I was not really following the instructions…I had to source
    path/root/inst-dir/bin/thisroot.sh

Now I try to install it for everyone on the server.

Thanks!
Regards,
franciuska

Hello again.
My joy was short…When I try to install ROOT for everyone as root of the server, it still says

core/utils/src/rootcint_tmp: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15’ not found (required by core/utils/src/rootcint_tmp)
make: *** [core/base/src/G__Base1.cxx] Error 1

In this case I only digit
./configure (with no options)
make

I tried to unload some modules, but they seem to play no role at all.
I do not understand why as user this error do not appear.
Any help is welcome…

franciuska