Starting with version 5.12/00, I cannot compile ROOT under Solaris 5.9 using CC 5.3.
I had no problem with version 10.00/00.
Versions 5.12/00, 5.12/00c and 5.13/02 lead to the error :
where the faulting line is :
Filter out the explicit link flag
ifneq ($(subst build/unix/makelib.sh,$(MAKELIB)),$(MAKELIB))
$(CINTDLLS): MAKELIB := $(subst -x,$(MAKELIB)) <-- line 406
Could it be that I did something wrong in the configuration?
Is CC5.3 no longer supported?
this is a problem with your version of GNU make, not with CC. Does it work if you replace the line by
$(CINTDLLS): MAKELIB=$(subst -x,,$(MAKELIB))
It does work. Many thanks!
Compiling from scratch with the correct version of make, I still encounter some errors :
CC -O -KPIC -I/usr/openwin/include -ptr/home/externalsw/root-5.13.02 -Iinclude -o reflex/src/ScopeBase.o -c reflex/src/ScopeBase.cxx
"include/Reflex/internal/InternalTools.h", line 33: Error: Operand expected instead of "typename".
"reflex/src/ScopeBase.cxx", line 304: Where: While instantiating "static ROOT::Reflex::OTools::ToIter<ROOT>::End<std::vector<ROOT::Reflex::OwnedMember, std::allocator<ROOT>>>(const std::vector<ROOT::Reflex::OwnedMember, std::allocator<ROOT>>&)".
"reflex/src/ScopeBase.cxx", line 304: Where: Instantiated from non-template code.
1 Error(s) detected.
gmake: *** [reflex/src/ScopeBase.o] Error 1
rm utils/src/RStl_tmp.cxx utils/src/rootcint_tmp.cxx
Could you give me a hint?
CC5.3 is a quite old compiler (should be at least 5 years old) and this is very old for C++ :
We use CC5.5 on our Solaris machines and with CC5.5 we do not see these problems.
Anyhow, you probably do not use Reflex right now. So I suggest to complete your build by doing