gtk arch issues

Johnson Jones via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Aug 1 13:01:50 PDT 2017


On Tuesday, 1 August 2017 at 15:14:50 UTC, Mike Wey wrote:
> On 01-08-17 01:37, Johnson Jones wrote:
>> 
>> So, the question is, is this a gtkd problem or a gtk problem? 
>> In either case, what's the way to get them both to work. Do 
>> you guys actually test out both versions installed on the same 
>> system?
>> 
>
> Gtk also loads some of it's own libraries at start up with 
> GModule / LoadLibrary. So with the library names changed GTK 
> might be loading the Gtk 2 libraries installed with gtksharp 
> instead of the correct ones.

Ok, I renamed Program Files (x86)\GtkSharp so that it effectively 
deleted it,

Same issue though:

C:\Program Files (x86)\Gtk-Runtime\bin\libgdk_pixbuf-2.0-0.dll 
unloaded.
C:\Program Files (x86)\Gtk-Runtime\bin\libepoxy-0.dll unloaded.
C:\Windows\System32\dwmapi.dll unloaded.
C:\Windows\System32\setupapi.dll unloaded.
C:\Program Files\Gtk-Runtime\bin\libcairo-gobject-2.dll unloaded.
C:\Program Files\Gtk-Runtime\bin\libcairo-2.dll unloaded.
C:\Program Files\Gtk-Runtime\bin\libgio-2.0-0.dll unloaded.
C:\Windows\System32\ole32.dll unloaded.
C:\Windows\System32\winmmbase.dll unloaded.
C:\Windows\System32\winmm.dll unloaded.
C:\Windows\System32\ws2_32.dll unloaded.
C:\Program Files\Gtk-Runtime\bin\libglib-2.0-0.dll unloaded.
C:\Program Files\Gtk-Runtime\bin\libgdk-3-0x64.dll unloaded.
The thread 0x1590 has exited with code 1 (0x1).
The thread 0x1598 has exited with code 1 (0x1).
The thread 0x1594 has exited with code 1 (0x1).
The program '[5472] test.exe' has exited with code 1 (0x1).


Renaming Program Files (x86)\Gtk-Runtime

Gives

C:\Windows\System32\dwmapi.dll unloaded.
C:\Windows\System32\setupapi.dll unloaded.
C:\Program Files\Gtk-Runtime\bin\libcairo-gobject-2.dll unloaded.
C:\Program Files\Gtk-Runtime\bin\libcairo-2.dll unloaded.
C:\Program Files\Gtk-Runtime\bin\libgio-2.0-0.dll unloaded.
C:\Windows\System32\ole32.dll unloaded.
C:\Windows\System32\winmmbase.dll unloaded.
C:\Windows\System32\winmm.dll unloaded.
C:\Windows\System32\ws2_32.dll unloaded.
C:\Program Files\Gtk-Runtime\bin\libglib-2.0-0.dll unloaded.
C:\Program Files\Gtk-Runtime\bin\libgobject-2.0-0.dll unloaded.
C:\Program Files\Gtk-Runtime\bin\libgdk-3-0x64.dll unloaded.
The thread 0x1480 has exited with code 1 (0x1).
The thread 0x1560 has exited with code 1 (0x1).
The thread 0x4f0 has exited with code 1 (0x1).
The program '[3936] test.exe' has exited with code 1 (0x1).

And x86 test.exe gives the error:

"The image File C:\Program 
Files\Gtk-Runtime\bin\libatk-1.0-0.dll" is valid but is for a 
machine type other than the current machine. Select Ok to 
Continue or Cancel to fail the DLL load".

which was the original error I got.

At this point x64 gives the error:

object.Exception at generated\gtkd\gtkd\Loader.d(125): Library load 
failed (libgdk-3-0x64.dll): The specified module could not be 
found.

which has the code:

//TODO: A more general way to try more than one version.
if ( handle is null && library == importLibs[LIBRARY.GSV] )
    handle = pLoadLibrary(importLibs[LIBRARY.GSV1]);

Which, if I'm not mistaken, suggests that maybe it is time to add 
this "more general way" ;)

Now, why it is trying to load libgdk-3-0x64.dll, which is clearly 
one of the modified files, but a dll of gdk, is unclear.

I have no file with gdk in it in any of the proper directories.

tried installing

https://sourceforge.net/projects/gtk3win/files/latest/download

but no luck. Says it's for x86 and x64 but I have my doubts.

So what is going on here?




More information about the Digitalmars-d-learn mailing list