Skip to content

Failure in algorithm.py with c++11 #55

Closed
@iMichka

Description

@iMichka

Initially reported here: #47 (comment)
(There are also two xml files in the comment that may be interesting).

/home/ompl/castxml/bin/castxml  -std=c++11   -I. -I. -I/home/ompl/omplapp/ompl/src -I/home/ompl/omplapp/src -I/usr/include/python2.7 -I/usr/include -I/usr/include/assimp -I/usr/include/eigen3 -I/home/ompl/omplapp/ompl/src/../py-bindings -c -x c++ --castxml-cc-gnu  "(" /usr/bin/g++ -std=c++11 ")" --castxml-gccxml -o /tmp/tmpT4yHPz.xml bindings/util.h
Traceback (most recent call last):
  File "/home/ompl/omplapp/ompl/py-bindings/generate_bindings.py", line 800, in <module>
    globals()['ompl_'+module+'_generator_t']()
  File "/home/ompl/omplapp/ompl/py-bindings/generate_bindings.py", line 734, in __init__
    code_generator_t.__init__(self, 'util', None, replacement, 1)
  File "/home/ompl/omplapp/ompl/py-bindings/ompl/bindings_generator.py", line 136, in __init__
    self.mb.split_module('bindings/' + name, use_files_sum_repository=True)
  File "/usr/local/lib/python2.7/dist-packages/pyplusplus/module_builder/boost_python_builder.py", line 384, in split_module
    , encoding=self.encoding)
  File "/usr/local/lib/python2.7/dist-packages/pyplusplus/file_writers/__init__.py", line 36, in write_multiple_files
    mfs = multiple_files_t( extmodule, dir_path, files_sum_repository=files_sum_repository, encoding=encoding )
  File "/usr/local/lib/python2.7/dist-packages/pyplusplus/file_writers/multiple_files.py", line 34, in __init__
    writer.writer_t.__init__( self, extmodule, files_sum_repository, encoding=encoding )
  File "/usr/local/lib/python2.7/dist-packages/pyplusplus/file_writers/writer.py", line 36, in __init__
    , extmodule.specially_exposed_decls )
  File "/usr/local/lib/python2.7/dist-packages/pyplusplus/utils/__init__.py", line 200, in register_decls
    row = self.row_t( decl )
  File "/usr/local/lib/python2.7/dist-packages/pyplusplus/utils/__init__.py", line 71, in __init__
    self.__init_from_decl( decl_or_string )
  File "/usr/local/lib/python2.7/dist-packages/pyplusplus/utils/__init__.py", line 100, in __init_from_decl
    self.signature = decl.create_decl_string( with_defaults=False )
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/calldef.py", line 616, in create_decl_string
    return f_type.partial_decl_string
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/cpptypes.py", line 54, in partial_decl_string
    return self.build_decl_string(False)
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/cpptypes.py", line 829, in build_decl_string
    with_defaults)
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/cpptypes.py", line 820, in create_decl_string
    [_f(x, with_defaults) for x in arguments_types]),
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/cpptypes.py", line 486, in _f
    return x.build_decl_string(with_defaults)
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/cpptypes.py", line 584, in build_decl_string
    return self.base.build_decl_string(with_defaults) + ' &'
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/cpptypes.py", line 895, in build_decl_string
    return self._declaration.partial_decl_string
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/declaration.py", line 361, in partial_decl_string
    return self.create_decl_string(with_defaults=False)
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/declaration.py", line 343, in create_decl_string
    return algorithm.full_name(self, with_defaults)
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/algorithm.py", line 133, in full_name
    partial_declaration_path(decl))
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/algorithm.py", line 64, in partial_declaration_path
    result = [decl.partial_name]
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/declaration.py", line 195, in partial_name
    self._partial_name = self._get_partial_name_impl()
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/class_declaration.py", line 575, in _get_partial_name_impl
    if type_traits.is_std_string(self):
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/type_traits.py", line 1309, in is_std_string
    return remove_cv(type_).decl_string in string_equivalences
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/declaration.py", line 352, in decl_string
    return self.create_decl_string()
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/declaration.py", line 343, in create_decl_string
    return algorithm.full_name(self, with_defaults)
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/algorithm.py", line 128, in full_name
    declaration_path(decl))
  File "/usr/local/lib/python2.7/dist-packages/pygccxml/declarations/algorithm.py", line 107, in full_name_from_declaration_path
    result = result[0] + '::'.join(result[1:])
IndexError: list index out of range
Command exited with non-zero status 1

Happens with gcc4.9 and gcc5. @mamoll do you have a minimal c++ code example to help setup a test for this ?

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions