Problem compiling PO

artn3r

15-11-2009 00:49:18

Hello, I'm now trying to compile python-ogre from source because i need
to wrap custom libraries too. I'm getting this errors while running buildmodule.py ogre -g -v.
This is just a excerpt of the error log.

C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include/malloc.h:181: erro
r: 'SA_Pre' was not declared in this scope
C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include/malloc.h:181: erro
r: 'Deref' was not declared in this scope
C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include/malloc.h:181: erro
r: 'Valid' was not declared in this scope
C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include/malloc.h:181: erro
r: 'SA_Post' was not declared in this scope
C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include/malloc.h:203: erro
r: '_MarkAllocaS' declared as an 'inline' variable
C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include/malloc.h:203: erro
r: expected primary-expression before '[' token
C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include/malloc.h:203: erro
r: 'Null' was not declared in this scope
C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include/malloc.h:203: erro
r: 'WritableElementsConst' was not declared in this scope
C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include/malloc.h:203: erro
r: 'SA_Pre' was not declared in this scope
C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include/malloc.h:203: erro
r: 'Deref' was not declared in this scope
C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include/malloc.h:203: erro
r: 'Valid' was not declared in this scope
C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include/malloc.h:203: erro
r: 'SA_Pre' was not declared in this scope
C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include/malloc.h:203: erro
r: expected primary-expression before 'unsigned'
C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include/malloc.h:203: erro
r: initializer expression list treated as compound expression
C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/include/malloc.h:204: erro


Any ideas?
Thanks!
Christian

andy

15-11-2009 01:04:15

What system are you on? Standard 32 bit XP? or 64 bit??

And are you running the latest gccxml ??

Thanks
Andy

artn3r

18-11-2009 09:30:36

Hello Andy,
I'm on Windows 7 Ultimate x64, with visual Studio Professional 2008 and Visual Studio Express 2008,
and i'm using gccxml 0.9, i think this is the latest? Do you have any step-by-step tutorial for
compiling po on windows? this would be great. Do you think about wrapping SkyX and Awesomium?
Then it would be unnessecary for my to compile po by myself.

OFFTOPIC: Do you know the automatic C++ 2 Python wrapper "robin"?

http://code.google.com/p/robin/

I didn't get robin working for wrapping ogre, do you know the differences to py++?
I successfully wrapped SkyX and linked it against the standard ogre lib, but it crashes sometimes
because the original ogre lib isn't the same you are using for python ogre. If I could compile po,
then i could use the robin wrapper.

Thanks,
Christian

andy

18-11-2009 12:30:04

I'm happy to post my 'source' libraries for you which will allow you to link to them and ensure compatibility -- otherwise the wiki does have a couple of ways to build Python-Ogre under Windows that you can look at..

I hadn't looked at robin for a while -- last time I tested it it simply had too many missing features. Python-Ogre is based on Boost.Python, which while being a bit heavy on memory usage (which isn't really an issue on modern machines) it does have by far the most complete support for C++ wrapping which is critical for a rather complex library such as Ogre.

Also Robin only supports Python wrapping and the only real reason to move from Boost.Python would be to use a multi-languge wrapper (nice to support a .net language -- BOO for example) with swig being the only option I know of currently and it's support for advanced C++ features is seriously lacking..

A wrapper for SKY is on my list (happy if you want to have a go at it and put it back into the SVN :)) however not necessarily going to do anything with Awesomium -- again happy to help out if you want to take it on...

Regards
Andy

andy

18-11-2009 14:24:38

Had a look at SkyX and it was pretty easy -- initial wrapper and demo is in the SVN however at this point completely untested however looking good to be a supported module (did need to tweak DataManager as it uses 'or' as a argument name and gccxml gets confused)

Andy

artn3r

18-11-2009 16:37:35

Thanks Andy, you're awesome!
It would be great if you could post your "source" libs while
I'm trying to get po compiling! Is the 1.7 or the 1.6.4 version better for
starting a new project? i need ogre (d3d9), nxogre or ode, skyx, cegui, awesomnium
in my project...
If i start wrapping awesomium without compiling the whole po package,
how do i tell py++ not to wrap the whole ogre engine? (if Ogre.h is included
in any Awesomiun header file). Can i tell py++ that it should let out all Ogre-stuff
from wrappin? (because that's already done by you)

Thanks four your help,
Christian

andy

19-11-2009 05:41:41

Give me a day or two and I'll post a new binary with SkyX and the development libraries needed for external linking..

For awesomium are you looking to use the current 1.0 version or are you going to wait a bit for the 1.5 release -- I don't see the SDK available for download, although I do see a blog entry regarding 1.5 being free to use (non commercially) -- if you can point me in the right direction here I'll make the initial Python-Ogre code generator for Awesomium and then let you "fix/complete" it :)

[EDIT] -- SkyX Module is in the SVN and seems to work OK :)

Regards
Andy

artn3r

19-11-2009 13:16:13

Thank you, this helps me a lot!

SkyX with it's volumetric clouds looks much better than caelum,
i think this is a good choice.

I already mailed Adam Simmons ("priceofcode") about awesomium,
he is going to release the 1.5 version soon, free for non-commercial use!
I think we should not waste time while going for the version 1.0, we should
wait for 1.5. You seem to be not very convinced about awesomium, for what
reasons?

Thanks for all your help (an helping me for a positive diploma thesis last year whith
your python ogre :D )

Christian

andy

19-11-2009 13:28:38

My 'concerns' about awesomium are unfounded :) - more a case of waiting for it to stabilize and agree that we should focus on the 1.5 version.

The original Navi was a bit of a problem due to incompatibilities in libraries (it's the only time I've seen issues linking windows libraries compiled with different versions of MSVC causing crashes) so I stopped actively supporting it (although the wrapper code is still int eh SVN)..

Let me know when the 1.5 code is available and I'll do the initial wrapper for it..

Andy

artn3r

20-11-2009 23:23:54

Ok thanks.
Do you post the link for the source libs here then or where should i look for it then?

regards,
christian

andy

21-11-2009 02:10:07

Going up on SourceForge now -- look for DevLIbs and the Ogre cache file in the 1.7 section..

I've also created the awesomium wrapper in code_generators (it's empty at the moment) so you have something to work with..

You will need to extract the ogre cache file into code_generators/cache so that when you start on the awesomium wrapper you won't need the Ogre headers etc (at least for the code generation) -- obviously you will need it for compile time and you;d need to grab the Ogre SVN rev 9326 to match my build...

If possible let's continue this on the google mailing list as it's easy for a 'conversation'

Regards
Andy

artn3r

23-11-2009 02:35:50

thank you!
i switched to the mailing list now:

http://groups.google.com/group/python-o ... 69d403e879

regards,
christian