Installation

Can't start apache after cvs upgrade

Can't start apache after cvs upgrade

by Lars Jensen -
Number of replies: 7

We just upgraded our server to webwork v. 2.4.1, and after the upgrade, I can't start apache. I tried both the released version and the one with patches. The error message I get when trying to start apached is included at the bottom of this message. I have checked over the config files, and can't find anything missing. In order to check the server and mod_perl, I removed the include webwork.apache-config line in httpd.conf. After this the apache starts fine, and correctly displays the server-info and perl-status info.

Our setup is very standard, with everything installed in the default directories.

Any ideas how to fix this are very appreciated.

Thanks,
Lars.


Configuration syntax error detected, not starting/reloading...
Syntax error on line 97 of /opt/webwork/webwork2/conf/webwork.apache-config:
Can't locate Exception/Class.pm in @INC (@INC contains: /opt/webwork/pg/lib /opt/webwork/webwork2/lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl . /etc/apache/ /etc/apache/lib/perl) at /opt/webwork/webwork2/lib/WeBWorK/DB/Schema.pm line 58.
BEGIN failed--compilation aborted at /opt/webwork/webwork2/lib/WeBWorK/DB/Schema.pm line 58.
Compilation failed in require at /opt/webwork/webwork2/lib/WeBWorK/DB.pm line 100.
BEGIN failed--compilation aborted at /opt/webwork/webwork2/lib/WeBWorK/DB.pm line 100.
Compilation failed in require at /opt/webwork/webwork2/lib/WeBWorK.pm line 50.
BEGIN failed--compilation aborted at /opt/webwork/webwork2/lib/WeBWorK.pm line 50.
Compilation failed in require at /opt/webwork/webwork2/lib/Apache/WeBWorK.pm line 35.
BEGIN failed--compilation aborted at /opt/webwork/webwork2/lib/Apache/WeBWorK.pm line 35.
Compilation failed in require at /opt/webwork/webwork2/conf/webwork.apache-config line 44.
In reply to Lars Jensen

Re: Can't start apache after cvs upgrade

by Michael Gage -
Hi Lars,

The error message indicates that you are missing a CPAN module, namely
Exception::Class

Instructions for installing CPAN modules are given at

http://devel.webwork.rochester.edu/twiki/bin/view/Webwork/InstallationManualV2pt4#Perl_modules

depending on which binaries are installed on your system something like

cpan install Exception::Class

will take care of it. (You'll usually need root privileges. )

Hope this helps.

-- Mike
In reply to Michael Gage

Re: Can't start apache after cvs upgradew

by Lars Jensen -
Hi Mike,

Thanks! After I installed Exception::Class I was able to start apache again.

But then I got other errors once I tried to access webwork: I think there is a problem with Iterator.pm that is installed by default with my debian (testing) perl installation. I had to download and install the cpan Iterator module. After having done that, I was able to install Iterator::Util, and now everything appear to work good.

Please note that the check_modules.pl script is missing a check for the Exception::Class module.

Thanks,
Lars.
In reply to Lars Jensen

Re: Can't start apache after cvs upgradew

by Michael Gage -
Thanks, Lars.

I've added Exception::Class to the check_modules.pl in the CVS.

Season's greetings

--Mike
In reply to Michael Gage

Re: Can't start apache after cvs upgradew

by Lars Jensen -
Hi Mike,

We are still getting errors like the one below when we login to webwork courses. Are you familiar with this error? Any idea what might cause it?

Thanks,
Lars.

Warning messages

Error messages

DBD::mysql::st execute failed: Unknown column 'merge1.hide_score' in 'field list' at /opt/webwork/webwork2/lib/WeBWorK/DB/Schema/NewSQL/Std.pm line 665.

Call stack

The information below can help locate the source of the problem.

  • in WeBWorK::DB::Schema::NewSQL::Std::handle_error called at line 198 of /opt/webwork/webwork2/lib/WeBWorK/DB/Schema/NewSQL/Merge.pm
  • in WeBWorK::DB::Schema::NewSQL::Merge::_get_fields_where_prepex called at line 232 of /opt/webwork/webwork2/lib/WeBWorK/DB/Schema/NewSQL/Std.pm
  • in WeBWorK::DB::Schema::NewSQL::Std::get_fields_where called at line 292 of /opt/webwork/webwork2/lib/WeBWorK/DB/Schema/NewSQL/Std.pm
  • in WeBWorK::DB::Schema::NewSQL::Std::get_records_where called at line 592 of /opt/webwork/webwork2/lib/WeBWorK/DB/Schema/NewSQL/Std.pm
  • in WeBWorK::DB::Schema::NewSQL::Std::gets called at line 1065 of /opt/webwork/webwork2/lib/WeBWorK/DB.pm
  • in WeBWorK::DB::getMergedSets called at line 141 of /opt/webwork/webwork2/lib/WeBWorK/ContentGenerator/ProblemSets.pm
  • in WeBWorK::ContentGenerator::ProblemSets::body called at line 152 of /opt/webwork/webwork2/lib/WeBWorK/Template.pm
  • in WeBWorK::Template::template called at line 486 of /opt/webwork/webwork2/lib/WeBWorK/ContentGenerator.pm
  • in WeBWorK::ContentGenerator::content called at line 194 of /opt/webwork/webwork2/lib/WeBWorK/ContentGenerator.pm
  • in WeBWorK::ContentGenerator::go called at line 353 of /opt/webwork/webwork2/lib/WeBWorK.pm

In reply to Lars Jensen

Re: Can't start apache after cvs upgradew

by Michael Gage -
Hi Lars,

This error looks like your database structure hasn't been updated (to add new fields to accompany the new features)

see
http://devel.webwork.rochester.edu/twiki/bin/view/Webwork/InstallationManualV2pt4#Using_an_existing_database

(automated database installation and upgrade)

You need to run

webwork2/bin/wwdb_upgrade

and then reboot the server (just to be safe).

Hope this helps.

-- Mike
In reply to Michael Gage

Re: Can't start apache after cvs upgradew

by Lars Jensen -
Hi Mike,

You're right. Somehow I got the impression that this step was not necessary when upgrading from v. 2.3, but upon closer instection of the instruction, I see that this step is needed with any upgrade. Thanks!

One more question on installing the problem libraries. At the last line of the file based library instructions at http://devel.webwork.rochester.edu/twiki/bin/view/Webwork/FileBasedProblemLibraries it states that one should ...

Add /opt/webwork/libraries to the $webworkDirs{valid_symlinks} list in global.conf.

in order to make the file browser be able to access the libraries.

I added the line, but it doesn't seem to make any difference. I can see the libraries whether I have the line in global.conf or not. -As long as I have a symbolic link in the emplates directory.

Lars.
In reply to Lars Jensen

Re: Can't start apache after cvs upgradew

by Michael Gage -
I believe that this enables/disables the ability for the FileManager to follow links to subdirectories of the site libraries. It does not affect which libraries you can see from the Library browser.

You may or may not want to allow individual instructors direct access to the library's file structure. If you do allow access you will usually want to make sure that the permissions set on the library does not allow it to be modified by the web server.