Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

object.Exception@gtkc\Loader.d(123): Library load failed: libgdk-3-0.dll #39

Closed
zoujiaqing opened this issue Feb 9, 2013 · 8 comments
Closed

Comments

@zoujiaqing
Copy link

object.Exception@gtkc\Loader.d(123): Library load failed: libgdk-3-0.dll

DMD 2.0.61
GtkD master
Gtk Runtime 3.6.1

@zoujiaqing
Copy link
Author

GTK_BASEPATH is GTK 2.x, Because of Gtk 2.x used for MonoDevelop ...
Please, Can not rely on GTK_BASEPATH?
Like QT that, as long as can find DLL file can run.
My Glade 3.14.2 can run. :)
Can you fix it? thank you!

@zoujiaqing
Copy link
Author

I set GTK_BASEPATH to GTK 3.6.1, error is:
object.Exception@gtkc\Loader.d(123): Library load failed: libgmodule-2.0-0.dll

@zoujiaqing
Copy link
Author

Unable to locate Program input point g_private_get in dynamic link library C:\Program Files (x86)\Gtk-Runtime\bin\libgmodule-2.0-0.dll?

@zoujiaqing
Copy link
Author

I found that GTKD compatibility is very poor... God..

@MikeWey
Copy link
Member

MikeWey commented Feb 9, 2013

You should be able to remove the GTK_BASEPATH environment variable completely. It's a leftover from old Gtk+ installers that used it instead of the PATH, and for gtkD it currently overrides searching the PATH for the libs.

As for installing both Gtk+ 2.x and 3.x on the same windows machine will take some doing, due to the good old dll hell.

Some libraries are installed for both Gtk 3 and Gtk 2 but there versions differ, and because Windows doesn't try to load a library when a version is already in memory problems will arise when the old version is loaded first.
To get things to work correctly only the newest version of the libraries shared by both Gtk 2 and Gtk 3 should be installed, but i don't know how forward compatible the applications are with the newer versions.

@zoujiaqing
Copy link
Author

You should ignore GTK_BASEPATH configuration, or when cannot find DLL file to use GTK_BASEPATH loading.

@MikeWey
Copy link
Member

MikeWey commented Feb 15, 2013

So, only try the GTK_BASEPATH when loading from the PATH fails.
That would solve some of the issues with an incorrect GTK_BASEPATH still hanging around from a previous install.

But installing more than one copy of Gtk+ on Windows has always been a problem, i might be able to create an installer that would install both Gtk2 and Gtk3 without causing issues with the wrong dll being loaded.

So is the Gtk2 version that comes with Monodevelop installed separately?

@MikeWey
Copy link
Member

MikeWey commented Apr 28, 2013

Removed the GTK_BASEPATH detection completly in commit 5dfadb3 not having the Gtk+ runtime in your path will cause problems witj Gtk+ itself.

@MikeWey MikeWey closed this as completed Apr 28, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants