On 20/07/2009 12:24 AM, Virgil Stokes wrote:
John Machin wrote:
On Jul 19, 6:04 pm, Virgil Stokes <v...@it.uu.se> wrote:
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
Actually John,
My question was about the more general case --- how to help with upgrading applications; but, I will try to address your email.
Otherwise: What does "will not install" mean?
This means that when the Windows installer is executed it informs you that you do not have a match between the application and the Python that it finds on your Windows PC. You can easily find this out for yourself by trying to install PyODE on a Windows platform with a Python version later than 2.5.x.
Are these pure Python
packages or do they include C extensions (binary (pyd) or source?)?
Obviously, this depends on the application. In the particular case that I mentioned (PyODE) I believe that there is a mix of C binaries and Python code.
At
what stage of the installation does the installation fail?
In the initial stages.
With what
error message(s)?
In one specific case, the message is (paraphrasing) "You do not have Python 2.5 installed" --- the installation is then aborted.
With what versions of Python?
I have only Python 2.6.2 on my home Windows Vista PC and PyODE does not have a Windows Installer for Python 2.6.


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

Note, again John, my question was about how I might assist (help) with the updating of applications;

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

but, thank you for your interest in this.
Perhaps, only the owner/responsible programmer for the application can create a Windows installer,

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.


or perhaps others could assist with this ---

Perhaps indeed ...

this is what my question was about. I would be glad to assist if possible :-)

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

C++ is not my bag and it's way past bedtime here, so I'll just paste in the link output in the hope that someone can spot the problem:

C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:\ode\ode-0.7\lib\releaselib /LIBPATH:C:\python26\libs /LIBPATH:C:\python26\PCbuild ode.lib user32.lib /EXPORT:initode build\temp.win32-2.6\Release\ode_trimesh.obj /OUT:build\lib.win32-2.6\ode.pyd /IMPLIB:build\temp.win32-2.6\Release\ode.lib /MANIFESTFILE:build\temp.win32-2.6\Release\ode.pyd.manifest /NODEFAULTLIB:LIBCMT

Creating library build\temp.win32-2.6\Release\ode.lib and object build\temp.win32-2.6\Release\ode.exp

ode.lib(error.obj) : error LNK2019: unresolved external symbol __iob referenced in function "void __cdecl printMessage(int,char const *,char const *,char *)" (?printMessage@@yaxhpbd0...@z)

ode.lib(convex.obj) : error LNK2001: unresolved external symbol __iob

ode.lib(convex.obj) : error LNK2019: unresolved external symbol "public: void __thiscall std::_String_base::_Xran(void)const " (?_x...@_string_base@std@@QBEXXZ) referenced in function "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(unsigned int,unsigned int)" (?er...@?$basic_string@du?$char_tra...@d@std@@v?$alloca...@d@2@@std@@qaeaa...@ii@Z)

ode.lib(convex.obj) : error LNK2019: unresolved external symbol "public: void __thiscall std::_String_base::_Xlen(void)const " (?_x...@_string_base@std@@QBEXXZ) referenced in function "protected: bool __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Grow(unsigned int,bool)" (?_g...@?$basic_string@du?$char_tra...@d@std@@v?$alloca...@d@2@@std@@iae_n...@z)

build\lib.win32-2.6\ode.pyd : fatal error LNK1120: 3 unresolved externals

Cheers, John
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to