http://www.perlmonks.org?node_id=991579

sam_bakki has asked for the wisdom of the Perl Monks concerning the following question:

Hello Great Monks,

I have upgraded Glib module version 1.261 from version 1.241. I am on Windows 7 x64 using activeperl 5.14 32 bit version.

I used http://www.sisyphusion.tk/ repository to update Gtk2 and its dependencies.

After I upgraded to latest Glib 1.261, My Gtk2 perl application reports following error in a dialog box when I quit the application,

-----------------------
" This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information."
-------------------------------

The below code can reproduce the issue

use strict; use warnings; use Gtk2 '-init'; my $window = Gtk2::Window->new('toplevel'); $window->set_title("Hello World!"); my $button = Gtk2::Button->new("Press me"); $button->signal_connect(clicked => sub { print "Hello again - the butt +on was pressed\n"; }); $window->signal_connect(destroy => sub { print "Bye"; Gtk2->main_quit( +);}); $window->add($button); $window->show_all; Gtk2->main; exit 0;

I face the same issue in Glib 1.260 also. So I have downgrade to Glib 1.241 everything works fine. I am currently using Glib 1.241.

Any monk faced the same issue?

How to solve this?


Note: In linux, I use latest Glib , I did not face this issue.

Update

I have removed all the Gtk2 + dependent modules and install them in the following order,


This solves the issue. Thanks a lot to Anonymous Monk and zentara

Thanks & Regards,
Bakkiaraj M
My Perl Gtk2 technology demo project - http://code.google.com/p/saaral-soft-search-spider/ , contributions are welcome.

Replies are listed 'Best First'.
Re: Issue with Glib1.261 & 1.260
by zentara (Archbishop) on Sep 04, 2012 at 11:17 UTC
    You have been given the solution to remove all libs and reinstall, but in case a Gtk newbie is reading this, I would like to explain that the libs are dependent on an install order, and if you change/upgrade 1 library in that chain, all the librarys later in the chain must be recompiled/reinstalled. See Building Gtk , where the install order command is:

    build and install the GTK+ libraries in the order: GLib, Pango, ATK, then GTK+.

    So that means if you change Glib, you need to rebuild Pango, ATK, and GTK+.


    I'm not really a human, but I play one on earth.
    Old Perl Programmer Haiku ................... flash japh

      Hi zentara

      Sorry. I miss something here. As of now, I am using ActiveState perl's PPM & sisyphusion's repository to install Glib, Gtk2, Cairo, Pango etc... dependencies as a Binary installation.
      should I build and install Gtk2 myself?
      Do you suspect the sisyphusion's repository builds?

      Thanks & Regards,
      Bakkiaraj M
      My Perl Gtk2 technology demo project - http://code.google.com/p/saaral-soft-search-spider/ , contributions are welcome.

        Hi, all I am pointing out is that these GTK+ libraries are interdependent in their versions, and you just can't upgrade 1, without messing up the dependency chain. They should be built as a set.

        Do you suspect the sisyphusion's repository builds?

        No, I'm sure what Sisyphus does is beyond any suspiscion.


        I'm not really a human, but I play one on earth.
        Old Perl Programmer Haiku ................... flash japh
Re: Issue with Glib1.261 & 1.260
by Anonymous Monk on Sep 04, 2012 at 09:34 UTC

    How to solve this?

    Remove all traces of Glib/Gtk... all .dlls

    Then reinstall

    Or show your installation log

      Hi

      I have installed + updated Gtk2, Pango, Cairo , Glib modules using PPM. I did not install from source + build.
      How to get installation log from PPM?

      Thanks & Regards,
      Bakkiaraj M
      My Perl Gtk2 technology demo project - http://code.google.com/p/saaral-soft-search-spider/ , contributions are welcome.

        I have installed + updated Gtk2, Pango, Cairo , Glib modules using PPM. I did not install from source + build.

        I was talking about PPM. How do you know all .dll files that come with the install were upgraded without problems? Win32 won't overwrite .dll's while they're in use, so you might need to reboot

        uninstalling (even using ppm) will usually complain loudly if it can't remove a file

        How to get installation log from PPM?

        :) I imagine its in the docs/faq, under log/verbose, but its been years since I've needed ppm