|
From: Ken T. <tec...@ho...> - 2008-04-14 12:39:07
|
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 |
|
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) |
|
From: Ken T. <tec...@ho...> - 2008-04-16 01:49:36
|
Thanks Shane. I applied your patch and followed your instructions, but install-plugin hung on execution for a couple of hours, so I killed it, and then followed the uninstall instructions linked from my first message, and then rebuilt. This time all the steps followed through smoothly, and I installed Tags along with the rest of the plugins at the install slashsite stage. I have now been able to start Apache, and start slash. When I visit the URL of the slashsite (same as the one from the install-slashsite questions), nothing displays. It's behaving just like a normal Apache. I have looked through the troubleshooting tips and can confirm: - Apache error log is clean (excepting File does not exist messages) - mod_perl was built with PERL_MARK_WHERE=1 EVERYTHING=1 - httpd.conf does indeed include the slash conf file, which does indeed include the site specific conf file The slash daemon has been running for 48 hours now. I feel like I'm missing something fundamental. |
|
From: Shane Z. <sh...@lo...> - 2008-04-16 12:27:17
|
On Apr 15, 2008, at 9:49 PM, Ken Tiller wrote: > Thanks Shane. I applied your patch and followed your instructions, but > install-plugin hung on execution for a couple of hours, so I killed > it, and > then followed the uninstall instructions linked from my first > message, and > then rebuilt. > > This time all the steps followed through smoothly, and I installed > Tags > along with the rest of the plugins at the install slashsite stage. > > I have now been able to start Apache, and start slash. When I visit > the URL > of the slashsite (same as the one from the install-slashsite > questions), > nothing displays. It's behaving just like a normal Apache. > > I have looked through the troubleshooting tips and can confirm: > > - Apache error log is clean (excepting File does not exist messages) > - mod_perl was built with PERL_MARK_WHERE=1 EVERYTHING=1 > - httpd.conf does indeed include the slash conf file, which does > indeed > include the site specific conf file > > The slash daemon has been running for 48 hours now. > > I feel like I'm missing something fundamental. Well this sounds like an apache problem. The general troubleshooting rule is to remove any other includes, such that the only "thing" running under your apache 1.3 is slash. Make sure the hostname you made up for the thing, that you told install-slashsite, is in your /etc/hosts or your internal DNS for the IP httpd's using. Then start with the apachectl configtest, apachectl start. You can save yourself some time, if, after doing an install-slashsite (and before you fire up apache) you do the equivalent to the following: /usr/local/slash/bin/symlink-tool -u slash -U /usr/local/slash/bin/runtask -u slash new_headfoot /usr/local/slash/bin/runtask -u slash freshenup /etc/rc.d/init.d/slash start /usr/local/apache/bin/apachectl start the new_headfoot && freshenup, by running those tasks by hand, ensure that the .shtml's are written to disk. So even if you have something wrong with your Perl/Apache setup, you can hit mysite.tld.com/ index.shtml and see a normally-rendered page. Which once you hit that then you'd know Apache and your machine are OK and start looking at other areas of your Apache configuration. Shane PS you can also try the IRC channel for "insta-help" :) |