From: Simon M. <lon...@gm...> - 2009-11-16 14:17:39
|
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. --------------------- 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 --------------------- 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? --------------------- TRY #3 * Download ODE 0.8 precompiled Windows libraries * Modify setup.py to find the ODE 0.8 lib file * Install PyODE using 'python setup.py install' PROBLEM #3 * Linker failure: "unresolved external symbol __iob referenced" SOLUTION #3 * ODE 0.8 precompiled libraries incompatible with VS 2008? Try compiling ODE 0.8 from source using VS 2008? --------------------- TRY #4 * Download ODE 0.8 source * Compile ODE 0.8 using VS 2008 SUCCESS! --------------------- The complete list of steps which resulted in a working solution on my machine was: * Download premake 3.7 (not premake 4) * Download ODE 0.8 source (not ODE 0.11.1) * Run "premake --target vs2008" in the ODE "build" directory * Open "ode.vcproj" in the ODE "build/custom" directory, using VS 2008 * Compile the "ReleaseLib" solution in VS 2008 * Download PyODE source * Edit "setup.py" in PyODE directory changing the "ODE_BASE" variable to my ODE 0.8 directory * Run "python setup.py install" in PyODE directory 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! Simon |