ctypes error

G

Gib Bogle

I have a simple demo program (on Windows XP) that uses the ctypes module to load
a DLL. This program works as expected with Python 2.5.4, but fails with Python
2.6.4 (on a different machine, each machine has only one Python version
installed), with these messages:

File "demo.py", line 37, in <module>
mydll = windll.LoadLibrary("DEMO.DLL")
File "c:\python26\lib\ctypes\__init__.py, line 431, in LoadLibrary
return self._dlltype(name)
File "c:\python26\lib\ctypes\__init__.py, line 353, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 14001] This application has failed to start because the
application configuration is incorrect. Reinstalling the application may fix
this problem

It isn't clear to me what the "application" is. As far as I know I didn't
install anything except Python 2.6.4. Is it possible that ctypes doesn't work
with 2.6.4?
 
G

Gib Bogle

It has occurred to me that the error may have nothing to do with ctypes. The
DLL was built on one machine and copied to the other (which doesn't have the
compiler installed). Although both machines are running Windows XP, there might
be some subtle differences.

I see that the build machine has XP Professional, Version 2002, Service Pack 2,
while the machine that fails to load the DLL has XP Home Edition, Version 2002,
Service Pack 3. Who knows.
 
D

Dave Angel

these messages:
>>File "demo.py", line 37, in <module>
>> mydll = windll.LoadLibrary("DEMO.DLL")
>>File "c:\python26\lib\ctypes\__init__.py, line 431, in LoadLibrary
>> return self._dlltype(name)
>>File "c:\python26\lib\ctypes\__init__.py, line 353, in __init__
>> self._handle = _dlopen(self._name, mode)
>>WindowsError: [Error 14001] This application has failed to start
because the application configuration is incorrect. Reinstalling the
application may fix this problemdidn't install anything except Python 2.6.4. Is it possible that ctypes
doesn't work with 2.6.4?


Gib said:
<div class="moz-text-flowed" style="font-family: -moz-fixed">It has
occurred to me that the error may have nothing to do with ctypes. The
DLL was built on one machine and copied to the other (which doesn't
have the compiler installed). Although both machines are running
Windows XP, there might be some subtle differences.

I see that the build machine has XP Professional, Version 2002,
Service Pack 2, while the machine that fails to load the DLL has XP
Home Edition, Version 2002, Service Pack 3. Who knows.

</div>
The application is "python.exe". And usually, when it gives such an
error, there's a missing DLL, or one of improper version.

I think you want to run Dependency-Walker. See
http://msdn.microsoft.com/en-us/library/ms235265.aspx

for a description, and follow its link to
http://go.microsoft.com/fwlink/?linkid=132640

to download it.

DaveA
 
T

Terry Reedy

It has occurred to me that the error may have nothing to do with ctypes.
The DLL was built on one machine and copied to the other (which
doesn't have the compiler installed). Although both machines are running
Windows XP, there might be some subtle differences.

Python 2.5 and Python 2.6 are built with different versions of Microsoft
Visual C. That could be your problem.
 
G

Gib Bogle

Gib said:
It has occurred to me that the error may have nothing to do with
ctypes. The DLL was built on one machine and copied to the other (which
doesn't have the compiler installed). Although both machines are
running Windows XP, there might be some subtle differences.

I see that the build machine has XP Professional, Version 2002, Service
Pack 2, while the machine that fails to load the DLL has XP Home
Edition, Version 2002, Service Pack 3. Who knows.

I'm a bit embarrassed to report that the problem has nothing to do with Python.
My DLL was built with dynamic library linking, and apparently there are some
differences between the various Intel DLLs used on the two machines. Following
advice from the Intel Fortran forum, I created the DLL with static library
linking, and now all works as expected. Sorry to waste your time.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,042
Latest member
icassiem

Latest Threads

Top