On out-of-date Python Applications

V

Virgil Stokes

I am not a heavy user of Python; but, I do work with it and some of its
application packages (e.g. PyODE), in an academic setting.
Many of these applications packages have a Windows installer which
usually works fine. However, I also try to keep up with the latest
release of Python, and this is where I often have problems. That is, the
latest Windows installer provided for some of these applications will
not install on the latest version of Python.

I do understand that there can be a time lag between the release of
Python applications and the latest Python. I also appreciate the work of
the people that are responsible for these applications.

My question is --- Is there anything I, as a user of an application
package that is out-of-date with respect to the latest Python, can do to
help in this process of bringing an application up-to-date?

--V. Stokes
 
J

John Machin

I am not a heavy user of Python; but, I do work with it and some of its
application packages (e.g. PyODE), in an academic setting.
Many of these applications packages have a Windows installer which
usually works fine. However, I also try to keep up with the latest
release of Python, and this is where I often have problems. That is, the
latest Windows installer provided for some of these applications will
not install on the latest version of Python.

If the package was written for 2.x and "the latest version of Python"
means 3.X, this is not surprising; your options are (1) wait until the
package maintainer releases a 3.x-compatible version (2) port it to
3.x yourself (3) use 2.6

Otherwise: What does "will not install" mean? Are these pure Python
packages or do they include C extensions (binary (pyd) or source?)? At
what stage of the installation does the installation fail? With what
error message(s)? With what versions of Python?
 
J

John Machin

Your answers have been very helpful in determining exactly what your
problem is; thank you.


Given a source distribution, a suitable C++ compiler, and the suspension
of Murphy's Law, anyone should be able to (a) install it on their own
machine (b) make a Windows installer.


Perhaps indeed ...


Suggestions:

(1) contact the pyODE maintainer and ask, or check out the project's
forums on sourceforge

(2) if you have a C++ compiler on your Windows box: get the source
distribution, unpack it, ensure that the ODE_BASE in the setup.py points
to your (existing) ODE 0.7 installation, do
     \python26\python setup.py install
and stand well back.

I have just tried this and got a ton of warnings from the compile and 3
errors from the link:

build\lib.win32-2.6\ode.pyd : fatal error LNK1120: 3 unresolved externals
error: command '"C:\Program Files\Microsoft Visual Studio
9.0\VC\BIN\link.exe"' failed with exit status 1120

Update: The problem is evidently with the lib(s) available with ODE
0.7 (or 0.8 -- there are conflicting stories about which one to use
with PyODE); they were compiled with VS2003 AFAICT and the complained-
of symbols are not supplied by VS2009 which is what I'm using to try
and build PyODE for Python 2.6 .

The next step would be to try to compile ODE 0.7 or 0.8 with VS9 --
however this would require "project files" for ODE for VS9, and there
aren't any on the ODE website; it has only those for VS3 and VS5.

As all I know about VS9 is that somewhere inside the ferschlugginer
100 Mb download there's a C compiler that does the right thing when
distutils pushes its button, I'm going to have to punt this back to
you to follow up on suggestion (1) ... skip asking the pyODE
maintainer (last heard saying little time available and he wasn't
even /using/ pyODE any more); try asking on the pyODE and ODE mailing-
lists has anyone contemplated a Python 2.6 / win32 / VS 2009 build of
pyODE.

Cheers,
John
 
D

David Robinow

The next step would be to try to compile ODE 0.7 or 0.8 with VS9 --
however this would require "project files" for ODE for VS9, and there
aren't any on the ODE website; it has only those for VS3 and VS5.
The ODE site is a mess.
Go to http://www.ode.org/svn.html and click on: Instructions for
accessing the repository
Scroll down to the section "Building with Premake"
(Note that there is no directory "ode/build" -- you want the "build"
directory, which contains premake4.exe)
I used "premake4 --with-demos --with-tests vs2008"
I have successfully compiled ode-0.11.1 using these instructions. I
have not yet run the tests or demos or tried to compile PyODE.
 
D

David Robinow

David Robinow wrote:

...


The next step would be to try to compile ODE 0.7 or 0.8 with VS9 --
however this would require "project files" for ODE for VS9, and there
aren't any on the ODE website; it has only those for VS3 and VS5.



The ODE site is a mess.
Go to http://www.ode.org/svn.html and click on: Instructions for
accessing the repository
Scroll down to the section "Building with Premake"
(Note that there is no directory "ode/build" -- you want the "build"
directory, which contains premake4.exe)
I used "premake4 --with-demos --with-tests vs2008"
I have successfully compiled ode-0.11.1 using these instructions. I
have not yet run the tests or demos or tried to compile PyODE.


Thanks for this information David.
Now that you have successfully compiled ode-0.11.1, how can one finish this
process --- compile PyODE?

--V
Edit setup.py Windows specific settings:
ODE_BASE to location of your ode distribution
create releaselib directory under lib and copy the .lib file that you built in
Visual Studio. This will be:
ReleaseSingleLib\ode_single.lib or
ReleaseDoubleLib\ode_double.lib or one of the Debug versions
Change the name to ode.lib.
i.e. in CMD-speak: %ODE_BASE%\lib\releaselib\ode.lib

I was then able to build PyODE-1.2.0

However, all the examples died with:
ODE Message 2: mass must be > 0 <..\..\ode\src\mass.cpp:49)

I don't have time right now to debug this. Maybe somebody else can take it a
bit further.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,043
Latest member
CannalabsCBDReview

Latest Threads

Top