Hi, I've tried to build PyIlmBase with two different versions of Boost.
Unfortunately, I got two different errors from imathmodule respectively.

With boost 1.50, I got compile error in add_arithmetic_math_functions()
for IntArray2D, FloatArray2D and DoubleArray2D. For the detailed log
messages, please refer to the attached txt file.

With boost 1.48, the imathmodule is successfully compiled.
But when I import it in python interpreter, I got runtime error during
the invocation of PyIex::registerExc in imathmodule.cpp.
As far as I know, it seems that the variable _baseExcTranslator
from PyIex is not initialized properly.

Has anybody run into similar issues?

Thanks in advance.

Shih-Chin
1>C:\boost\boost_1_50_0\boost/python/operators.hpp(212) : error C2784: 'Derived 
boost::operator +(Derived::difference_type,const 
boost::iterator_facade<Derived1,V1,TC1,Reference1,Difference1> &)' : could not 
deduce template argument for 'const 
boost::iterator_facade<Derived1,V1,TC1,Reference1,Difference1> &' from 'const 
PyImath::FixedArray2D<T>'
1>        with
1>        [
1>            T=int
1>        ]
1>        C:\boost\boost_1_50_0\boost/iterator/iterator_facade.hpp(506) : see 
declaration of 'boost::operator +'
1>        C:\boost\boost_1_50_0\boost/python/operators.hpp(212) : while 
compiling class template member function 'PyObject 
*boost::python::detail::operator_l<op_add>::apply<L,R>::execute(PyImath::FixedArray2D<T>
 &,const PyImath::FixedArray2D<T> &)'
1>        with
1>        [
1>            L=PyImath::FixedArray2D<int>,
1>            R=PyImath::FixedArray2D<int>,
1>            T=int
1>        ]
1>        C:\boost\boost_1_50_0\boost/python/operators.hpp(60) : see reference 
to class template instantiation 
'boost::python::detail::operator_l<op_add>::apply<L,R>' being compiled
1>        with
1>        [
1>            L=PyImath::FixedArray2D<int>,
1>            R=PyImath::FixedArray2D<int>
1>        ]
1>        C:\boost\boost_1_50_0\boost/python/operators.hpp(89) : see reference 
to class template instantiation 
'boost::python::detail::operator_l_inner<id,L,R>' being compiled
1>        with
1>        [
1>            id=op_add,
1>            L=PyImath::FixedArray2D<int>,
1>            R=PyImath::FixedArray2D<int>
1>        ]
1>        C:\boost\boost_1_50_0\boost/python/operators.hpp(156) : see reference 
to class template instantiation 
'boost::python::detail::binary_op<id>::apply<T>' being compiled
1>        with
1>        [
1>            id=op_add,
1>            T=PyImath::FixedArray2D<int>
1>        ]
1>        C:\boost\boost_1_50_0\boost/python/def_visitor.hpp(31) : see 
reference to function template instantiation 'void 
boost::python::detail::operator_<id,L,R>::visit<classT>(ClassT &) const' being 
compiled
1>        with
1>        [
1>            id=op_add,
1>            L=boost::python::self_ns::self_t,
1>            R=boost::python::self_ns::self_t,
1>            classT=boost::python::class_<PyImath::FixedArray2D<int>>,
1>            ClassT=boost::python::class_<PyImath::FixedArray2D<int>>
1>        ]
1>        C:\boost\boost_1_50_0\boost/python/def_visitor.hpp(67) : see 
reference to function template instantiation 'void 
boost::python::def_visitor_access::visit<boost::python::def_visitor<DerivedVisitor>,classT>(const
 V &,classT &)' being compiled
1>        with
1>        [
1>            
DerivedVisitor=boost::python::detail::operator_<op_add,boost::python::self_ns::self_t,boost::python::self_ns::self_t>,
1>            classT=boost::python::class_<PyImath::FixedArray2D<int>>,
1>            
V=boost::python::def_visitor<boost::python::detail::operator_<op_add,boost::python::self_ns::self_t,boost::python::self_ns::self_t>>
1>        ]
1>        C:\boost\boost_1_50_0\boost/python/class.hpp(226) : see reference to 
function template instantiation 'void 
boost::python::def_visitor<DerivedVisitor>::visit<boost::python::class_<W>>(classT
 &) const' being compiled
1>        with
1>        [
1>            
DerivedVisitor=boost::python::detail::operator_<op_add,boost::python::self_ns::self_t,boost::python::self_ns::self_t>,
1>            W=PyImath::FixedArray2D<int>,
1>            classT=boost::python::class_<PyImath::FixedArray2D<int>>
1>        ]
1>        
D:\source_build\openexr_git\openexr\PyIlmBase\PyImath\.\PyImathFixedArray2D.h(652)
 : see reference to function template instantiation 'boost::python::class_<W> 
&boost::python::class_<W>::def<boost::python::detail::operator_<id,L,R>>(const 
boost::python::def_visitor<DerivedVisitor> &)' being compiled
1>        with
1>        [
1>            W=PyImath::FixedArray2D<int>,
1>            id=op_add,
1>            L=boost::python::self_ns::self_t,
1>            R=boost::python::self_ns::self_t,
1>            
DerivedVisitor=boost::python::detail::operator_<op_add,boost::python::self_ns::self_t,boost::python::self_ns::self_t>
1>        ]
1>        ..\..\PyImath\imathmodule.cpp(175) : see reference to function 
template instantiation 'void 
PyImath::add_arithmetic_math_functions<int>(boost::python::class_<W> &)' being 
compiled
1>        with
1>        [
1>            W=PyImath::FixedArray2D<int>
1>        ]
1>C:\boost\boost_1_50_0\boost/python/operators.hpp(212) : error C2784: 'Derived 
boost::operator +(const 
boost::iterator_facade<Derived1,V1,TC1,Reference1,Difference1> 
&,Derived::difference_type)' : could not deduce template argument for 'const 
boost::iterator_facade<Derived1,V1,TC1,Reference1,Difference1> &' from 
'PyImath::FixedArray2D<T>'
1>        with
1>        [
1>            T=int
1>        ]
1>        C:\boost\boost_1_50_0\boost/iterator/iterator_facade.hpp(499) : see 
declaration of 'boost::operator +'
1>C:\boost\boost_1_50_0\boost/python/operators.hpp(212) : error C2784: 
'PyImath::FixedMatrix<T> PyImath::operator +(const T &,const 
PyImath::FixedMatrix<T> &)' : could not deduce template argument for 'const 
PyImath::FixedMatrix<T> &' from 'const PyImath::FixedArray2D<T>'
1>        with
1>        [
1>            T=int
1>        ]
1>        
D:\source_build\openexr_git\openexr\PyIlmBase\PyImath\.\PyImathFixedMatrix.h(315)
 : see declaration of 'PyImath::operator +'
1>C:\boost\boost_1_50_0\boost/python/operators.hpp(212) : error C2784: 
'PyImath::FixedMatrix<T> PyImath::operator +(const PyImath::FixedMatrix<T> 
&,const T &)' : could not deduce template argument for 'const 
PyImath::FixedMatrix<T> &' from 'PyImath::FixedArray2D<T>'
1>        with
1>        [
1>            T=int
1>        ]
1>        
D:\source_build\openexr_git\openexr\PyIlmBase\PyImath\.\PyImathFixedMatrix.h(314)
 : see declaration of 'PyImath::operator +'
1>C:\boost\boost_1_50_0\boost/python/operators.hpp(212) : error C2784: 
'PyImath::FixedMatrix<T> PyImath::operator +(const PyImath::FixedMatrix<T> 
&,const PyImath::FixedMatrix<T> &)' : could not deduce template argument for 
'const PyImath::FixedMatrix<T> &' from 'PyImath::FixedArray2D<T>'
1>        with
1>        [
1>            T=int
1>        ]
1>        
D:\source_build\openexr_git\openexr\PyIlmBase\PyImath\.\PyImathFixedMatrix.h(313)
 : see declaration of 'PyImath::operator +'
1>C:\boost\boost_1_50_0\boost/python/operators.hpp(212) : error C2676: binary 
'+' : 'PyImath::FixedArray2D<T>' does not define this operator or a conversion 
to a type acceptable to the predefined operator
1>        with
1>        [
1>            T=int
1>        ]

_______________________________________________
Openexr-devel mailing list
Openexr-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/openexr-devel

Reply via email to