FAQ
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?

Search Discussions

  • Gib Bogle at Jan 15, 2010 at 7:00 am
    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.
  • Dave Angel at Jan 15, 2010 at 8:04 am

    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/?linkid2640

    to download it.

    DaveA
  • Terry Reedy at Jan 15, 2010 at 10:09 am

    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.
  • Gib Bogle at Jan 16, 2010 at 12:29 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.

    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.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppython-list @
categoriespython
postedJan 15, '10 at 6:34a
activeJan 16, '10 at 12:29a
posts5
users3
websitepython.org

People

Translate

site design / logo © 2022 Grokbase