Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > ctypes error

Reply
Thread Tools

ctypes error

 
 
Gib Bogle
Guest
Posts: n/a
 
      01-15-2010
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?
 
Reply With Quote
 
 
 
 
Gib Bogle
Guest
Posts: n/a
 
      01-15-2010
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.
 
Reply With Quote
 
 
 
 
Dave Angel
Guest
Posts: n/a
 
      01-15-2010
>Gib Bogle wrote:
>>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?


Gib Bogle wrote:
> <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

 
Reply With Quote
 
Terry Reedy
Guest
Posts: n/a
 
      01-15-2010
On 1/15/2010 2:00 AM, Gib Bogle wrote:
> 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.

 
Reply With Quote
 
Gib Bogle
Guest
Posts: n/a
 
      01-16-2010
Gib Bogle wrote:
> 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.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
WindowsXP/ CTypes - How to convert ctypes array to a string? dudeja.rajat@gmail.com Python 0 08-19-2008 10:20 AM
ctypes wrapping libpam.so on FreeBSD 6.1 - Python Bus Error Martin P. Hellwig Python 3 07-15-2006 12:58 PM
Ctypes error Michele Petrazzo Python 3 10-08-2004 06:14 PM
ctypes, error when calling function Max M Python 4 10-07-2004 02:17 PM
RE: [ctypes-users] [Ann] ctypes 0.9.0 released Henk Punt Python 0 07-23-2004 10:34 PM



Advertisments