Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Tracking down DLL load errors in Windows ?

Reply
Thread Tools

Tracking down DLL load errors in Windows ?

 
 
Fred P
Guest
Posts: n/a
 
      10-15-2009
Hi, a bit of platform-specific advice sought here... I'm trying to diagnose
one of those mysteries Windows is so fond of...

Say that I have code that imports some binary Python module from site-
packages (in this case, libpyexiv2.pyd through pyexiv2.py, could be anythng
else).

On three Windows boxes I've tried it (XP Pro or Home, Python 2.5)
everything works fine. On a fourth, importing the module fails with a
traceback like this :

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "c:\python\lib\site-packages\pyexiv2.py", line 60, in <module>
import libpyexiv2
ImportError: DLL load failed: This application could not start
because its configuration is incorrect. Reinstalling it might solve
the problem.

I have tried long and hard to spot a meaningful difference between the
first three systems and the last, without success.

Is there any tool and/or methodology I could use to at least pinpoint the
exact DLL that libpyexiv2 is failing to load, and ideally also the reason
why ?...

TIA,
fp
 
Reply With Quote
 
 
 
 
Fred Pacquier
Guest
Posts: n/a
 
      10-16-2009
Christian Heimes <(E-Mail Removed)> said :

> Fred P wrote:
>> Is there any tool and/or methodology I could use to at least pinpoint
>> the exact DLL that libpyexiv2 is failing to load, and ideally also
>> the reason why ?...

>
> The depencency walker http://www.dependencywalker.com/ works fine for
> me.


I'd never heard of that tool before, but it looks powerful indeed !

Thanks a lot for the pointer,
fp
 
Reply With Quote
 
 
 
 
Mark Tolonen
Guest
Posts: n/a
 
      10-17-2009

"Fred P" <(E-Mail Removed)> wrote in message
news:Xns9CA5E52BEC783PaCmAnRDLM@212.27.60.39...
> Hi, a bit of platform-specific advice sought here... I'm trying to
> diagnose
> one of those mysteries Windows is so fond of...
>
> Say that I have code that imports some binary Python module from site-
> packages (in this case, libpyexiv2.pyd through pyexiv2.py, could be
> anythng
> else).
>
> On three Windows boxes I've tried it (XP Pro or Home, Python 2.5)
> everything works fine. On a fourth, importing the module fails with a
> traceback like this :
>
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "c:\python\lib\site-packages\pyexiv2.py", line 60, in <module>
> import libpyexiv2
> ImportError: DLL load failed: This application could not start
> because its configuration is incorrect. Reinstalling it might solve
> the problem.
>
> I have tried long and hard to spot a meaningful difference between the
> first three systems and the last, without success.
>
> Is there any tool and/or methodology I could use to at least pinpoint the
> exact DLL that libpyexiv2 is failing to load, and ideally also the reason
> why ?...


That error message is returned from executables built with later versions of
Visual Studio (at least 2005 and 2008...not sure about 2003). The Windows
application event log will indicate what DLL is missing.

In addition to tools others have noted, depends.exe (comes with VS2005...was
removed in VS2008 for unknown reasons) will list the DLLs required by an
executable. Another Visual Studio tool, "dumpbin /imports <target>" works,
too.

-Mark


 
Reply With Quote
 
Fred Pacquier
Guest
Posts: n/a
 
      10-17-2009
"Mark Tolonen" <(E-Mail Removed)> said :

> That error message is returned from executables built with later
> versions of Visual Studio (at least 2005 and 2008...not sure about
> 2003). The Windows application event log will indicate what DLL is
> missing.
>
> In addition to tools others have noted, depends.exe (comes with
> VS2005...was removed in VS2008 for unknown reasons) will list the DLLs
> required by an executable. Another Visual Studio tool, "dumpbin
> /imports <target>" works, too.


Silly me, I hadn't even thought of the Windows event log either... thanks
much !
fp
 
Reply With Quote
 
Fred Pacquier
Guest
Posts: n/a
 
      10-18-2009
Fred P <(E-Mail Removed)> said :
> Hi, a bit of platform-specific advice sought here... I'm trying to
> diagnose one of those mysteries Windows is so fond of...
> Say that I have code that imports some binary Python module from site-
> packages (in this case, libpyexiv2.pyd through pyexiv2.py, could be
> anythng else).
> On three Windows boxes I've tried it (XP Pro or Home, Python 2.5)
> everything works fine. On a fourth, importing the module fails with a
> traceback like this :
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "c:\python\lib\site-packages\pyexiv2.py", line 60, in <module>
> import libpyexiv2
> ImportError: DLL load failed: This application could not start
> because its configuration is incorrect. Reinstalling it might solve
> the problem.
> I have tried long and hard to spot a meaningful difference between the
> first three systems and the last, without success.
> Is there any tool and/or methodology I could use to at least pinpoint
> the exact DLL that libpyexiv2 is failing to load, and ideally also the
> reason why ?...


Thanks to Mark and Christian : dependency-walker confirmed the VC++
issue.

After installing the MS redistributable DLL package -- actually I had to
install *three* before hitting the right one (2005SP1) -- libpyexiv2
finally loads all its dependencies.

Of course I've still no idea why/how it ran on the first three systems
(and most others, from the look of it) without doing anything, and not on
this one... but at least now it works
 
Reply With Quote
 
Mark Tolonen
Guest
Posts: n/a
 
      10-18-2009

"Fred Pacquier" <(E-Mail Removed)> wrote in message
news:Xns9CA8B91A1519APaCmAnRDLM@212.27.60.38...
>
> After installing the MS redistributable DLL package -- actually I had to
> install *three* before hitting the right one (2005SP1) -- libpyexiv2
> finally loads all its dependencies.
>
> Of course I've still no idea why/how it ran on the first three systems
> (and most others, from the look of it) without doing anything, and not on
> this one... but at least now it works


Yes, welcome to Microsoft's solution to DLL Hell...Side-by-Side DLL Hell.

-Mark


 
Reply With Quote
 
Fred Pacquier
Guest
Posts: n/a
 
      10-19-2009
"Mark Tolonen" <(E-Mail Removed)> said :

> Yes, welcome to Microsoft's solution to DLL Hell...Side-by-Side DLL
> Hell.


As always, it boils down to a philosophical choice : is it better to suffer
through Hell alone, or in bad company ?
 
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
Tracking down undefined reference errors. walkeraj@gmail.com C++ 9 11-16-2007 07:36 PM
Tracking Someone Tracking Me Edw. Peach Computer Security 4 07-07-2005 05:50 PM
Help w/Tracking Source of bogus error message: "Bad Image": SensAPI.DLL not a valid Windows Image mutu Computer Support 1 05-01-2005 11:00 AM
Errors, errors, errors Mark Goldin ASP .Net 2 01-17-2004 08:05 PM
msvcrt.dll, msvcirt.dll, msvcrt20.dll and msvcrt40.dll, explanation please! Snoopy NZ Computing 16 08-25-2003 12:34 PM



Advertisments