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

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

Dear Monks,

Recently I have installed Activestate perl 5.12 in my Windows XP system. When I try to install the module Tk-ImageButton through ppm, it is not listed in the activestate perl package repository. But previously it was found in perl 5.10. Any suggestion please?

  • Comment on How to install Tk-ImageButton module in perl 5.12 using ppm

Replies are listed 'Best First'.
Re: How to install Tk-ImageButton module in perl 5.12 using ppm
by BrowserUk (Patriarch) on Oct 18, 2011 at 05:21 UTC

    Unfortunately, it is quite likely that many of the modules you could download for 5.10 no longer compile for newer versions.

    The ongoing barely justifiable changes to Perl's internal architecture are, with apparent disregard, breaking more and more modules with every major revision.

    According to ActiveState statistics:

    PPM Packages Available by Platform & Version Perl 5.8 Perl 5.10 Perl 5.12 Perl 5.14 Windows (32-bit) 15112 14582 14147 13796 Windows (64-bit) n/a 15416 14136 13533 Mac OS X 16305 16354 15118 16013 Linux (x86, 32-bit) 16729 16549 15565 15561 Linux (x86, 64-bit) n/a 17726 17044 16027 Solaris (32-bit) 15888 16304 n/a n/a Solaris (64-bit) n/a 15931 14835 n/a

    I keep hanging on and hanging on to 5.10 hoping to see some sign of a reversal of this trend, but there is no sign yet.

    The changes also seem to have done for Strawberry Perl, which was the only vaguely viable alternative to AS.


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

      ongoing barely justifiable changes to Perl's internal architecture

      I'm not up-to-date with the state of Perl's internals, but I am interested! What in particular?

      ...tangent...

      This has nothing to do with the availability of modules from ppm, and Tk::ImageButton in particular

      The error message is Can't locate Tk/MMutil.pm

      The real problem, is bad advice (bad Makefile.PL) from chapter 14.6. Packaging a Mega-Widget for Public Distribution from book Mastering Perl/Tk

      You know better than to rant at some poor soul asking for help

        No not really. In fact, not at all.

        Half way through having skipped over the retelling of all the tired old pumpking jokes. and we get to the point were he is lauding the fact that they can put out new releases at whim. Which IMO is the problem not a solution.

        Monthly releases may be great for developers -- though with decentralised version control and nightly builds it seems unnecessary -- but frequent, dump-everything-you-have-and-start-again releases are a nightmare for users. Especially when the "What's new?" list associated with the major point releases is so light.


        With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.
Re: How to install Tk-ImageButton module in perl 5.12 using ppm
by keszler (Priest) on Oct 18, 2011 at 05:28 UTC

    According to Activestate there is no Windows package for Tk::ImageButton for Perl versions > 5.10. But all is not lost - see the following

    So, save ImageButton.pm and ImageButton.pod to your C:\Perl\site\lib\Tk (or C:\Perl64 if you're running 64-bit) and you'll be good to go.

    update: A quick test to make sure the above works:

    use strict; use warnings; use Tk; use Tk::ImageButton; my $mw = MainWindow->new; my $someimage = $mw->Photo(-format => 'bmp', -file => 'C:/WINDOWS/Zapo +tec.bmp'); my $otherimage = $mw->Photo(-format => 'bmp', -file => 'C:/WINDOWS/Gre +enstone.bmp'); my $ib = $mw->ImageButton( -imagedisplay => $someimage, -imageclick => $otherimage, -command => [ sub { print "It works"; } ], )->pack; MainLoop;

      There is no need for those desperate measures, just run cpan DHICKLING/Tk-ImageButton-1.0.tar.gz and be finished

        Which is fine, if

        1. You have a compiler. (Eg. Your company rules allow you to have a compiler on your system.)
        2. And if that compiler produces binaries compatible with your AS perl installation.
        3. And if CPAN is configured to work through you corporate firewall.
        4. And if CPAN doesn't screw your compiler environment up by insisting on downloading an ancient version of nmake.
        5. Or installing MingW without asking.
        6. Or ...

        With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.