Executable problem - socket?

Gib Bogle g.bogle at auckland.no.spam.ac.nz
Wed Feb 24 23:35:56 EST 2010


MRAB wrote:
> Gib Bogle wrote:
>> Hi,
>> My student has been developing a GUI (using PyQt and PyQwt) that runs 
>> a model written in Fortran and built as a DLL.  She has to present on 
>> this work tomorrow.  She makes an executable version of the Python 
>> code with py2exe, and the executable runs fine on her Vista laptop and 
>> my XP machine.  It doesn't run on the PC that she must use for her 
>> talk tomorrow.  The Fortran DLL code is started up, it writes some 
>> text output to a couple of log files, then it fails with a 
>> WindowsError (000001d) which is a write error.  I suspect that this is 
>> the first attempt to write to a socket (communication from the DLL to 
>> Python is via sockets).  The only clue is that the machines that her 
>> program runs on have Python installed, while the one that fails 
>> doesn't.  Therefore I suspect that py2exe has omitted a necessary 
>> Python DLL.  How can I track down what might be missing?
>>
> You could try Dependency Walker: http://dependencywalker.com/
> 

Wow!  I've heard of it, but never used it.  The result is intriguing, but 
baffling.  When I look at the executable ABM15.exe on my machine (where it runs 
OK), I see a couple of harmless messages, but interestingly the program shows up 
with a checksum inconsistency, between Link Checksum and Real Checksum. 
Apparently this causes no issues on my machine.

On another XP machine, where the program fails with the write error, there is 
first a pop-up with this message:
"Errors were detected when processing ABM15.exe.  See the log for details."

In the log there are two significant messages:

"Error: The side-by-side configuration information for ABM15.exe contains 
errors.  The application has failed to start because the application 
configuration is incorrect.  Reinstalling the application may fix this problem 
(14001)."
(the checksum discrepancy is there also)

"MSJAVA.DLL  Error opening file.  The system cannot find the file specified (2)."
(needless to say, I'm not using Java, and MSJAVA.dll is not on the other machine 
either)

I find it very puzzling that the "configuration information" (whatever that is) 
is OK on one machine and erroneous on another.  DependencyWalker is obviously 
onto something - but what?

(At this stage snide comments about Windows will be received without comment.)



More information about the Python-list mailing list