On Apr 14, 2008, at 8:38 AM, Ken Tiller wrote:
> I am attempting to install slash on CentOS 4. I previously installed
> from the tarball, then found this mailing list and uninstalled using
> these instructions:
> I since used CVS to get tag T_2_5_0_200 of slash and the install
> seemed to go fine until I hit step 7 "Start it up". At that point,
> Apache gave this error:
> [root slash]# /usr/local/slash-apache/bin/httpd -f /usr/www/
> Syntax error on line 22 of /usr/local/slash/site/honestken.com/
> Can't call method "getTagnameidCreate" on an undefined value at /usr/
> lib/perl5/site_perl/5.8.5/Slash/Clout.pm line 37.
> Now, the INSTALL file says this is a problem with DB connection, but
> install-slashsite already created all the MySQL tables successfully.
> I did all the tests for DB connectivity listed in INSTALL and my
> setup is passing them all. Looking in the code, the problem variable
> is not $slashdb, it is $tags_reader.
> Is my error still caused by DB problems, or could it be something
> Thank you,
There seems to be an error in the code that assumes each site has the
Tags plugin installed. So if you didn't install it, you'll see errors
such what you quoted.
Now, the solution for you would normally be 'just install the Tags
plugin' by using the install-plugin tool, until this is fixed.
However, you can't. The latest code also has a problem with plugins/
Tags/mysql_schema.sql so the plugin will install, but it's missing
tables from the DB when the plugin install completes. Which has the
consequence that it'll break your installed site.
The solution therefore is to patch that file, run a make install on
the whole src tree, then run install-plugin, then restart httpd. (or
wait till a fix is committed and a new T-tag is created and upgrade
your cvs checkout to that tag - but who's got the patience for
Now, I don't know if my patch (see below) is technically correct
because it adds an auto increment where there wasn't one. But once I
applied this patch, I could successfully install the Slash::Tags
plugin, and all errors went away and everything worked like a champ.
And I'm guessing the t-tag you chose to checkout is fairly close to
recent CVS-HEAD, so your checkout has the same problem.
cooliod:current.untouched shane$ cvs diff plugins/tags
cvs diff: Diffing plugins/tags
RCS file: /cvsroot/slashcode/slash/plugins/Tags/mysql_schema.sql,v
retrieving revision 1.18
diff -r1.18 mysql_schema.sql
< # tagname_cache is not normalized because it's intended to be used
> # tagname_cache is not normalized because it is intended to be used
< tagnameid int UNSIGNED NOT NULL,
> tagnameid int UNSIGNED NOT NULL AUTO_INCREMENT,
< weight FLOAT UNSIGNED DEFAULT 0.0 NOT NULL,
< UNIQUE tagname (tagname),
> UNIQUE tagname (tagname)