From: Ethan Glasser-C. <gl...@cs...> - 2009-11-20 04:52:14
|
Simon McGregor wrote: > Hi, > > Just posting my experience with installing PyODE on Windows XP with > Python 2.6.4 and VS 2008. > It took me 4 tries to get it working. Hi! Sorry about the long delay in responding. I think I might have encountered a problem like this once and I was waiting till I had my ducks in a row before replying. > TRY #1 > * Use the Windows installer from http://pyode.sourceforge.net/ > > PROBLEM #1 > * No installer for Python 2.6; installer for 2.5 complains that I don't have 2.5 > > SOLUTION #1 > * Compile from source I'm not really comfortable contributing Windows builds, as it's not really my chosen operating system. > TRY #2 > * Download PyODE source > * Download ODE 0.11.1 source > * Compile ODE 0.11.1 to a .lib using VS 2008 > * Modify setup.py to find the ODE 0.11.1 lib file > * Install PyODE using 'python setup.py install' > > PROBLEM #2 > * PyODE installs but crashes python.exe shortly after (but apparently > not inside) an "ODE.Mass()" call. No Python exceptions are raised; it > looks like a null pointer exception caught by Windows. > > SOLUTION #2 > * PyODE incompatible with ODE 0.11? Use ODE 0.8 instead? I think I encountered a very similar problem once. When you modified setup.py, did you update both CFLAGS and LIBS? The version in CVS should be fixed. http://pyode.cvs.sourceforge.net/viewvc/pyode/pyode/setup.py?revision=1.13&view=markup I suspect strongly that when I committed the fix of calling ode-config to get CFLAGS/LIBS, it didn't make it into the tarballs/zip archives on the "files" page. I'd like to update those files but I don't have permissions. I just sent an email to one of the former admins and hopefully I can get that changed. Without those CFLAGS, you can get bugs like you saw because of conflicts with single precision/double precision. > Hope this is useful for anyone else having similar problems. > Out of interest, can anyone estimate how much work would be required > to get PyODE working with ODE 0.11.1? Quite a lot has been done in ODE > since 0.8! Lots of features have been added to ODE that never made it into the Python bindings. Pyrex being fairly simple, it shouldn't be that hard to jump in and start sending patches :) I'm not using PyODE any more and I expect that the silence on this list testifies to the fact that none of the other people with commit access do either. So patches are the best way to see more of ODE get supported. Failing that, if you tell me which features you're most interested in, and are willing to test, I'll try to sit down and bash 'em out. Of course, if you can't successfully build against a new ODE, that's not really feasible, so let me know. Ethan |