On Tue, 10 Apr 2007, Spencer Chase wrote:
> I really need to figure this out, I can not run any perl scripts on my
> main computer that use TK.
>
> Some how, I have gotten a mismatch between the TK object version and
> $TK::XS. I have no idea what this XS stuff is. It seems to be called
> by the dynaloader. All the copies of TK.pm that I have seems to set
> the XS version as the same as the TK version. I had not changed
> anything in Perl other than installing PDK 7 and Komodo 4 and do not
> know when the problem started. I have tried uninstalling every
> ActivePerl installation and starting over with 5.8.8 build 819 and
> still have the problem. I tried installing PDK 7 on another computer
> to see if I can duplicate the problem but the installation halts with
> an error.
>
> Is there any environment or other setting that PDK 7 might have
> changed that could cause this?

The PDK doesn't even use the Tk module, so I can't think of how this
change can be related to a PDK installation.

> I get the following error about a mismatch whenever I try to run a
> script that uses TK.
>
> Tk object version 804.027 does not match $Tk::XS_VERSION 800.024 at
> C:/Perl/lib/ DynaLoader.pm line 253. Compilation failed in require at
> D:\Perl\NOTE_L~1.PL line 3. BEGIN failed--compilation aborted at
> D:\Perl\NOTE_L~1.PL line 3.

First run this oneliner to see where Perl picks up Tk.pm:

    perl -le "print for grep -f qq($_/Tk.pm), @INC"

Maybe you have a rogue Tk.pm in your @INC, possibly from PERL5LIB.

If the location looks correct, run the Process Monitor utility, log all
file accesses and filter on "Tk.dll". That should show you where Perl is
picking up the Tk.dll.  See if Tk.dll is in the correct location
relative to the Tk.pm above.

You can download the Process Monitor from

http://www.microsoft.com/technet/sysinternals/FileAndDisk/processmonitor.mspx

Cheers,
-Jan


_______________________________________________
Perl-Win32-Users mailing list
Perl-Win32-Users@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to