[C++-sig] [Py++] wrapping boost python types fails
Roman Yakovenko
roman.yakovenko at gmail.com
Sun May 31 06:30:17 CEST 2009
On Sat, May 30, 2009 at 11:53 PM, Werner Joergensen
<wjoergensen at yahoo.com> wrote:
>
> I narrowed down a failure with pyplusplus to this short example:
>
> ---------8<---- test.hpp -----
> #include "boost/python.hpp"
> --------->8---------
>
> ---------8<---- generator.py -----
> import os
> from pyplusplus import module_builder
> mb = module_builder.module_builder_t(
> files=["test.hpp"],
> include_paths=["/usr/include/python2.6"]
> )
>
> mb.build_code_creator( module_name='testmodule' )
> mb.code_creator.user_defined_directories.append( os.path.abspath('.') )
> mb.split_module("split")
> mb.write_module( os.path.join( os.path.abspath('.'), 'generated.cpp' ) )
> --------->8---------
>
> Running "python generator.py" gives these errors:
> ---------8<---- output -----
> ...
> pygccxml.parser.source_reader.gccxml_runtime_error_t: Error occured while running GCC-XML: In file included from /usr/local/include/boost-1_39/boost/python.hpp:60,
> from test.hpp:1:
> /usr/local/include/boost-1_39/boost/type.hpp:14: internal compiler error: Segmentation fault
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <URL:http://gcc.gnu.org/bugs.html> for instructions.
> --------->8---------
>
> I need to use the python objects like list, str, tuple in my python extension modules. So can you help me to get the example running? I tried it on two different systems, one with gcc 4.2.4 and one with gcc 4.3.3. Other relevant packages are: gccxml 0.9 (cvs from 2008-05-30), boost 1.39.0, pygccxml 1.0, pyplusplus 1.0. Can you tell me which combination of these packages can compile the short example?
Unfortunately, gccxml is not able to parse code, which includes
"boost/python.hpp" header file. You will have to find someway to
exclude it from compilation.
--
Roman Yakovenko
C++ Python language binding
http://www.language-binding.net/
More information about the Cplusplus-sig
mailing list