http://qs321.pair.com?node_id=285997


in reply to Activestate TK::JPEG compatibility issue

Working with Perl/Tk on Windows XP and Build 635 of ActiveState Perl 5.6.1 I came up with a similiar error as shown below:

Tk::JPEG object version 800.023 does not match Tk::JPEG::XS_VERSION 800.024 at C:/Perl/lib/DynaLoader.pm line 225.

A search on PerlMonks for info lead me to this node I have read that this problem has been submitted to ActiveState with no solution as of yet for Windows. This likely isn't a problem for *nix users since they would compile the module on their own OS, however, it does still appear to be a nagging little annoyance for Windows users to this date.

Anyway... I figured I would do a little more tinkering so I went into the module itself (JPEG.pm) and came up with the following rather klugey solution/fix: (this is line 13 of the module)

#$XS_VERSION = $Tk::VERSION; #old line $XS_VERSION = 800.023; #new line (now line 14)
Note: On Windows you must release (uncheck in file properties) the READ ONLY lock on this file in order to properly save your changes.

And sure enough the script with Tk::JPEG worked! No more errors!

This 1 line 'fix' corrected my error; I would imagine that it would work similiarly for the problem mentioned in the parent node by setting $XS_VERSION to 800.022 .

One last thought: All this is indeed is just 'a-work-around', and kind of a scratchy one at that. If there are any fellow monks out there who have run across this problem with Windows Perl/Tk and this particular module and have a better, 'cleaner' solution I would really like to hear about it.

Thanks in Advance for Any Thoughts on this Matter!

  • Comment on Re: Activestate TK::JPEG compatibility issue -- QUICK WORK AROUND FOUND, Any Better Ideas?
  • Select or Download Code