ROOT, SLC5 and GCC 4.X

Hello,

I am trying to install ROOT 5.23-4 on a new blade with SLC5 installed on it (nothing else is installed on this machine, it is new and nobody touched it before).
uname gives me :
Linux pcaldbl101 2.6.18-128.1.10.el5PAE #1 SMP Fri May 8 10:46:15 CEST 2009 i686 i686 i386 GNU/Linux

[size=150]Part 1 : binaries installation[/size]
I downloaded a compiled version of ROOT here : ftp://root.cern.ch/root/root_v5.23.04.L … 4.3.tar.gz
Problem : SLC5 provides gcc 4.1 and not gcc 4.3.

Anyway, I tried to use it and it gave me the following error :
/home/bvonhall/root/bin/root.exe: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.9' not found (required by /home/bvonhall/root/lib/libCore.so) /home/bvonhall/root/bin/root.exe: /usr/lib/libstdc++.so.6: versionGLIBCXX_3.4.9’ not found (required by /home/bvonhall/root/lib/libCint.so)
/home/bvonhall/root/bin/root.exe: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.9' not found (required by /home/bvonhall/root/lib/libMathCore.so) /home/bvonhall/root/bin/root.exe: /usr/lib/libstdc++.so.6: versionGLIBCXX_3.4.9’ not found (required by /home/bvonhall/root/lib/libRint.so)

I guess it is related to the wrong gcc version but I am not sure at all.
Now, if it is the case, wouldn’t it make sense to provide the SLC5-compatible binary for gcc 4.1 ?

What do you think ?

[size=150]Part 2 : installation from source[/size]
Then I have gotten ROOT from subversion

and configured it successfully (I let configure guess the system):

Finally I do make and it quickly fails :

g++ -O2 -pipe -m32 -Wall -W -Woverloaded-virtual -fPIC -Iinclude -pthread -DINCLUDEDIR=\"/usr/include\" -DOBJSUFFIX=\".o\" -o build/rmkdepend/mainroot.o -c build/rmkdepend/mainroot.cxx In file included from /usr/include/bits/posix1_lim.h:153, from /usr/include/limits.h:145, from /usr/lib/gcc/i386-redhat-linux/4.1.2/include/limits.h:122, from /usr/lib/gcc/i386-redhat-linux/4.1.2/include/syslimits.h:7, from /usr/lib/gcc/i386-redhat-linux/4.1.2/include/limits.h:11, from /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/climits:50, from /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algobase.h:66, from /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/char_traits.h:46, from /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/string:46, from build/rmkdepend/mainroot.cxx:28: /usr/include/bits/local_lim.h:36:26: error: linux/limits.h: No such file or directory checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking whether make sets $(MAKE)... (cached) yes checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking how to run the C preprocessor... /lib/cpp configure: error: C preprocessor "/lib/cpp" fails sanity check See `config.log' for more details. Running build/unix/compiledata.sh Making include/compiledata.h bin/rmkdepend -R -fcint/cint/src/g__cfunc.d -Y -w 1000 -- -pipe -m32 -Wall -W -fPIC -Iinclude -DG__REGEXP -DG__UNIX -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO -DG__STD_EXCEPTION -DG__HAVE_CONFIG -DG__NOMAKEINFO -DG__CINTBODY -Icint/cint/inc -Icint/cint/src -Icint/cint/src/dict -pthread -I. -- cint/cint/src/g__cfunc.c make: bin/rmkdepend: Command not found make: *** [cint/cint/src/g__cfunc.o] Error 127

I don’t understand nort what is wrong here neither why it seems to start the configure command again after the compilation error. I attached the config.log file to this message.

Any help is truly welcome :slight_smile:
and I can provide any extra information you would like.

thanks in advance,
Barth

Hi,

looks like you need the kernel headers installed.

Cheers, Axel.

Thanks a lot, Axel.

It also brought me to this related topic that I formerly missed : root.cern.ch/phpBB2/viewtopic.ph … d353f327d4

Barth

Hi Barth,

To reply to the first part of your message, only gcc4.3 and gcc3.4 are officially supported by experiments (please don’t ask why, I don’t know :confused: )
But if you want to take binaries, try the gcc3.4 version (root_v5.23.04.Linux-slc5-gcc3.4.tar.gz), it should work.

Cheers, Bertrand.

How to I install gcc4.3 if I’d like to install the Binaries version in SLC5.

In SLC5, if I choose gcc4.3 in Yum, it links to gcc44 and gcc44 does not help with the GLIBCXX_3.4.9.

Thanks