URGENT: Perl Script Error

I am having the following script error after the admin update the server.

Can't load '/usr/intel/pkgs/perl/5.6.1/lib/site_perl/5.6.1/i686-linux/auto/Tk/Event/Event.so' for module Tk::Event: /usr/intel/pkgs/perl/5.6.1/lib/site_perl/5.6.1/i686-linux/auto/Tk/Event/Event.so: undefined symbol: PL_sv_undef at /usr/intel/97r1.3/lib/perl5/i386_linux22/5.00404/DynaLoader.pm line 166.

 at /usr/intel/pkgs/perl/5.6.1/lib/site_perl/5.6.1/i686-linux/Tk.pm line 13
BEGIN failed--compilation aborted at /usr/intel/pkgs/perl/5.6.1/lib/site_perl/5.6.1/i686-linux/Tk.pm line 13.
BEGIN failed--compilation aborted at DE.pl line 8.
Reference miscount in sv_replace() at /usr/intel/pkgs/perl/5.6.1/lib/site_perl/5.6.1/i686-linux/Tk/Event.pm line 3.
Can't locate auto/Tk/Event/CleanupGlue.al in @INC (@INC contains: /usr/intel/pkgs/perl/5.6.1/lib/site_perl/5.6.1/i686-linux /usr/intel/97r1.3/lib/perl5/i386_linux22/5.00404 /usr/intel/97r1.3/lib/perl5 /usr/intel/97r1.3/lib/perl5/site_perl/i386_linux22 /usr/intel/97r1.3/lib/perl5/site_perl .) at /usr/intel/pkgs/perl/5.6.1/lib/site_perl/5.6.1/i686-linux/Tk/Event.pm line 3
END failed--cleanup aborted at DE.pl line 8.

And, line 8 of DE.pl is
use lib "/usr/intel/pkgs/perl/5.6.1/lib/site_perl/5.6.1/i686-linux";
use Tk;

Can anyone help me on this?

~ fantasy ~

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Do you know what sort of update was performed?

The only clue to a problem that I can see is that you have perl 5.6.1 installed,
but your @INC path includes what are apparently old, un-updated libraries from 5.4.4.
fantasy1001Author Commented:
jmcg, so how can I include the newest version of libraries to @INC path?

and, I am not sure what the admin had done to the server. thanks
you need to install Tk module again for your updated perl
Exploring SQL Server 2016: Fundamentals

Learn the fundamentals of Microsoft SQL Server, a relational database management system that stores and retrieves data when requested by other software applications.

perl -MCPAN -e 'install Tk'
As jmcg noted, you may have a problem with conflicting versions of perl.

Could you post the output of 'which perl' and 'perl -v' please?
That will probably tell you which version of perl you're currently running (my guess would be v5.00404),
and possibly where the new perl (if any) is located.
fantasy1001Author Commented:

I am running on Perl 5.00404. And Perl Tk on 8.0. And I can see there are newest version of Perl 5.8.0 installed.
The admin updated the kernel last week and all the problem come out. Should I reinstall Perl Tk?

~ fantasy ~
I think the first thing you should do is to make sure that the versions of the libraries you're using agree with
the version of perl you're running. So if you run perl 5.00404, then use the 5.4 version of the TK. If you run
perl 5.8, use the 5.8 version of TK.
I don't know if there are binary incompatibilities between 5.4 and 5.6, but judging from your error messages
it sure looks that way. There definitely are between 5.6 and 5.8, so you can't mix those.

I would first suggest you stop using 5.00404 and use 5.8 instead. If it's installed, why not use it?
If there's no TK for 5.8, then you may need to install it, yes.
fantasy1001Author Commented:

How do I stop using 5.00404 and use 5.8 instead? That is what I need to do. How can I change the perl binary that run default from the system.
And, I also do not have Admin access.

~ fantasy ~
That depends on how you are calling it:
1. if you call it on a shell as 'perl yourscript' then you change that to '/path/to/perl5.8 yourscript'
2. if you call your script directly (or as a CGI script - but then you wouldn't be using TK I guess),
   then you need to change the shebang line. This is the first line in the script, and looks something
   like '#!/usr/bin/perl'
   Change that to '#!/path/to/perl5.8' and it should work

fantasy1001Author Commented:

Thanks very much. Thats worked.

~ fantasy ~
Glad you're able to continue working now :-)


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.