I just started to use CentOS 6.2 x86_64 SMP with gcc 4.4.6.
I was able to compile ROOT v5-32-01 (except for a problem with “qtcint.so”, which I reported elsewhere).
I’ve got a strange problem, however.
I cannot precompile anything with ACLiC.
No matter what I try, I get (note: these messages look pretty much the same as these related to the “qtcint.so” building problem):
[code]root [0] .L MyClass.hxx++
Info in TUnixSystem::ACLiC: creating shared library /…/./MyClass_hxx.so
/…/MyClass_hxx_ACLiC_dict.o: In function global constructors keyed to MyClass_hxx_ACLiC_dict.cxx': MyClass_hxx_ACLiC_dict.cxx:(.text+0x2c2): undefined reference toG__add_setup_func’
MyClass_hxx_ACLiC_dict.cxx:(.text+0x2c7): undefined reference to G__call_setup_funcs' /.../MyClass_hxx_ACLiC_dict.o: In functionG__cpp_setup_tagtableMyClass_hxx_ACLiC_dict’:
MyClass_hxx_ACLiC_dict.cxx:(.text+0x2fc): undefined reference to G__get_linked_tagnum_fwd' MyClass_hxx_ACLiC_dict.cxx:(.text+0x308): undefined reference toG__get_linked_tagnum_fwd’
MyClass_hxx_ACLiC_dict.cxx:(.text+0x314): undefined reference to `G__get_linked_tagnum_fwd’
(… tons of messages …)
MyClass_hxx_ACLiC_dict.cxx:(.text+0x16c8): undefined reference to G__int' MyClass_hxx_ACLiC_dict.cxx:(.text+0x171d): undefined reference toG__double’
MyClass_hxx_ACLiC_dict.cxx:(.text+0x1787): undefined reference to G__int' MyClass_hxx_ACLiC_dict.cxx:(.text+0x17ee): undefined reference toG__int’
/…/MyClass_hxx_ACLiC_dict.o: In function G__MyClass_hxx_ACLiC_dict_3012_0_3(G__value*, char const*, G__param*, int)': MyClass_hxx_ACLiC_dict.cxx:(.text+0x193c): undefined reference toG__getgvp’
MyClass_hxx_ACLiC_dict.cxx:(.text+0x1944): undefined reference to G__getstructoffset' MyClass_hxx_ACLiC_dict.cxx:(.text+0x194c): undefined reference toG__getaryconstruct’
MyClass_hxx_ACLiC_dict.cxx:(.text+0x196b): undefined reference to G__setgvp' MyClass_hxx_ACLiC_dict.cxx:(.text+0x1984): undefined reference toG__setgvp’
MyClass_hxx_ACLiC_dict.cxx:(.text+0x198c): undefined reference to G__setnull' MyClass_hxx_ACLiC_dict.cxx:(.text+0x19c2): undefined reference toG__setgvp’
/…/MyClass_hxx_ACLiC_dict.o: In function G__setup_memfuncMyClass()': MyClass_hxx_ACLiC_dict.cxx:(.text+0x5d0): undefined reference toG__tag_memfunc_reset’
/…/MyClass_hxx_ACLiC_dict.o: In function G__cpp_setup_funcMyClass_hxx_ACLiC_dict': MyClass_hxx_ACLiC_dict.cxx:(.text+0xf2e): undefined reference toG__resetifuncposition’
/…/MyClass_hxx_ACLiC_dict.o: In function G__cpp_setup_globalMyClass_hxx_ACLiC_dict': MyClass_hxx_ACLiC_dict.cxx:(.text+0xf4e): undefined reference toG__resetglobalenv’
/…/MyClass_hxx_ACLiC_dict.o: In function G__cpp_setup_typetableMyClass_hxx_ACLiC_dict': MyClass_hxx_ACLiC_dict.cxx:(.text+0x10f3): undefined reference toG__setnewtype’
/…/MyClass_hxx_ACLiC_dict.o: In function G__cpp_setup_initMyClass_hxx_ACLiC_dict::~G__cpp_setup_initMyClass_hxx_ACLiC_dict()': MyClass_hxx_ACLiC_dict.cxx:(.text._ZN39G__cpp_setup_initMyClass_hxx_ACLiC_dictD2Ev[_ZN39G__cpp_setup_initMyClass_hxx_ACLiC_dictD5Ev]+0x8): undefined reference toG__remove_setup_func’
collect2: ld returned 1 exit status
Error in : Compilation failed![/code]
BTW. This problem does not exist on Ubuntu 10.04.4 LTS i686 SMP with gcc 4.4.3.
And what doesldd $ROOTSYS/bin/root.exe returns (I.e. the protected method TUnixSystem::GetLinkedLibraries seems to not returns the right information on this platform).
Given your very helpful involvement, I recommend that you create an account on savannah, which is quite easy (see savannah.cern.ch/account/register.php). This will enhance the tracking of some the issues you finding along the way .
I feel I’d like to report another problem here …
I tried another machine … Ubuntu 10.04.4 LTS i686 SMP, gcc 4.4.3.
The ‘$ROOTSYS/include/compiledata.h’ contains: #define LINKEDLIBS “-L$ROOTSYS/lib -lCore -lCint -lRint “
but the 'gSystem->GetLibraries(””)’ returns:
(const char* 0x855ae98)"-lRint -lCint -lCore -L$ROOTSYS/lib /opt/ROOT/Ubuntu1004_gcc443/root/v5-32-01/lib/libCore.so /opt/ROOT/Ubuntu1004_gcc443/root/v5-32-01/lib/libRint.so /opt/ROOT/Ubuntu1004_gcc443/root/v5-32-01/lib/libMathCore.so"
Don’t you think that the ‘-L$ROOTSYS/lib’ flag is in a completely wrong place?
This bug is present at least in ROOT 5.28, 5.30 and 5.32.
[quote]Don’t you think that the ‘-L$ROOTSYS/lib’ flag is in a completely wrong place?
[/quote]Yes that seems awkward (and actually now somewhat unnecessary since the library are listed with their full pathname.
The problem still exists in the newest ROOT v5-32-02.
As suggested by Philippe, removing the recommended “–enable-soversion” flag (when running the “configure” step) helps.
According to some message (that I found elsewhere, don’t remember where), v5-32 is the last version that supports gcc 3.4 (and another gcc 3.x compilers). Would it be possible that you increase the “level of maintenance” for it?