Re: Entri point not found Gtk2-perl under win2k




On Mar 1, 2006, at 3:32 AM, Dwi Pujono GMail wrote:

I've allready install GTK+RE 2.2.4-3, ActiveState ActivePerl 5.8.6 Build 811, then via ppm i install ExtUlitls-Depend, ExtUtils- PkgConfig, Glib and Gtk2 from http://gtk2-perl.sourceforge.net/ win32/ppm/. Everything is going well, no error reported.

...

when i run the program i get a pop up error message:
"The procedure entry point g_type_default__interface_unref could not be located in the dynamic link library libgobject-2.0-0.dll"

Are you sure that isn't "g_type_default_interface_unref" -- i.e., no doubled underscores?

In the command line i get error:

Can't load 'C:/..../Perl/site/lib/auto/Glib/Glib.dll' for module Glib:load_file: The specified procedure could not be found at C:/apache/Perl/lib/ DynaLoader.pm line 230.
at C:/...../Perl/site/lib/Gtk2.pm line 30


That sounds an awful lot as though you are using a GTK+ runtime that is older than that with which the perl extensions were built. Unfortunately, that information is not available in the PPD files.

g_type_default_interface_ref, _unref, and _peek were added to libgobject in 2003, before glib 2.4.0. So, they are indeed public symbols.

However, there was a change in either 2.6 or 2.8 that involves a bunch of symbol mangling to reduce runtime overhead for dynamic library pointer offsets, which essentially involves declaring two names for each symbol --- g_foo and IA__g_foo. I wonder if maybe you're having a problem with linking because the perl extensions are compiled and linked against the newer libgobject and you're trying to run with an older one.


--
"Ears! They help us -- Ears! They help us hear th-- Ea--E--E--E-- Ears!"
  -- A Sesame Street singing toy, with Yvonne gleefully pressing
    the button over and over and over and over and...




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]