in reply to Re^4: install Gtk2::GladeXML
in thread install Gtk2::GladeXML

Ok - I've done all of that.
Where did you get libxml-2 from ? I've already got it, but it's a static build I've built myself, and the fact that it's static might cause problems later on. Also, for this exercise, it's probably best that I use the same binaries as you.

I have run 'perl Makefile.PL', and it all went fine for me once the PKG_CONFIG_PATH variable was set correctly.
Of course, MakeMaker claims that the following libraries can't be found:
Note (probably harmless): No library found for -lGlib Note (probably harmless): No library found for -lGtk2 Note (probably harmless): No library found for -lCairo Note (probably harmless): No library found for -lgtk-win32-2.0 Note (probably harmless): No library found for -lgdk-win32-2.0 Note (probably harmless): No library found for -latk-1.0 Note (probably harmless): No library found for -lgio-2.0 Note (probably harmless): No library found for -lgdk_pixbuf-2.0 Note (probably harmless): No library found for -lpangowin32-1.0 Note (probably harmless): No library found for -lgdi32 Note (probably harmless): No library found for -lpangocairo-1.0 Note (probably harmless): No library found for -lpango-1.0 Note (probably harmless): No library found for -lcairo Note (probably harmless): No library found for -lgobject-2.0 Note (probably harmless): No library found for -lgmodule-2.0 Note (probably harmless): No library found for -lgthread-2.0
so 'dmake' soon fails with lots of undefined references. But note that there's no mention of not having found libxml-2.0 and libglade-2.0. Not yet sure what's happening there.

I refuse to install anything into a path that contains white space, so I installed Gtk+ into C:\Gtk+. But I don't yet know if that explains why you get the error, and I don't. My libglade-2.0.pc looks like:
prefix=c:/libglade exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include # so people can do "pkg-config --variable moduledir libglade-2.0" # (which is broken - users can now use the LIBGLADE_MODULE_PATH # environment variable moduledir=${libdir}/libglade/2.0 Name: Libglade Description: a library for dynamically loading GLADE interface files Version: 2.6.4 Requires: gtk+-2.0 libxml-2.0 Libs: -L${libdir} -lglade-2.0 Cflags: -I${includedir}/libglade-2.0
May be you can spot something there that accounts for the failure you're getting, though $prefix doesn't look right to me (C:/libglade doesn't even exist) ... something else to think about.

I'll keep digging. In the meantime, if you can fill me in with that libxml-2 info I asked for above, that might help later on.

Cheers,
Rob

Replies are listed 'Best First'.
Re^6: install Gtk2::GladeXML
by syphilis (Archbishop) on Jul 26, 2009 at 07:49 UTC
    Note (probably harmless): No library found for -lGlib
    Copy perl/site/lib/auto/Glib/Glib.lib to perl/site/lib/auto/Glib/Glib.a

    Note (probably harmless): No library found for -lGtk2
    Copy perl/site/lib/auto/Gtk2/Gtk2.lib to perl/site/lib/auto/Gtk2/Gtk2.a

    Note (probably harmless): No library found for -lCairo
    Copy perl/site/lib/auto/Cairo/Cairo.lib to perl/site/lib/auto/Cairo/Cairo.a

    Note (probably harmless): No library found for -lgtk-win32-2.0
    Copy gtk-win32-2.0.lib to libgtk-win32-2.0.a

    Note (probably harmless): No library found for -lgdk-win32-2.0
    Copy gtk-win32-2.0.lib to libgtk-win32-2.0.a

    Note (probably harmless): No library found for -latk-1.0
    Copy atk-1.0.lib to libatk-1.0.a

    Note (probably harmless): No library found for -lgio-2.0
    Copy gio-2.0.lib to libgio-2.0.a

    Note (probably harmless): No library found for -lgdk_pixbuf-2.0
    Copy libgd-pixbuf-2.0.dll.a to libgd-pixbuf-2.0.a

    Note (probably harmless): No library found for -lpangowin32-1.0
    Copy libpangowin32-1.0.dll.a to libpangowin32-1.0.a

    Note (probably harmless): No library found for -lpangocairo-1.0
    Copy libpangocairo-1.0.dll.a to libpangocairo-1.0.a

    Note (probably harmless): No library found for -lpango-1.0
    Copy libpango-1.0.dll.a to libpango-1.0.a

    Note (probably harmless): No library found for -lcairo
    Copy libcairo.dll.a to libcairo.a

    Note (probably harmless): No library found for -lgobject-2.0
    Copy libgobject-2.0.dll.a to libgobject-2.0.a

    Note (probably harmless): No library found for -lgmodule-2.0
    Copy gmodule-2.0.lib to libgmodule-2.0.a

    Note (probably harmless): No library found for -lgthread-2.0
    Copy gthread-2.0.lib to libgthread-2.0.a

    Any other "No library found..." warnings can probably be ignored.

    Cheers,
    Rob
    UPDATE:

    Note (probably harmless): No library found for -lintl
    Copy libintl.dll.a to libintl.a

    Note (probably harmless): No library found for -lglib -2.0
    Copy glib-2.0.lib to libglib-2.0.a

    Note (probably harmless): No library found for -lxml-2.0
    Copy libxml2.lib to libxml-2.0.a

      I've have obtain the libglade-2.0.ppc by downloading and installing on
      http://ftp.gnome.org/pub/GNOME/binaries/win32/glade3/3.6/
      and downloaded
      I've install GTK_HOME on C:/Gtk+ this time
      =>> Downloaded file
      glade3-3.6.7-with-GTK+.exe 02-Jul-2009 21:51 17M
      Itry to modify manually my configuration but
      it still doesn't work :(

      What do I have done wrong ?

      thanks for helps.
      #prefix=/target
      prefix=C:/Gtk+
      exec_prefix=${prefix}
      libdir=${exec_prefix}/lib
      includedir=${prefix}/include
      # so people can do "pkg-config --variable moduledir
      libglade-2.0" # (which is broken - users can now use the
      LIBGLADE_MODULE_PATH # environment variable
      moduledir=${libdir}/libglade/2.0
      Name: Libglade
      Description: a library for dynamically loading GLADE

      interface files
      Version: 2.6.2
      Requires: gtk+-2.0 libxml-2.0
      Libs: -L${libdir} -lglade-2.0
      Cflags: -I${includedir}/libglade-2.0
        I've reinstall the package using ppm
        and I've got ExUtils-Depends v0.302

        I've got this following error :

        Set up gcc environment - 4.4.0
        Can't locate object method "splitdir" via package
        "File::Spec" at C:/Perl/site/lib/ExtUtils/Depends.pm line 176.


        My libglade-2.0.pc looks like :
        prefix=/target
        #prefix=C:/Gtk+
        exec_prefix=${prefix}
        libdir=${exec_prefix}/lib
        includedir=${prefix}/include
        # so people can do "pkg-config --variable moduledir
        libglade-2.0"
        # (which is broken - users can now use the
        LIBGLADE_MODULE_PATH
        # environment variable
        moduledir=${libdir}/libglade/2.0
        Name: Libglade
        Description: a library for dynamically loading GLADE
        interface files Version: 2.6.2
        Requires: gtk+-2.0 libxml-2.0
        Libs: -L${libdir} -lglade-2.0
        Cflags: -I${includedir}/libglade-2.0
Re^6: install Gtk2::GladeXML
by Anonymous Monk on Jul 26, 2009 at 19:10 UTC
    This is a bug somewhere between ExtUtils::MakeMaker, ExtUtils::Depends , ExtUtils::LibList ( ActivePerl::Config? ). Its a real mess. One way to fix this is to edit Makefile.PL
    my(%makefilevars) = $gladexml->get_makefile_vars; #use DDS; Dump\%makefilevars; $makefilevars{LIBS}=":nosearch $makefilevars{LIBS}"; WriteMakefile( NAME => 'Gtk2::GladeXML', VERSION_FROM => 'GladeXML.pm', ABSTRACT_FROM => 'GladeXML.pm', PREREQ_PM => \%pre_reqs, XSPROTOARG => '-noprototypes', %makefilevars, );
    You may also need this patch for ExtUtils-Depends-0.302\lib\ExtUtils\Depends.pm
    push @found_libs, $matching_file; #push @found_libs, ('-L' . $ +matching_dir, '-l' . $stem);
    This helped me overcome xs/PangoCairo undefined reference to `cairo_reference' when compile Pango-1.220 (needs latest pango.exports).