Problem compiling pyroot from CVS version

Hi, I’m using the cvs version of ROOT and from friday the compilation of pyroot module fails.

I’m using gcc version 4.1.2, the error messages are:

pyroot/src/ConstructorHolder.cxx:42: error: specialization of ‘PyROOT::TConstructorHolder<T>::TConstructorHolder(const T&) [with T = PyROOT::TScopeAdapter, M = PyROOT::TMemberAdapter]’ in different namespace pyroot/src/ConstructorHolder.cxx:42: error: from definition of ‘PyROOT::TConstructorHolder<T>::TConstructorHolder(const T&) [with T = PyROOT::TScopeAdapter, M = PyROOT::TMemberAdapter]’ pyroot/src/ConstructorHolder.cxx:50: error: specialization of ‘PyROOT::TConstructorHolder<T>::TConstructorHolder(const T&) [with T = ROOT::Reflex::Scope, M = ROOT::Reflex::Member]’ in different namespace pyroot/src/ConstructorHolder.cxx:50: error: from definition of ‘PyROOT::TConstructorHolder<T>::TConstructorHolder(const T&) [with T = ROOT::Reflex::Scope, M = ROOT::Reflex::Member]’ pyroot/src/ConstructorHolder.cxx:70: error: specialization of ‘PyObject* PyROOT::TConstructorHolder<T>::operator()(PyROOT::ObjectProxy*, PyObject*, PyObject*) [with T = ROOT::Reflex::Scope, M = ROOT::Reflex::Member]’ in different namespace pyroot/src/ConstructorHolder.cxx:70: error: from definition of ‘PyObject* PyROOT::TConstructorHolder<T>::operator()(PyROOT::ObjectProxy*, PyObject*, PyObject*) [with T = ROOT::Reflex::Scope, M = ROOT::Reflex::Member]’ make: *** [pyroot/src/ConstructorHolder.o] Error 1 [/code]

Hi,

thanks for catching! Could you run make -k and post the full list? I suspect that there are a few similar cases in other files.

Thanks,
Wim

Fixes by Wim are now in CVS. Could you try again?

Rene

After the cvs update remain only this error:

g++ -O -pipe -Wall -W -Woverloaded-virtual -fPIC -Iinclude -pthread -DPYROOT_USE_REFLEX -I/usr/include/python2.4 -DUSEPCH -include precompile.h -o pyroot/src/FunctionHolder.o -c pyroot/src/FunctionHolder.cxx pyroot/src/FunctionHolder.cxx:28: error: specialization of ‘PyROOT::TFunctionHolder<T>::TFunctionHolder(const M&) [with T = ROOT::Reflex::Scope, M = ROOT::Reflex::Member]’ in different namespace pyroot/src/FunctionHolder.cxx:28: error: from definition of ‘PyROOT::TFunctionHolder<T>::TFunctionHolder(const M&) [with T = ROOT::Reflex::Scope, M = ROOT::Reflex::Member]’ make: *** [pyroot/src/FunctionHolder.o] Error 1

Hi,

yes, missed that one. New update in CVS. Could you try once more? Thanks for your patience; I don’t have a gcc4.1 install available to me right now.

Cheers,
Wim

Now that compilation have success.

I have no problem to send you some error lines :wink: