http://qs321.pair.com?node_id=391993

water has asked for the wisdom of the Perl Monks concerning the following question:

I am helping a friend update a running vanilla kwiki using the instructions here: http://kwiki.org/?InstallingTypicalWikiFeatures We're getting the following error from Spoon on the update:
$kwiki -update Can't locate object method "init" via package "CGI::Kwiki::Config" at +/usr/lib/perl5/site_perl/5.8.2/Spoon/Config.pm line 22.
Does anyone have any suggestions on how to continue?

Thanks!

water

Replies are listed 'Best First'.
Re: Kwiki update problems with Spoon
by meredith (Friar) on Sep 18, 2004 at 20:26 UTC

    You want just Kwiki now. CGI::Kwiki got a Six Million Dollar Man rebuild, and became Kwiki. You'll find it much nicer. Actually, use Bundle::Kwiki to get all the basics, including what is listed in the InstallingTypicalWikiFeatures page above.

    mhoward - at - hattmoward.org
      Unable to install Bundle::Kwiki as Kwiki::Email requires 5.8.3 and they're still at 5.8.2.

      So we cpan, and "force install Kwiki", which is successful, and still the same error:

      [543 root@xxx:/var/www/kwiki]$ kwiki -update Can't locate object method "init" via package "CGI::Kwiki::Config" at +/usr/lib/perl5/site_perl/5.8.2/Spoon/Config.pm line 22. [544 root@xxx:/var/www/kwiki]$
      Harumpth. Still stuck. :(

        The CLI tool is kwiki-install now.

        mhoward - at - hattmoward.org

        via package "CGI::Kwiki::Config"

        That's because in CGI::Kwiki,   There's no Spoon.

        There really isn't. Spoon came to Kwiki after it moved namespace from "CGI::Kwiki" to simply "Kwiki". So your error shouldn't be there, or at least it should say   via package "Kwiki::.."   instead of   via package "CGI::Kwiki..."

        Best you grep for the string "CGI::Kwiki" in your installation. There's something definitely wrong where you find it. Maybe some module author mislabeled a package in a use or package statement somewhere there.

        Cheers, Sören

        Kwiki and CGI::Kwiki are not compatible.
Re: Kwiki update problems with Spoon
by eXile (Priest) on Sep 18, 2004 at 17:54 UTC

    Debug it! Sounds like you either don't have a module containing CGI::Kwiki::Config in our library-path or the CGI::Kwiki::Config you have doesn't contain an 'init' function.

    put a debug statement like

    join("\n", map {" $_ => $::{$_} "}  %::)';

    in the kwiki just after the 'use'/'requires' and see if there is anything inthere looking like CGI::Kwiki::Config . AFAIK The %:: hash contains a namespace mapping of some kind, so if the namespace CGI::Kwiki::Config is known to the application at the time you read out %:: it must be in there somewhere. Unfortunately I couldn't find a lot of documentation on %:: so I don't know what the mapping in there exactly is.

    You could also check your local filesystem for a file called CGI/Kwiki.pm or CGI/Kwiki/Config.pm but the 'package' CGI::Kwiki::Config could be hidden in any file. If you've found a file containing the line

    package CGI::Kwiki::Config;

    make sure it is loaded somehow.