Solution found - Perl Module Tk::JPEG is not compatible with Tk 
Author Message
 Solution found - Perl Module Tk::JPEG is not compatible with Tk

After getting no responses to my question, I solved the problem by
editing the JPEG.dll file in Tk::JPEG to make the requested version
of Tk match the version of Tk installed with ActivePerl 5.6.1, build
635.

After getting a couple of inquiries about a solution, I cleaned up
(over-engineered) the program I wrote and put it on our web site
at: <ftp://ftp.genome.ou.edu/pub/programs/zap_file.pl>.  The help
is at: <ftp://ftp.genome.ou.edu/pub/programs/zap_file.help>.

The example at the end of the help is what I used to fix the problem.
It changes the requested Tk version string from '800.023' to
'800.024' in the Tk::JPEG::JPEG.dll file.

perl zap_file.pl -f 800.023 -t 800.024 Tk::JPEG::JPEG.dll

This fix worked for the case listed below in my original message.
It is not the fix I wanted, but it worked in this case.  It was easier
than getting and installing a Win32 C compiler just for this problem.

This fix may not work for other than minor version changes that do
not change the interface data structures of the binary modules
involved, so beware!


Department of Chemistry and Biochemistry
University of Oklahoma
620 Parrington Oval, Room 313
Norman, OK 73019-3051
Phone: (405) 325-4912, FAX: (405) 325-7762

Quote:

> Can anyone direct me to a ppd of the Perl Tk::JPEG module which
> works with ActivePerl 5.6.1, build 635 for Windows?  I have been
> trying to get it to work for over a week.

> I am trying to use Tk::JPEG [2.014] with ActivePerl 5.6.1, build 635
> (which includes module Tk [800.024]).  Tk::JPEG installs with no
> errors using either ppm2 or ppm3, but when 'use' tries to load the
> module, it gets an error.  The following is output from tkjpeg, a test
> program included with Tk::JPEG.

>     D:\>tkjpeg
>     Tk::JPEG object version 800.023 does not match $Tk::JPEG::XS_VERSION
>     800.024 at D:/Perl/lib/DynaLoader.pm line 225.
>     Compilation failed in require at D:\Perl\bin\tkjpeg line 4.
>     BEGIN failed--compilation aborted at D:\Perl\bin\tkjpeg line 4.

> It was working on a different system with ActivePerl 5.6.1, build
> 630 and Tk [800.023], but when I tried to set up another Windows
> system, Tk [800.023] was no longer available at ActiveState.
> I removed build 630 and upgraded to build 635, with Tk [800.024].
> Tk::JPEG [2.014] was compiled and linked with Tk [800.023] and
> will not load with Tk [800.024].  There is an older version, Tk
> [800.022] that can be installed, but that also is not compatible.
> Tk::JPEG installs, but gives almost the same error message.
> I can no longer find Tk [800.023] at ActiveState.  I do not want to
> upgrade to Perl 5.8, because of some reported problems with
> other modules I am using.  I would rather wait for a more stable
> 5.8.1.


> just suggestions to try ppm3 (no difference), build it myself from
> CPAN (what I am trying to avoid), or contact

> The module is available, but it is not usable, because it needs to
> be rebuilt with Tk [800.024].  There has been no reply to my

> so I am hoping someone else can help me. I would rather not have
> to buy a C compiler, just to install this one module.

> In case I have missed somthing, I have included ppm2, ppm3,
> "perl -v", and test program error message outputs.  I am attaching
> the "perl -V" output.

> ========== Output from tkjpeg test program (part of Tk::JPEG) ==========

> C:\>D:\perl\bin\tkjpeg VPrep.jpg
> Tk::JPEG object version 800.023 does not match $Tk::JPEG::XS_VERSION
> 800.024 at D:/Perl/lib/DynaLoader.pm line 225.
> Compilation failed in require at D:\Perl\bin\tkjpeg line 4.
> BEGIN failed--compilation aborted at D:\Perl\bin\tkjpeg line 4.

> ==================== Output from perl -v ======================

> This is perl, v5.6.1 built for MSWin32-x86-multi-thread
> (with 1 registered patch, see perl -V for more detail)

> Copyright 1987-2001, Larry Wall

> Binary build 635 provided by ActiveState Corp. http://www.*-*-*.com/
> Built 15:34:21 Feb  4 2003

> Perl may be copied only under the terms of either the Artistic License
> or the
> GNU General Public License, which may be found in the Perl 5 source kit.

> Complete documentation for Perl, including FAQ lists, should be found on
> this system using `man perl' or `perldoc perl'.  If you have access to the
> Internet, point your browser at http://www.*-*-*.com/ , the Perl Home Page.

> =================== Output from PPM2 query ====================

> C:\>ppm
> PPM interactive shell (2.2.0) - type 'help' for available commands.
> PPM> query
> Archive-Tar[0.072  ] module for manipulation of tar archives.
> Compress-Zlib [1.16] Interface to zlib compression library
> DBD-Oracle [1.12] Oracle database driver for the DBI module
> DBI  [1.32]
> Digest  [1] Modules that calculate message digests
> Digest-HMAC[1.01] Keyed-Hashing for Message Authentication
> Digest-MD2 [2] Perl interface to the MD2 Algorithm
> Digest-MD4 [1.1 ] Perl interface to the MD4 Algorithm
> Digest-MD5 [2.20] Perl interface to the MD5 Algorithm
> Digest-SHA1[2.01] Perl interface to the SHA-1 Algorithm
> File-CounterFile [0.12] Persistent counter class
> Font-AFM[1.18] Interface to Adobe Font Metrics files
> HTML-Parser[3.26] HTML parser class
> HTML-Tagset[3.03] Data tables useful in parsing HTML
> HTML-Tree  [3.11] HTML syntax tree builder
> MD5  [2.02] Perl interface to the MD5 Algorithm (obsolete)
> MIME-Base64[2.12] Encoding and decoding of base64 strings
> PPM  [2.2 ] Perl Package Manager: locate, install, upgrade
> software packages.
> SOAP-Lite  [0.55] Library for Simple Object Access Protocol (SOAP)
> clients and servers in Perl
> Storable[1.0.12 ] persistency for perl data structures
> Tk[800.024] A Graphical User Interface Toolkit
> [Press return to continue or 'q' to quit]
> Tk-JPEG [2.014  ] JPEG loader for Tk::Photo
> URI  [1.19] Uniform Resource Identifiers (absolute and
> relative)
> XML-Parser [2.27] A Perl module for parsing XML documents
> XML-Simple [1.06] Easy API to read/write XML (esp config files)
> libnet  [1.12] Collection of Network protocol modules
> libwin32[0.20] A collection of extensions that aims to provide
> comprehensive access to the Windows API.
> libwww-perl[5.68] Library for WWW access in Perl
> PPM> exit

> ============== PPM3 removal and re-install of Tk-JPEG ==============

> D:\>ppm3
> PPM - Programmer's Package Manager version 3.0.1.
> Copyright (c) 2001 ActiveState SRL. All Rights Reserved.

> Entering interactive shell. Using Term::ReadLine::Stub as readline library.

> Profile tracking is not enabled. If you save and restore profiles manually,
> your profile may be out of sync with your computer. See 'help profile' for
> more information.

> Type 'help' to get started.

> ppm> query Tk
> Querying target 1 (ActivePerl 5.6.1.635)
>   1. Tk  [800.024] A Graphical User Interface Toolkit
>   2. Tk-JPEG  [2.014] JPEG loader for Tk::Photo
> ppm> remove Tk-JPEG
> ====================
> Remove 'Tk-JPEG' version 2.014 from ActivePerl 5.6.1.635.
> ====================
> unlink D:\Perl\bin\tkjpeg
> unlink D:\Perl\bin\tkjpeg.bat
> unlink D:\Perl\site\lib\Tk\JPEG.pm
> unlink D:\Perl\site\lib\auto\Tk\JPEG\JPEG.bs
> unlink D:\Perl\site\lib\auto\Tk\JPEG\JPEG.dll
> unlink D:\Perl\site\lib\auto\Tk\JPEG\JPEG.exp
> unlink D:\Perl\site\lib\auto\Tk\JPEG\JPEG.lib
> unlink D:\Perl\site\lib\auto\Tk\JPEG\.packlist
> Successfully removed Tk-JPEG version 2.014 from ActivePerl 5.6.1.635.
> ppm> install Tk-JPEG
> ====================
> Install 'Tk-JPEG' version 2.014 in ActivePerl 5.6.1.635.
> ====================
> Downloaded 58767 bytes.
> Extracting 22/22: blib/script/tkjpeg.bat
> Installing D:\Perl\site\lib\auto\Tk\JPEG\JPEG.bs
> Installing D:\Perl\site\lib\auto\Tk\JPEG\JPEG.dll
> Installing D:\Perl\site\lib\auto\Tk\JPEG\JPEG.exp
> Installing D:\Perl\site\lib\auto\Tk\JPEG\JPEG.lib
> Installing D:\Perl\site\lib\Tk\JPEG.pm
> Installing D:\Perl\bin\tkjpeg
> Installing D:\Perl\bin\tkjpeg.bat
> Successfully installed Tk-JPEG version 2.014 in ActivePerl 5.6.1.635.
> ppm> exit

> ========== Output from tkjpeg test program after PPM3 install ==========

> D:\>tkjpeg
> Tk::JPEG object version 800.023 does not match $Tk::JPEG::XS_VERSION
> 800.024 at
> D:/Perl/lib/DynaLoader.pm line 225.
> Compilation failed in require at D:\Perl\bin\tkjpeg line 4.
> BEGIN failed--compilation aborted at D:\Perl\bin\tkjpeg line 4.

> D:\>

> --


> Department of Chemistry and Biochemistry
> University of Oklahoma
> 620 Parrington Oval, Room 313
> Norman, OK 73019-3051
> Phone: (405) 325-4912, FAX: (405) 325-7762

-++**==--++**==--++**==--++**==--++**==--++**==--++**==
This message was posted through the Stanford campus mailing list
server.  If you wish to unsubscribe from this mailing list, send the



Mon, 07 Nov 2005 08:47:30 GMT  
 
 [ 1 post ] 

 Relevant Pages 

1. Tk::PNG and Tk::JPeg module Problem

2. can't find Tk/JPEG.pm in @INC

3. problem with tk or tk:jpeg memory usage

4. problem with tk or tk:jpeg memory usage

5. Help Tk::Jpeg and Tk 800.023

6. tk::jpeg not working

7. JPEG module of tk

8. perl Tk::DragDrop (comp.lang.perl.tk has not responded)

9. what Tk Tk/perl Tkperl perl/Tk?

10. Tcl::Tk and Tcl modules are available to provide Tk GUI to perl

11. How to find some Perl/Tk modules

12. Tk.pm not found?

 

 
Powered by phpBB® Forum Software