perlTk

Dave Mitchell davem at iabyn.com
Thu Mar 8 12:25:04 UTC 2012


On Thu, Mar 08, 2012 at 12:13:30PM +0000, Patrick Dupre wrote:
> On Thu, 8 Mar 2012, Dave Mitchell wrote:
> > This means that the version number in the perl file Tk.pm doesn't match
> > the version number in the compiled binary Tk.so. Why they differ is
> > probably down to how Tk was installed or upgraded; or its possible that
> > an environment variable (e.g. LD_LIBRARY_PATH or PERL5LIB) is set, causing
> > perl to pick up the two files from two different installations.
> > 
> > perl -V will show you what paths perl is picking up.
> 

> Here is my perl -V
[snip]
> PERL5LIB=":/home/pdupre/perl_lib/i386-linux-thread-multi:/home/pdupre/perl_lib/i386-linux-thread-multi"
>     PERL_LIB="/home/pdupre/perl_lib/i386-linux-thread-multi"

> But I do not see anything about Tk!
> 
> The problem appear after an upgrade from fedora 13 to 14.

Your PERL5LIB and PERL_LIB environment variables are pointing to an area
which might be a separate perl installation, or may contain Tk files that
were built under an older perl, hence the mixing of versions.

As a test, try unsetting those two variables and see if you can load Tk:

    $ bash    # start a subshell
    $ unset PERL5LIB PERL_LIB
    $ perl -MTk -e 1
    $ exit

if that runs without errors, then that will confirm the location of the
problem. After that, you'll need to decide why those variables were set,
and whether you need to do something similar for your new environment.

-- 
Gravity is just a theory; teach Intelligent Falling in our schools!
    http://www.theonion.com/content/node/39512


More information about the users mailing list