Unresolved symbols in MSVCRT.DLL when running a py2exe packaged program.

Parzival Herzog parz at home.com
Thu Mar 1 01:12:01 EST 2001


I have a Python application (which uses the wxPython extension) that I have
packaged
for distribution with py2exe.  The dfistributed app works on my own
computer,
and on another machine I have, which has never seen any Python software, nor
any
development software (i.e. no dll's not a part of a standard Win2000
installation are present).

I delivered my app to my client, who is expected to modify some
configuration code, then
use py2exe to package the app, and run the packaged app on a server machine.
My client
has a notebook computer, running Win NT (Sp 6), plus MsVc and assorted
development tools.
My app worked on that noebook, and py2exe again packaged the app and the
package was
copied to the server machine, a Win NT sp 6 desktop computer. When we
attempted to
start the app, it failed immediatly, with the message that the symbol
??_U at YAPAXI@Z could
not be found in MSVCRT.DLL.

That symbol is apperrently defined in the MSVCRT.DLL file in the py2exe
package, but the
MSVCRT.DLL in the package is not the same as MSVCRT.DLL in the windows
system32
directory, and that version of the dll appears to have the symbol
??2 at YAPAXCI@Z defined
(what horrible identifiers!). So we assumed that instead of finding the
py2exe supplied
dll, the packaged python app is finding the other dll, which is much older
(dated 1997).
Of course, we don't have any way of determining the dll that is actually
being searched).
So, we attempted to replace the old MSVCRT, by installing a recent copy of
MSVC++ 6.0.
This indeed did replace the dll, replacing it with a version dated July 7,
2000. However,
the problemwith the python app persisted exactly as before.

What I can tell, with the computers I have available, is that the the Python
app works
on three different machines, 2 running Windows 2000, with the latest
MSVCRT.DLL
and one running Win NT (sp 6), with an MSVCRT.DLL dated 1999. What I can't
tell
is whether or not the py2exe packeged MSVCRT.DLL is being used by the python
app,
or the system32 dll that happens to be on the machine where the app is to
run.

Can anyone help me towards resolving this problem? Truly, I program in
Python, because I
really am far too stupid to cope with ??2 at YAPAXCI@Z missing symbol problems,
and I
fancy that I shouldn't have to either. But I appear to be misguided, and I
need some help.

- Parzival







More information about the Python-list mailing list