From: Shane Z. <sh...@lo...> - 2008-04-14 18:13:10
|
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: > http://sourceforge.net/mailarchive/message.php?msg_name=B6DE443E-8863-4535-8AD1-62FAB0E18CD4%40lottadot.com > > 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/ > honestken/httpd/conf/httpd.conf > Syntax error on line 22 of /usr/local/slash/site/honestken.com/ > honestken.com.conf: > 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 > else? > > Thank you, > Ken > 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 that?!? :) 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. Shane patch: cooliod:current.untouched shane$ cvs diff plugins/tags cvs diff: Diffing plugins/tags Index: plugins/tags/mysql_schema.sql =================================================================== RCS file: /cvsroot/slashcode/slash/plugins/Tags/mysql_schema.sql,v retrieving revision 1.18 diff -r1.18 mysql_schema.sql 37c37 < # tagname_cache is not normalized because it's intended to be used --- > # tagname_cache is not normalized because it is intended to be used 42c42 < tagnameid int UNSIGNED NOT NULL, --- > tagnameid int UNSIGNED NOT NULL AUTO_INCREMENT, 44d43 < weight FLOAT UNSIGNED DEFAULT 0.0 NOT NULL, 46c45 < UNIQUE tagname (tagname), --- > UNIQUE tagname (tagname) |