[pygtk] DLL load errors with Py2.6, PyGTK 2.22 and GTK 2.22 bundle
Stephen George
steve_geo at optusnet.com.au
Mon Nov 29 05:50:17 WST 2010
On 29/11/2010 8:18 AM, Dieter Verfaillie wrote:
> Quoting "Stephen George" <steve_geo at optusnet.com.au>:
>> I also recommend DependencyWalker for resolving these issues.
>>
>> GRAMPS is a pygtk program, a lot of our Windows users have been
>> facing lot's of "DLL load failed" issues recently , I've just started
>> a Wiki page on the GRAMPS wiki talking about this issue.
>>
>> http://www.gramps-project.org/wiki/index.php?title=ImportError:_DLL_load_failed
>>
>>
>> It may be of some help, but I haven't got to the section discussing
>> dependency walker usage.
>
> I see gramps lists graphviz as an optional dependency. Beware that
> graphviz installs it's own gtk+ runtime (and might add graphviz to
> PATH). This could be one reason some of your windows users are having
> problems.
>
> If the graphviz directory comes first on PATH (before the gtk+ runtime
> version required by pygtk, pygobject and pycairo), the python bindings
> will try to load the necessary dll files from an unexpected location,
> most likely having and incompatible gtk+ runtime.
>
> Just a thought...
>
> mvg,
> Dieter
Hi Dieter,
Thanks for pointing the problem out
Yes, .. we are aware of this, and is part of the reason why the script
check_gtk_install was created, to try and highlight when people have
path issues ( whose gtk comes first).
I think most people on a pygtk forum have some sort of developer
background, .. but our users on GRAMPS come from all walks of life, and
some are not necessarily technically savvy and have real problem just
installing the gtk / pygtk stack. If they get that far and then have
DLL load failures it all gets too hard for them to diagnose. I think on
windows we have lost a lot of potential GRAMPS users just because the
gtk / pygtk stack is too hard for them to install.
Now days most people start GRAMPS with a batch file that puts the bin
directory of GTK rutime GRAMPS wants to use on the path in front of all
others - therefore the path modification is only valid for the duration
of the session, and isolated to that one process.
<whinge>
Personally I have a lot of problem with GTK applications that ship a
local copy of GTK putting their copy on the path for all to see.
I don't see that problem with GIMP, .. while they ship a local copy of
GTK, they don't put themselves on the path, and I think that's a model
other shipping gtk apps could follow.
It's no wonder a globally installed gtk runtime, is so problematic when
it's got to fight with various local gtk installs getting in the way.
In fact now we are starting to find something has installed some DLL's (
i.e. intl.dll, iconv.dll) to windows\system or windows\system32, this
causes a major problem as this path gets checked BEFORE the path, so
even you put your global gtk-runtime first on path, it will still find
the wrong copy of intl.dll.
</whinge>
Steve
More information about the pygtk
mailing list