Python-ogre ode

mrkissinger

15-05-2007 18:14:28

It seems "Python-ogre ode" cannot be compiled on Debian on x64 platform.

When running "python generate_code.py" under "python-ogre/code_generators/ode", the following error is thrown:


Including Class: dJointFeedback
Checking ::mallinfo
Checking ::__exception
Checking ::__false_type
Checking ::__true_type
Checking ::__mbstate_t
Checking ::__mbstate_t
Checking ::pthread_mutex_t
Checking ::pthread_mutex_t::__pthread_mutex_s
Checking ::__pthread_cleanup_class
Checking ::__pthread_cleanup_frame
Checking ::
Traceback (most recent call last):
File "generate_code.py", line 301, in ?
generate_code()
File "generate_code.py", line 236, in generate_code
filter_declarations (mb)
File "generate_code.py", line 133, in filter_declarations
if cls.decl_string[2]=='d' and cls.decl_string[3].isupper():
IndexError: string index out of range



I tried to add a string length check like:

for cls in ode_ns.classes():
print "Checking ", cls.decl_string
if len(cls.decl_string)<3:
continue;
if cls.decl_string[2]=='d' and cls.decl_string[3].isupper():
print "Including Class:", cls.name
cls.include()


A new error occurred:

WARNING: dGeomClass::dtor [variable]
> warning W1037: Boost.Python library can not expose variables, which are pointer to function. See
> http://www.boost.org/libs/python/doc/v2/faq.html#funcptr for more information.
Traceback (most recent call last):
File "generate_code.py", line 301, in ?
generate_code()
File "generate_code.py", line 271, in generate_code
mb.build_code_creator (module_name='_ode_' , doc_extractor= extractor)
File "/usr/lib/python2.4/site-packages/pyplusplus/module_builder/builder.py", line 246, in build_code_creator
, doc_extractor)
File "/usr/lib/python2.4/site-packages/pyplusplus/module_creator/creator.py", line 100, in __init__
prepared_decls = self._prepare_decls( decls, doc_extractor )
File "/usr/lib/python2.4/site-packages/pyplusplus/module_creator/creator.py", line 134, in _prepare_decls
readme = decl.readme()
File "/usr/lib/python2.4/site-packages/pyplusplus/decl_wrappers/decl_wrapper.py", line 179, in readme
msgs.extend( self._readme_impl() )
File "/usr/lib/python2.4/site-packages/pyplusplus/decl_wrappers/calldef_wrapper.py", line 188, in _readme_impl
if ft.alias == ft.unique_name:
File "/usr/lib/python2.4/site-packages/pyplusplus/function_transformers/function_transformation.py", line 35, in unique_name
obj.update( self.__function.mangled )
TypeError: update() argument 1 must be string or read-only buffer, not None


What can I do to solve this problem?

Game_Ender

15-05-2007 18:33:40

Doesn't seem like a problem has anything to do with your platform. What version of ODE are you using? Also ODE has recently been updated in SVN you might try reverting your local changes and updating.

mrkissinger

19-05-2007 09:05:46

amd64:/backup/Softwares/ode/opende# svn update
At revision 1197.
amd64:/backup/Softwares/ode/opende#

I think I am using the last svn code.

andy

19-05-2007 12:09:01

Can we move these "compile" types of issues to the Google groups mailing list (as it's easier to respond in a timely fashion)..

There is an issue with OgreOde compiling with the latest gcc that I'm looking into to (the problem you have listed was fixed a day or two ago in the Python-Ogre SVN) where forward declarations in the ODE headers are causing an issue..

Cheers

Andy