Question
Hi there TWiki peeps. I am seeing some very strange behavior (even on this TWiki site just a moment ago) with the @INC array not always containing what it should. I Googled around quite a lot, and searched
AnsweredQuestions for this issue which triggered the issue on this (twiki.org) server even!
Let me explain:
Following both the included install document, and the
TWikiOnRedHat document, I have a new TWiki with no content other than what came with it.
After initially extracting TWiki-4.2.0.tgz to /var/www/twiki, I run configure, and set all necessary path, security, etc... info. I have edited /twiki/bin/LocalLib.cfg and set $twikiLibPath = "/var/www/twiki/lib"; (the absolute path to where twiki is installed(I even tried using the array @localPerlLibPath = ( '/var/www/twiki/lib,/var/www/twiki/lib/CPAN,/var/www/lib/TWiki' ); to be thorough)).
Upon finishing configure, I have been able to register an account, but 98% of the time anything I click in the new twiki produces the following error:
[Wed Jul 23 16:42:30 2008] [error] Can't locate TWiki/UI/Save.pm in @INC (@INC contains: . /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/p
erl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /
usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib
/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread
-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl
/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 /etc/httpd) at /var/www
/twiki/bin/save line 31.\nBEGIN failed--compilation aborted at /var/www/twiki/bin/save line 31.\n
[Wed Jul 23 16:42:44 2008] [error] Can't locate TWiki/UI/Save.pm in @INC (@INC contains: . /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/p
erl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /
usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib
/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread
-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl
/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 /etc/httpd) at /var/www
/twiki/bin/save line 31.\nBEGIN failed--compilation aborted at /var/www/twiki/bin/save line 31.\n
Can't locate TWiki/Search.pm in @INC (@INC contains: . /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thre
ad-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/l
ib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-
thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.
8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.
8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 /etc/httpd) at /var/www/twiki/lib/TWiki.pm line 1549.
at /var/www/twiki/lib/TWiki.pm line 1549
The strange thing is that, even in configure, it is clear that @INC contains the proper lib-dir:
@INC library path /var/www/twiki/lib
/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.8
/usr/lib/perl5/site_perl/5.8.7
/usr/lib/perl5/site_perl/5.8.6
/usr/lib/perl5/site_perl/5.8.5
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.8
/usr/lib/perl5/vendor_perl/5.8.7
/usr/lib/perl5/vendor_perl/5.8.6
/usr/lib/perl5/vendor_perl/5.8.5
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.8/i386-linux-thread-multi
/usr/lib/perl5/5.8.8
.
/var/www/twiki/lib,/var/www/twiki/lib/CPAN,/var/www/lib/TWiki
/var/www/twiki/lib/CPAN/lib//arch
/var/www/twiki/lib/CPAN/lib//5.8.8/i386-linux-thread-multi
/var/www/twiki/lib/CPAN/lib//5.8.8
/var/www/twiki/lib/CPAN/lib/
Is there something blindingly obvious that I am missing here? Any help is greatly appreciated.
Environment
--
AdamKadmon - 24 Jul 2008
Answer
If you answer a question - or have a question you asked answered by someone - please remember to edit the page and set the status to answered. The status is in a drop-down list below the edit box.
A similar observation has been reported at
ModPerlWierdness, so my first question is: Are you running under mod_perl (or any other persistent interpreter, or wrapper)?
--
HaraldJoerg - 24 Jul 2008
Hi! Thanks for the reply! Yes, this was the issue. The
ApacheConfigGenerator created the entry in my twiky.conf which was referencing mod_perl, which I have yet to configure. Once I removed the reference, the @INC that is being referenced is the disk-based version.
Thanks again!
--
AdamKadmon - 25 Jul 2008