Installing 5.18/00 in KUbuntu 8.04

Hi all,
I’m trying to install ROOT5.18/00 in the new KUbuntu 8.04 with gcc versión 4.2.3 (Ubuntu 4.2.3-2ubuntu7).
I follow the install instructions: export the ROOTSYS path, configure for linux system and make. The commands were:

export ROOTSYS=/usr/local/root/v5_18_00
./configure linux
make
All output was normal for the first two commands, while the make brokes with the following message:

bin/rmkdepend -R -fbase/src/ManualBase4.d -Y -w 1000 -- -pipe -m32 -Wall -W -Woverloaded-virtual -fPIC -Iinclude  -pthread -I. -D__cplusplus -- base/src/ManualBase4.cxx
g++  -pipe -m32 -Wall -W -Woverloaded-virtual -fPIC -Iinclude  -pthread -I.  -o base/src/ManualBase4.o -c base/src/ManualBase4.cxx
En el fichero incluído de /usr/include/c++/4.2/i486-linux-gnu/bits/c++allocator.h:39,
                 de /usr/include/c++/4.2/bits/allocator.h:53,
                 de /usr/include/c++/4.2/memory:54,
                 de /usr/include/c++/4.2/string:48,
                 de include/TString.h:44,
                 de include/TNamed.h:29,
                 de include/TDirectory.h:25,
                 de base/src/ManualBase4.h:32,
                 de base/src/ManualBase4.cxx:16:
/usr/include/c++/4.2/ext/new_allocator.h:37:15: error: ./new: Demasiados niveles de enlaces simbólicos
In file included from /usr/include/c++/4.2/string:48,
                 from include/TString.h:44,
                 from include/TNamed.h:29,
                 from include/TDirectory.h:25,
                 from base/src/ManualBase4.h:32,
                 from base/src/ManualBase4.cxx:16:
/usr/include/c++/4.2/memory: In function ‘std::pair<_Tp*, int> std::__get_temporary_buffer(ptrdiff_t, _Tp*)’:
/usr/include/c++/4.2/memory:83: error: ‘nothrow’ no se declaró en este ámbito
/usr/include/c++/4.2/memory: In function ‘void std::return_temporary_buffer(_Tp*)’:
/usr/include/c++/4.2/memory:123: error: ‘nothrow’ no se declaró en este ámbito
make: *** [base/src/ManualBase4.o] Error 1

Could you give any hint about?
Note: sorry! Most of the output is in spanish due to my locals…
no se declaró en este ámbito means that has been not declared in this scope

Thank you very much in advance,

[quote]/usr/include/c++/4.2/ext/new_allocator.h:37:15: error: ./new: Demasiados niveles de enlaces simbólicos [/quote]This message usually appears when there is a file named ‘new’ in the $ROOTSYS directory and/or the top directory of your ROOT checkout.

Cheers,
Philippe

Hi Philippe,
thank you very much for your answer.
In the meantime I checked other root versions (v5_14_00g) without success. The error was in this case a different one…
Then I checked an older compiler [gcc versión 4.1.3 20080308 (prerelease) (Ubuntu 4.1.2-21ubuntu1)] and everything was working nicely!

But your comment is true: there was some “new” simbolic link in the directory I do not exactly where it could come from. After removing it, v5_18_00 was also compiling.
But only with the old gcc4.1.2. I can work with it, so it is not a big problem for me.

Is there any know problem with gcc4.2?

Thanks again for your fast support.

[quote]Is there any know problem with gcc4.2? [/quote]I think 5.18 should be working with gcc 4.2. What error are you still seeing?

Cheers,
Philippe

Hi,
when I tried root 5.18 and gcc4.2 the problem I experienced was due to the additional “new” directory or simbolic link. After that, I had problems with 5.14 and gcc4.2 and I moved to gcc4.1.
I did not try again with 5.18 and gcc4.2, since now it works nicely with gcc4.1
Simply I was asking for future installations at my Univ. Next machine I will try with gcc4.2 and newest root… if I have any problem, I will report.

Thank you for the information and best regards,

Hi,

I do not know why you ended-up with a symbolic link named ‘new’ in your ROOT top directory. Such a link will break the compilation of ROOT with almost all version of gcc (except very old ones).

ROOT 5.14 was not ported to gcc 4.2 and might indeed not work (but will with gcc 4.1).

ROOT 5.18 will work with gcc 4.2

Cheers,
Philippe