Can"t locate Tk/MDI/ChildWindow.pm
Can"t locate Tk/MDI/ChildWindow.pm
am 24.09.2006 05:41:41 von george.sakkis
Hi all,
First off, I know very little about perl so I may be missing something
obvious. I'm trying to install a perl program but when I run it I get
the error message above, even after I downloaded and installed a module
that seemed most relevant
(http://search.cpan.org/~aqumsieh/Tk-MDI-0.2/). Any ideas ?
George
PS: I'm running Ubuntu Dapper, in case it makes a difference.
Re: Can"t locate Tk/MDI/ChildWindow.pm
am 24.09.2006 06:54:46 von Sisyphus
wrote in message
news:1159069301.450982.77530@h48g2000cwc.googlegroups.com...
> Hi all,
>
> First off, I know very little about perl so I may be missing something
> obvious. I'm trying to install a perl program but when I run it I get
> the error message above, even after I downloaded and installed a module
> that seemed most relevant
> (http://search.cpan.org/~aqumsieh/Tk-MDI-0.2/). Any ideas ?
>
Yes - that's the module you needed to install.
Either the installation has not been carried out successfully, or (if you
have more than one 'perl' on your machine) the 'perl' that's running the
perl program is *not* the 'perl' into which you installed Tk::MDI. Well ...
I guess there are other alternatives, too - but those 2 are the most likely
:-)
What do the following 2 one-liners produce:
perl -MTk::MDI -e 'print $Tk::MDI::VERSION;'
perl -e 'print $^X, "\n";'
Compare the output of what you get from the second one-liner, with the
output of a 'print $^X, "\n";' (minus the single quotes) inserted into the
perl program.
Cheers,
Rob
Re: Can"t locate Tk/MDI/ChildWindow.pm
am 24.09.2006 15:04:58 von philip.slate
Sisyphus wrote:
> What do the following 2 one-liners produce:
>
> perl -MTk::MDI -e 'print $Tk::MDI::VERSION;'
Can't locate Tk/MDI/ChildWindow.pm in @INC (@INC contains: /etc/perl
/usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7 /usr/lib/perl5
/usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8
/usr/local/lib/site_perl .) at /usr/local/share/perl/5.8.7/Tk/MDI.pm
line 12.
Compilation failed in require.
BEGIN failed--compilation aborted.
> perl -e 'print $^X, "\n";'
/usr/bin/perl
The first line seems to be the problem; that's what the program prints
when it dies. Where should I look manually to see if the module is
actually installed? Thanks for any help,
George
Re: Can"t locate Tk/MDI/ChildWindow.pm
am 24.09.2006 15:12:08 von george.sakkis
Sisyphus wrote:
> What do the following 2 one-liners produce:
> perl -MTk::MDI -e 'print $Tk::MDI::VERSION;'
Can't locate Tk/MDI/ChildWindow.pm in @INC (@INC contains: /etc/perl
/usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7 /usr/lib/perl5
/usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8
/usr/local/lib/site_perl .) at /usr/local/share/perl/5.8.7/Tk/MDI.pm
line 12.
Compilation failed in require.
BEGIN failed--compilation aborted.
> perl -e 'print $^X, "\n";'
/usr/bin/perl
The first line seems to be the problem; that's what the program prints
when it dies. Where should I look manually to see if the module is
actually installed? Thanks for any help,
George
Re: Can"t locate Tk/MDI/ChildWindow.pm
am 24.09.2006 15:24:56 von nobull67
george.sakkis@gmail.com wrote:
> > perl -e 'print $^X, "\n";'
>
> /usr/bin/perl
Sisyphus wrote:
> Compare the output of what you get from the second one-liner, with the
> output of a 'print $^X, "\n";' (minus the single quotes) inserted into the
> perl program.
You should still do this.
Note you probably should actually wrap it in BEGIN {} and put it before
the failing use() so that it gets to happen before compilation fails.
george.sakkis@gmail.com wrote:
> The first line seems to be the problem; that's what the program prints
> when it dies. Where should I look manually to see if the module is
> actually installed?
Doing what Sisyphus wrote would help us to answer that.
Re: Can"t locate Tk/MDI/ChildWindow.pm
am 24.09.2006 15:36:12 von george.sakkis
Brian McCauley wrote:
> george.sakkis@gmail.com wrote:
>
> > > perl -e 'print $^X, "\n";'
> >
> > /usr/bin/perl
>
> Sisyphus wrote:
>
> > Compare the output of what you get from the second one-liner, with the
> > output of a 'print $^X, "\n";' (minus the single quotes) inserted into the
> > perl program.
>
> You should still do this.
>
> Note you probably should actually wrap it in BEGIN {} and put it before
> the failing use() so that it gets to happen before compilation fails.
I get the same output with the one-liner.
George
Re: Can"t locate Tk/MDI/ChildWindow.pm
am 24.09.2006 16:56:02 von energy.keeper
Firs off Umbuntu does make a difference. Ive never had more trouble
with any other linux distro.
Try this first
perl -CPAN -e "install __Package__"
let CPAN do its thing. If anything fails along the road, make, or
really the make tests. Check the errors, and besure that you have the
modules prerequisits. Though in most Cases CPAN will get those too.
Ubuntu is a dektop version of linux, and Unfortinatly isnt really
friendly to the perl hacker. I would normally recomend installing a
different distro, but lets work though your module problem first.
Use CPAN to get your module. or IF by chance you should have an
activestate build of Perl. use ppm install __Package__
and if your using ubuntu's default install of perl. Go get perl 5.8.8
and install from source. buntu's prl install is all kinds of weird.
george.sakkis@gmail.com wrote:
> Brian McCauley wrote:
> > george.sakkis@gmail.com wrote:
> >
> > > > perl -e 'print $^X, "\n";'
> > >
> > > /usr/bin/perl
> >
> > Sisyphus wrote:
> >
> > > Compare the output of what you get from the second one-liner, with the
> > > output of a 'print $^X, "\n";' (minus the single quotes) inserted into the
> > > perl program.
> >
> > You should still do this.
> >
> > Note you probably should actually wrap it in BEGIN {} and put it before
> > the failing use() so that it gets to happen before compilation fails.
>
> I get the same output with the one-liner.
>
> George
Re: Can"t locate Tk/MDI/ChildWindow.pm
am 24.09.2006 17:49:32 von george.sakkis
energy.keeper@gmail.com wrote:
> Firs off Umbuntu does make a difference. Ive never had more trouble
> with any other linux distro.
>
> Try this first
>
> perl -CPAN -e "install __Package__"
$ perl -CPAN -e "install __Package__"
Unknown Unicode option letter 'P'.
By the way, I'm asking again since I didn't get an answer before:
doesn't perl have a default directory to install 3rd party modules,
such as /your_python_root_dir/site-packages in python, so that I can
inspect it manually ?
> let CPAN do its thing. If anything fails along the road, make, or
> really the make tests. Check the errors, and besure that you have the
> modules prerequisits. Though in most Cases CPAN will get those too.
>
> Ubuntu is a dektop version of linux, and Unfortinatly isnt really
> friendly to the perl hacker. I would normally recomend installing a
> different distro, but lets work though your module problem first.
>
> Use CPAN to get your module. or IF by chance you should have an
> activestate build of Perl. use ppm install __Package__
>
> and if your using ubuntu's default install of perl. Go get perl 5.8.8
> and install from source. buntu's prl install is all kinds of weird.
Thanks for the advice, but I don't really think I'll change my whole
system or become a perl hacker because an irc client won't install. I'm
happy with Ubuntu (or rather, least frustrated compared to the
alternatives I've checked out) so I'm staying with it, or something
similar such as SimplyMepis.
George
Re: Can"t locate Tk/MDI/ChildWindow.pm
am 25.09.2006 01:23:45 von Sisyphus
wrote in message
..
..
>
> By the way, I'm asking again since I didn't get an answer before:
> doesn't perl have a default directory to install 3rd party modules,
> such as /your_python_root_dir/site-packages in python, so that I can
> inspect it manually ?
>
Yep - it should put the modules in one of the @INC directories. If you look
at the error message produced by running "perl -MTk::MDI -e 'print
$Tk::MDI::VERSION'", you'll see that MDI.pm has been put into the
/usr/local/share/perl/5.8.7/Tk/ directory. On that basis, ChildWindow.pm,
Images.pm and Menu.pm should have been placed into the
/usr/local/share/perl/5.8.7/Tk/MDI/ folder - though you could put
Tk/MDI/ChildWindow.pm, Tk/MDI/Images.pm and Tk/MDI/Menu.pm into any of the
@INC directories and that should work.
They don't even have to all go into the same @INC directory - at least from
a "functionality" point of view. Obviously, from an organisational point of
view, they should all go into the directory that your perl installation has
assigned to non-core CPAN modules - which is apparently
/usr/local/share/perl/5.8.7/ .
Do all of those @INC directories pertain to just the *one* installation of
perl ? Hopefully they do ... if not, things could be messy.
Anyway, it's looking like you have a botched install if Tk::MDI - in that
Tk/MDI.pm got installed, but the other 3 modules didn't.
The module build procedure does a couple of unusual things - in that the
'perl Makefile.PL' step generates the MANIFEST and test.pl files. I don't
think that should pose any problems - it doesn't for me on Win32.
Below my sig is the output of what I get when building and installing the
module manually. It might be helpful if you compare that to the output you
get. Obviously there will be differences but what you see should, in
essence, be the same. (Not sure what the 'Too late to run INIT block ....'
message during 'make test' is all about. You may not get that message - you
certainly shouldn't see any reference to Win32/API/Type.pm.)
Cheers,
Rob
D:\comp58_M\Tk-MDI-0.2>perl makefile.pl
Checking if your kit is complete...
Looks good
Writing Makefile for Tk::MDI
D:\comp58_M\Tk-MDI-0.2>dmake test
cp MDI/Menu.pm blib\lib\Tk\MDI\Menu.pm
cp MDI/Menu.ala.pm blib\lib\Tk\MDI\Menu.ala.pm
cp MDI/Images.pm blib\lib\Tk\MDI\Images.pm
cp MDI/ChildWindow.pm blib\lib\Tk\MDI\ChildWindow.pm
cp MDI.pm blib\lib\Tk\MDI.pm
cp t.pl blib\lib\Tk\t.pl
cp MDI/Menu.pm.prePOD blib\lib\Tk\MDI\Menu.pm.prePOD
cp MDI/ChildWindow.pm.prePOD blib\lib\Tk\MDI\ChildWindow.pm.prePOD
cp MDI/Menu.bad.pm blib\lib\Tk\MDI\Menu.bad.pm
D:\perl58_M\5.8.8\bin\perl.exe "-Iblib\lib" "-Iblib\arch" test.pl
1..12
# Running under perl version 5.008008 for MSWin32
# Current time local: Mon Sep 25 09:07:30 2006
# Current time GMT: Sun Sep 24 23:07:30 2006
# Using Test.pm version 1.25
ok 1
ok 2
ok 3
Testing MDI
ok 4
Too late to run INIT block at D:/perl58_M/site/lib/Win32/API/Type.pm line
71.
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
D:\comp58_M\Tk-MDI-0.2>dmake install
Installing D:\perl58_M\site\5.8.8\lib\Tk\MDI.pm
Installing D:\perl58_M\site\5.8.8\lib\Tk\t.pl
Installing D:\perl58_M\site\5.8.8\lib\Tk\MDI\Menu.pm
Installing D:\perl58_M\site\5.8.8\lib\Tk\MDI\Menu.ala.pm
Installing D:\perl58_M\site\5.8.8\lib\Tk\MDI\Images.pm
Installing D:\perl58_M\site\5.8.8\lib\Tk\MDI\ChildWindow.pm
Installing D:\perl58_M\site\5.8.8\lib\Tk\MDI\Menu.pm.prePOD
Installing D:\perl58_M\site\5.8.8\lib\Tk\MDI\ChildWindow.pm.prePOD
Installing D:\perl58_M\site\5.8.8\lib\Tk\MDI\Menu.bad.pm
Writing D:\perl58_M\site\5.8.8\lib\auto\Tk\MDI\.packlist
Appending installation info to D:\perl58_M\5.8.8\lib/perllocal.pod
Re: Can"t locate Tk/MDI/ChildWindow.pm
am 26.09.2006 00:08:10 von george.sakkis
Sisyphus wrote:
> Anyway, it's looking like you have a botched install if Tk::MDI - in that
> Tk/MDI.pm got installed, but the other 3 modules didn't.
Thanks everyone, problem solved. Yes, for some reason TK/MDI.pm was
there but not the MDI subdirectory. I removed everything under TK,
downloaded again the module, installed it and lo and behold, it
installed cleanly this time.
Best,
George