From: Venkat (O. <op...@na...> - 2013-01-26 05:50:27
|
Hello, I want to know how I can build the python bindings for latest opensg from git. I tried to build using the pyopensg project and I get the following error: /usr/local/include/OpenSG/OSGAction.h: In destructor ‘std::auto_ptr<_Tp>::~auto_ptr() [with _Tp = OSG::Action]’: /usr/local/include/boost/python/to_python_indirect.hpp:94: instantiated from ‘static PyObject* boost::python::detail::make_owning_holder::execute(T*) [with T = OSG::Action]’ /usr/local/include/boost/python/to_python_indirect.hpp:70: instantiated from ‘PyObject* boost::python::to_python_indirect<T, MakeHolder>::execute(const U&, mpl_::false_) const [with U = OSG::Action, T = OSG::Action*, MakeHolder = boost::python::detail::make_owning_holder]’ /usr/local/include/boost/python/to_python_indirect.hpp:58: instantiated from ‘PyObject* boost::python::to_python_indirect<T, MakeHolder>::execute(U*, mpl_::true_) const [with U = OSG::Action, T = OSG::Action*, MakeHolder = boost::python::detail::make_owning_holder]’ /usr/local/include/boost/python/to_python_indirect.hpp:41: instantiated from ‘PyObject* boost::python::to_python_indirect<T, MakeHolder>::operator()(const U&) const [with U = OSG::Action*, T = OSG::Action*, MakeHolder = boost::python::detail::make_owning_holder]’ /usr/local/include/boost/python/detail/invoke.hpp:75: instantiated from ‘PyObject* boost::python::detail::invoke(boost::python::detail::invoke_tag_<false, false>, const RC&, F&) [with RC = boost::python::to_python_indirect<OSG::Action*, boost::python::detail::make_owning_holder>, F = OSG::Action* (*)()]’ /usr/local/include/boost/python/detail/caller.hpp:223: instantiated from ‘PyObject* boost::python::detail::caller_arity<0u>::impl<F, Policies, Sig>::operator()(PyObject*, PyObject*) [with F = OSG::Action* (*)(), Policies = boost::python::return_value_policy<boost::python::manage_new_object, boost::python::default_call_policies>, Sig = boost::mpl::vector1<OSG::Action*>]’ /usr/local/include/boost/python/object/py_function.hpp:38: instantiated from ‘PyObject* boost::python::objects::caller_py_function_impl<Caller>::operator()(PyObject*, PyObject*) [with Caller = boost::python::detail::caller<OSG::Action* (*)(), boost::python::return_value_policy<boost::python::manage_new_object, boost::python::default_call_policies>, boost::mpl::vector1<OSG::Action*> >]’ src/osg_module/generated/Action.pypp.cpp:313: instantiated from here /usr/local/include/OpenSG/OSGAction.h:245: error: ‘virtual OSG::Action::~Action()’ is protected /usr/include/c++/4.2.1/memory:259: error: within this context scons: *** [build.darwin.g++/type-optimized--arch-ia32/osg_module/generated/Action.pypp.os] Error 1 scons: building terminated because of errors. Generating the bindings using pygccxml on linux fails with the following error: Traceback (most recent call last): File "osgGenBindings_OSGContribCSM.py", line 566, in <module> main() File "osgGenBindings_OSGContribCSM.py", line 269, in main f = open(os.path.join(moddep, 'osg_exported.txt'), "r") IOError: [Errno 2] No such file or directory: '/data/src/opensg-py/build/Python/OSGContribWebInterface/module/generated/osg_exported.txt' In addition, on Mac OS X 64 bit, I get the following errors: Traceback (most recent call last): File "osgGenBindings_OSGWindowGLUT.py", line 566, in <module> main() File "osgGenBindings_OSGWindowGLUT.py", line 255, in main gccxml_path=gcc_xml) File "/Library/Python/2.7/site-packages/pyplusplus/module_builder/builder.py", line 92, in __init__ , indexing_suite_version) File "/Library/Python/2.7/site-packages/pyplusplus/module_builder/builder.py", line 146, in __parse_declarations decls = reader.read_files( files, compilation_mode ) File "/Library/Python/2.7/site-packages/pygccxml/parser/project_reader.py", line 225, in read_files return self.__parse_file_by_file(files) File "/Library/Python/2.7/site-packages/pygccxml/parser/project_reader.py", line 250, in __parse_file_by_file decls = reader.read_file( header ) File "/Library/Python/2.7/site-packages/pygccxml/parser/source_reader.py", line 197, in read_file return self.read_gccxml_file( source_file ) File "/Library/Python/2.7/site-packages/pygccxml/parser/source_reader.py", line 224, in read_gccxml_file raise error pygccxml.parser.source_reader.gccxml_runtime_error_t: Error occured while running GCC-XML: In file included from /usr/local/include/boost/function/function_base.hpp:21, from /usr/local/include/boost/function/detail/prologue.hpp:17, from /usr/local/include/boost/function.hpp:24, from /data/src/opensg/Source/Base/FieldContainer/Base/OSGFieldContainer.h:47, from /data/src/opensg/Bindings/Python/Common/PreBoostPython.h:28, from /data/src/opensg/bld-py/Python/OSGWindowGLUT/module/OSGWindowGLUT_mainheader.h:2: /usr/local/include/boost/integer.hpp:95: error: redefinition of 'struct boost::detail::exact_signed_base_helper<32>' /usr/local/include/boost/integer.hpp:91: error: previous definition of 'struct boost::detail::exact_signed_base_helper<32>' /usr/local/include/boost/integer.hpp:96: error: redefinition of 'struct boost::detail::exact_unsigned_base_helper<32>' /usr/local/include/boost/integer.hpp:92: error: previous definition of 'struct boost::detail::exact_unsigned_base_helper<32>' In file included from /data/src/opensg/Source/WindowSystem/GLUT/OSGGLUTWindow.h:142, from /data/src/opensg/bld-py/Python/OSGWindowGLUT/module/OSGWindowGLUT_mainheader.h:4: /usr/local/include/boost/detail/lcast_precision.hpp: In instantiation of 'boost::detail::lcast_precision<float>': /usr/local/include/boost/lexical_cast.hpp:490: instantiated from 'const size_t boost::detail::lcast_src_length_floating<float>::value' /usr/local/include/boost/lexical_cast.hpp:2133: instantiated from 'static Target boost::detail::lexical_cast_do_cast<Target, Source>::lexical_cast_impl(const Source&) [with Target = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Source = float]' /usr/local/include/boost/lexical_cast.hpp:2300: instantiated from 'Target boost::lexical_cast(const Source&) [with Target = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Source = OSG::Real32]' /data/src/opensg/Source/Base/Base/OSGBaseTypeTraits.h:1143: instantiated from here /usr/local/include/boost/detail/lcast_precision.hpp:85: error: invalid application of 'sizeof' to incomplete type 'boost::STATIC_ASSERTION_FAILURE<false>' /usr/local/include/boost/detail/lcast_precision.hpp: In instantiation of 'boost::detail::lcast_precision<double>': /usr/local/include/boost/lexical_cast.hpp:490: instantiated from 'const size_t boost::detail::lcast_src_length_floating<double>::value' /usr/local/include/boost/lexical_cast.hpp:2133: instantiated from 'static Target boost::detail::lexical_cast_do_cast<Target, Source>::lexical_cast_impl(const Source&) [with Target = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Source = double]' /usr/local/include/boost/lexical_cast.hpp:2300: instantiated from 'Target boost::lexical_cast(const Source&) [with Target = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Source = OSG::Real64]' /data/src/opensg/Source/Base/Base/OSGBaseTypeTraits.h:1295: instantiated from here /usr/local/include/boost/detail/lcast_precision.hpp:85: error: invalid application of 'sizeof' to incomplete type 'boost::STATIC_ASSERTION_FAILURE<false>' /usr/local/include/boost/detail/lcast_precision.hpp: In instantiation of 'boost::detail::lcast_precision<long double>': /usr/local/include/boost/lexical_cast.hpp:490: instantiated from 'const size_t boost::detail::lcast_src_length_floating<long double>::value' /usr/local/include/boost/lexical_cast.hpp:2133: instantiated from 'static Target boost::detail::lexical_cast_do_cast<Target, Source>::lexical_cast_impl(const Source&) [with Target = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Source = long double]' /usr/local/include/boost/lexical_cast.hpp:2300: instantiated from 'Target boost::lexical_cast(const Source&) [with Target = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Source = OSG::Real128]' /data/src/opensg/Source/Base/Base/OSGBaseTypeTraits.h:1370: instantiated from here /usr/local/include/boost/detail/lcast_precision.hpp:85: error: invalid application of 'sizeof' to incomplete type 'boost::STATIC_ASSERTION_FAILURE<false>' status:None make[3]: *** [Python/OSGWindowGLUT/CMakeFiles/OSGWindowGLUTPyGen] Error 1 make[2]: *** [Python/OSGWindowGLUT/CMakeFiles/OSGWindowGLUTPyGen.dir/all] Error 2 make[1]: *** [CMakeFiles/OSGPyGen.dir/rule] Error 2 make: *** [OSGPyGen] Error 2 Regards, Venkat |