On out-of-date Python Applications
John Machin
sjmachin at lexicon.net
Sun Jul 19 11:47:17 EDT 2009
On 20/07/2009 12:24 AM, Virgil Stokes wrote:
> John Machin wrote:
>> On Jul 19, 6:04 pm, Virgil Stokes <v... at 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@@YAXHPBD0PAD at 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 "
(?_Xran at _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)"
(?erase@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at II@Z)
ode.lib(convex.obj) : error LNK2019: unresolved external symbol "public:
void __thiscall std::_String_base::_Xlen(void)const "
(?_Xlen at _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)"
(?_Grow@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@IAE_NI_N at Z)
build\lib.win32-2.6\ode.pyd : fatal error LNK1120: 3 unresolved externals
Cheers, John
More information about the Python-list
mailing list