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