Question
I followed the installation instructons for
ActionTrackerPlugin, but get the following when trying to preview a page with %ACTION... on it:
Software error:
Can't locate object method "new" via package "ActionTrackerPlugin::Action" (perhaps you forgot to load "ActionTrackerPlugin::Action"?) at ../lib/TWiki/Plugins/ActionTrackerPlugin.pm line 153.
What did I do wrong?
Some possibly related info:
Here's my testenv output:
Test the environment for TWiki
Please read the TWikiInstallationNotes for more information on TWiki installation.
Environment variables:
DOCUMENT_ROOT /home/learningnet.org/postnuke-phoenix-0.7.2.3/html
GATEWAY_INTERFACE CGI/1.1
HTTP_ACCEPT text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
HTTP_ACCEPT_CHARSET ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_ACCEPT_ENCODING gzip, deflate, compress;q=0.9
HTTP_ACCEPT_LANGUAGE en-us,en;q=0.5
HTTP_CONNECTION keep-alive
HTTP_HOST www.learningnet.org
HTTP_KEEP_ALIVE 300
HTTP_USER_AGENT Mozilla/5.0 Galeon/1.2.13 (X11; Linux i686; U;) Gecko/20040308
PATH /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
QUERY_STRING
REMOTE_ADDR 66.31.254.132
REMOTE_PORT 64400
REQUEST_METHOD GET
REQUEST_URI /twiki/bin/testenv
SCRIPT_FILENAME /home/learningnet.org/twiki/bin/testenv
SCRIPT_NAME /twiki/bin/testenv
SERVER_ADDR 199.125.75.14
SERVER_ADMIN jbd@codemeta.com
SERVER_NAME learningnet.org
SERVER_PORT 80
SERVER_PROTOCOL HTTP/1.1
SERVER_SIGNATURE
Apache/1.3.27 Server at learningnet.org Port 80
SERVER_SOFTWARE Apache/1.3.27 (Unix) (Red-Hat/Linux) mod_python/2.7.8 Python/1.5.2 mod_ssl/2.8.12 OpenSSL/0.9.6b DAV/1.0.3 PHP/4.1.2 mod_perl/1.26 mod_throttle/3.1.2
CGI Setup:
Operating system: Unix (linux)
Perl version: 5.6.1
@INC library path: ../lib
/usr/lib/perl5/5.6.1/i386-linux
/usr/lib/perl5/5.6.1
/usr/lib/perl5/site_perl/5.6.1/i386-linux
/usr/lib/perl5/site_perl/5.6.1
/usr/lib/perl5/site_perl/5.6.0
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.6.1/i386-linux
/usr/lib/perl5/vendor_perl/5.6.1
/usr/lib/perl5/vendor_perl
.
Note: This is the Perl library path, used to load TWiki modules, third-party modules used by some plugins, and Perl built-in modules.
TWiki module in @INC path:
OK, TWiki.pm found (TWiki version: 01 Feb 2003)
Required Perl modules:
CGI (2.752)
CGI::Carp (1.20)
File::Copy (2.03)
File::Spec (0.82)
FileHandle (2.00)
Optional Perl modules:
Algorithm::Diff (1.01)
MIME::Base64 (2.12)
POSIX (1.03)
Note: Optional module 'Encode' not installed - check TWiki documentation to see if your configuration needs this module.
Note: Optional module 'Unicode::MapUTF8' not installed - check TWiki documentation to see if your configuration needs this module.
Note: Optional module 'Unicode::Map' not installed - check TWiki documentation to see if your configuration needs this module.
Note: Optional module 'Unicode::Map8' not installed - check TWiki documentation to see if your configuration needs this module.
Note: Optional module 'Jcode' not installed - check TWiki documentation to see if your configuration needs this module.
Digest::MD5 (2.20)
Note: Optional module 'Digest::SHA1' not installed - check TWiki documentation to see if your configuration needs this module.
MIME::Base64 (2.12)
Net::SMTP (2.19)
PATH_INFO:
Note: For a URL such as http://www.learningnet.org/twiki/bin/testenv/foo/bar, the correct PATH_INFO is /foo/bar, without any prefixed path components. Test this now - particularly if you are using mod_perl, Apache or IIS, or are using a web hosting provider. The page resulting from the test link should have a PATH_INFO of /foo/bar.
mod_perl: Not used for this script (mod_perl loaded into Apache)
User: apache
Note: Your CGI scripts are executing as this user.
Warning: Since your CGI script is not running as user nobody, you need to change the locks in the *,v RCS files of the TWiki distribution from nobody to apache. Otherwise, changes to topics will not be logged by RCS.
Group(s): apache apache
Test of TWiki.cfg Configuration:
$defaultUrlHost: http://www.learningnet.org
Note: This must match the protocol and host part (with optional port number) of the TWiki URL.
$scriptUrlPath: /twiki/bin
Note: This must match the 'cgi-bin' part of the URL used to access the TWiki cgi-bin directory.
$pubUrlPath: /twiki/pub
Note: This must be the URL of the public directory.This is not set correctly if the /twiki/pub/wikiHome.gif image below is broken:
$pubDir: /home/learningnet.org/twiki/pub
Note: This is the public directory, as seen from the file system. It must correspond to $pubUrlPath.
$templateDir: /home/learningnet.org/twiki/templates
Note: This is the TWiki template directory, as seen from the file system.
$dataDir: /home/learningnet.org/twiki/data
Note: This is the data directory where TWiki stores all topics.
$mailProgram: /usr/sbin/sendmail -t -oi -oeq
Note: This is the mail program TWiki uses to send mail.
$rcsDir: /usr/bin
Note: This is the directory where RCS is located.
RCS Version: 5.7
Note: This is the version of RCS which will be used.
$lsCmd: /bin/ls
Note: This is the file list program TWiki uses to list topics.
$egrepCmd: /bin/egrep
Note: This is a program TWiki uses for search.
$fgrepCmd: /bin/fgrep
Note: This is a program TWiki uses for search.
$safeEnvPath: /bin:/usr/bin
Note: This is used to initialise the PATH variable, and is used to run the 'diff' program used by RCS, as well as to run shell programs such as Bourne shell or 'bash'.
Path and Shell Environment
Original PATH: /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
Note: This is the PATH value passed in from the web server to this script - it is reset by TWiki scripts to the PATH below, and is provided here for comparison purposes only.
Current PATH: /bin:/usr/bin
Note: This is the actual PATH setting that will be used by Perl to run programs. It is normally identical to $safeEnvPath, unless that variable is empty.
diff: GNU diff was found on the PATH - this is the recommended diff tool.
Note: The 'diff' command is used by RCS to compare files.
Environment
--
BruceDawson - 31 Aug 2004
Answer
Argh, of course I only tested the latest release against Cairo. I'm an idiot. I reran the tests against Beijing, and fixed several namespace problems; please download again and run the installer, and everything should be copacetic.
For future reference, testenv isn't all that useful when debugging plugins, unfortunately. You generally need to know if there are any messages in the server logs of in any of the TWiki log files (in twiki/data/*.log).
--
CrawfordCurrie - 03 Sep 2004
I've already upgraded to Cairo. I'll try your changes on another TWiki as soon as I install an old release again.
Thanks for the quick response!
--
BruceDawson - 05 Sep 2004
Hmmm. The
ActionTrackerPlugin topic still has a zip file dated 17-Aug-2004. Did you update that?
--
BruceDawson - 05 Sep 2004
I screwed up. Updated now.
--
CrawfordCurrie - 05 Sep 2004
I cant get action search to work. I run cairo release and installed the action tracker using the
installer script. It reported a succesfull install. The plugin is installed. Actions are rendered correctly, but all searches turn up
with no matches! No errors are reported.
--
FinnSchiermerAndersen - 07 Sep 2004
I just did an experiment:
- Created a new Cairo install
- Unzipped the Action tracker zip over it
- Ran the post-install script
It worked perfectly.
You're going to have to give me a few more clues than "it didn't work" before I can help you! Did you check in the server logs? In the twiki warning.txt? What search are you trying to use? Are you sure there exist actions that should match?
--
CrawfordCurrie - 10 Sep 2004
I had a problem with Action Search as well. The Apache error log showed the following clue:
usage: egrep [ -bchilnsv ] [ -e exp ] [ -f file ] [ strings ] [ file ] ...
/bin/egrep: illegal option -- H
Searching through the code, I saw the comment (in
ActionSet.pm) for the usage of the non-standard GNU egrep flag '-H'. I removed this and also added a quote for the expresssion. After this, my action searches are non-empty, (except that I have a problem with using 'me' in the search, I'll write that up separately).
The fix I applied was:
#old line commented out -- my $grep = `$cmd -H %ACTION\\{.*\\}%$q $1`;
my $grep = `$cmd $q%ACTION\\{.*\\}%$q $1`;
--
TWikiGuest - 14 Sep 2004
I tried 'perl ./ActionTrackerPlugin_installer.pl' while cd'ed into the "TWiki root" directory of a Cairo installation and got:
Checking dependency on TWiki::Contrib::CairoContrib....
ActionTrackerPlugin depends on package TWiki::Contrib::CairoContrib >=1.000,
which is described as "Optional, required if plugin is to be run with versions of TWiki before Cairo (1 Sep 2004). Available from the TWiki:Plugins/CairoContrib repository."
But when I tried to find it I got this error: Can't locate TWiki/Contrib/CairoContrib.pm in @INC (@INC contains: lib /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.6.1/i386-linux /usr/lib/perl5/vendor_perl/5.6.1 /usr/lib/perl5/vendor_perl .) at (eval 7) line 2, line 1.
BEGIN failed--compilation aborted at (eval 7) line 2, line 1.
I was under the impression that the Cairo plugin was not needed for a Cairo release? Is this a bug in the installer or a misunderstanding on my part?
Also, since CairoContrib is optional, should the installer die if it is not installed? Shouldn't we have an option to ignore it? Not really important, but I thought you would like to know this info.
--
BruceDawson - 14 Sep 2004
Bruce: I guess we should; bung it on the "To Do" list for
BuildContrib and I'll get to it eventually! It does say "if plugin is to be run with versions of TWiki before Cairo" so if you are running Cairo, you should be ignoring the dependency, which I thought would be enough (guess not!)
Anonymous: You could alternatively have installed GNU egrep ;-). I haven't seen anything regarding use of "me" in searches...?
--
CrawfordCurrie - 15 Sep 2004
It appears the distributed version of lib/TWiki/Plugins/ActionTrackerPlugin/ActionNotify.pm is missing a
use TWiki::Contrib::Attrs;
At least, when I add that line, I quit getting
Can't locate object method "new" via package "TWiki::Contrib::Attrs" (perhaps you forgot to load "TWiki::Contrib::Attrs"?) at ../lib/TWiki/Plugins/ActionTrackerPlugin/ActionNotify.pm line 68. errors from cron.
Note: I'm still running Cairo, this may be a Cairo [related] issue.
--
BruceDawson - 16 Sep 2004
You are right, Bruce. The distribution has been corrected. I'm glad you are running Cairo, as it's the latest release!
--
CrawfordCurrie - 19 Sep 2004