WeBWorK Main Forum

Webwork 2.4 update issues

Webwork 2.4 update issues

by Dennis Keeler -
Number of replies: 4
Hello all. I'm trying to upgrade to 2.4. FYI, I redid my .conf files to be as close to the new .dist versions as possible. I'm still having issues.

I'm using Apache 2.2 on Ubuntu 7.04. I did make the suggested changes to webwork-apache2.config for the Apache 2.2 bug. I had previously upgraded to 2.3.2, using the specialized Ubuntu 7.04 directions. (Off topic, but at that time, I was experimenting with LDAP and had to install libio-socket-ssl-perl, which wasn't mentioned elsewhere.)

When restarting Apache, I was told it couldn't find Net/IP.pm. So I installed it. It then complained about Exception/Class.pm, which I also installed. Then Apache 2 restarted OK. Browsing to /webwork2 and /webwork2_files worked.

However, when I click on a course, I get one of two errors below. It seems to be random which error I get.

I had tried to follow the database upgrade directions correctly. FYI, there is a -p missing in the line:
mysql -u root mysql
in the "Upgrading the database" section of the 2.4 Install instructions.


Error messages

Can't locate Iterator.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 /usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7 . /etc/apache2) at /opt/webwork/webwork2/lib/WeBWorK/DB/Schema/NewSQL/Std.pm line 29.
BEGIN failed--compilation aborted at /opt/webwork/webwork2/lib/WeBWorK/DB/Schema/NewSQL/Std.pm line 29.
Compilation failed in require at (eval 103) line 3.
...propagated at /usr/share/perl/5.8/base.pm line 84.
BEGIN failed--compilation aborted at /opt/webwork/webwork2/lib/WeBWorK/DB/Schema/NewSQL/NonVersioned.pm line 18.
Compilation failed in require at (eval 102) line 1.

Call stack

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

  • in WeBWorK::Utils::runtime_use called at line 211 of /opt/webwork/webwork2/lib/WeBWorK/DB.pm
  • in WeBWorK::DB::init_table called at line 200 of /opt/webwork/webwork2/lib/WeBWorK/DB.pm
  • in WeBWorK::DB::init_table called at line 169 of /opt/webwork/webwork2/lib/WeBWorK/DB.pm
  • in WeBWorK::DB::new called at line 286 of /opt/webwork/webwork2/lib/WeBWorK.pm

Request information

Method GET
URI /webwork2/mutest/
HTTP Headers
Keep-Alive 300
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
User-Agent Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
Accept text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Connection keep-alive
Referer http://webwork.muohio.edu/webwork2/
Cache-Control max-age=0
Accept-Encoding gzip,deflate
Cookie SaneID=134.53.7.196-1176847768794321; MUWASSID=52616e646f6d4956bd8e823a46ccc506a3ed2ad1866332d6d249dd7b31236c1f0a96622478829320
Accept-Language en-us,en;q=0.5
Host webwork.muohio.edu

or

Error messages

error instantiating DB schema WeBWorK::DB::Schema::NewSQL::NonVersioned for table set_user: Can't locate object method "new" via package "WeBWorK::DB::Schema::NewSQL::NonVersioned" at /opt/webwork/webwork2/lib/WeBWorK/DB.pm line 212.
at /opt/webwork/webwork2/lib/WeBWorK.pm line 286

Call stack

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

  • in Carp::croak called at line 214 of /opt/webwork/webwork2/lib/WeBWorK/DB.pm
  • in WeBWorK::DB::init_table called at line 200 of /opt/webwork/webwork2/lib/WeBWorK/DB.pm
  • in WeBWorK::DB::init_table called at line 169 of /opt/webwork/webwork2/lib/WeBWorK/DB.pm
  • in WeBWorK::DB::new called at line 286 of /opt/webwork/webwork2/lib/WeBWorK.pm

Request information

Method GET
URI /webwork2/mutest/
HTTP Headers
Keep-Alive 300
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
User-Agent Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
Accept text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Connection keep-alive
Referer http://webwork.muohio.edu/webwork2/
Cache-Control max-age=0
Accept-Encoding gzip,deflate
Cookie SaneID=134.53.7.196-1176847768794321; MUWASSID=52616e646f6d4956bd8e823a46ccc506a3ed2ad1866332d6d249dd7b31236c1f0a96622478829320
Accept-Language en-us,en;q=0.5
Host webwork.muohio.edu

Thanks for your help.
In reply to Dennis Keeler

Re: Webwork 2.4 update issues

by Eddie Fuller -
Dennis,

I had the Iterator error when first trying the development code for 2.4 last spring. You can install that package from CPAN and it should eliminate that. The other error is more mysterious.

-Eddie
In reply to Eddie Fuller

Re: Webwork 2.4 update issues

by Dennis Keeler -
Thanks. Since Iterator wasn't in Synaptic Package Manager, I thought it was a Webwork module. After installing Iterator, I sometimes got a message looking for Iterator::Util. After installing that, I still got the second error.

And now a new error has also appeared, which I'll paste in below.

I think I may have confunded my database. I ran wwdb_check before seeing the instruction NOT to run it for a 2.3 -> 2.4 upgrade. I said Y at the first prompt (wondering what it would see in the tables). I then wasn't sure, so I Ctrl-C'ed out. But maybe that messed things up.

What commands do I use to delete the webwork database and start over? I don't care if I lose my previous courses. They are long over. Thanks. -Dennis

Error messages

Base class package "SQL::Abstract" is empty.
(Perhaps you need to 'use' the module which defines that package first.)
at /opt/webwork/webwork2/lib/WeBWorK/DB/Utils/SQLAbstractIdentTrans.pm line 18
BEGIN failed--compilation aborted at /opt/webwork/webwork2/lib/WeBWorK/DB/Utils/SQLAbstractIdentTrans.pm line 18.
Compilation failed in require at /opt/webwork/webwork2/lib/WeBWorK/DB/Schema/NewSQL/Std.pm line 31.
BEGIN failed--compilation aborted at /opt/webwork/webwork2/lib/WeBWorK/DB/Schema/NewSQL/Std.pm line 31.
Compilation failed in require at (eval 105) line 3.
...propagated at /usr/share/perl/5.8/base.pm line 84.
BEGIN failed--compilation aborted at /opt/webwork/webwork2/lib/WeBWorK/DB/Schema/NewSQL/NonVersioned.pm line 18.
Compilation failed in require at (eval 104) line 1.

Call stack

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

  • in WeBWorK::Utils::runtime_use called at line 211 of /opt/webwork/webwork2/lib/WeBWorK/DB.pm
  • in WeBWorK::DB::init_table called at line 200 of /opt/webwork/webwork2/lib/WeBWorK/DB.pm
  • in WeBWorK::DB::init_table called at line 169 of /opt/webwork/webwork2/lib/WeBWorK/DB.pm
  • in WeBWorK::DB::new called at line 286 of /opt/webwork/webwork2/lib/WeBWorK.pm

In reply to Dennis Keeler

Re: Webwork 2.4 update issues

by Dennis Keeler -
Found it. I didn't have SQL::Abstract loaded. My mistake for not checking to see if any new modules were required in 2.4. I just skipped ahead to the "Upgrading" bits. Seems to work so far now. (Same goes for Iterator and Iterator::Util. Oops!)

I suggest the Installation manual instruct an upgrader to run check_modules.pl. It was very helpful. I have a few more to install:
MIME::Parser
PHP::Serialization
SOAP::Lite
XMLRPC::Lite

Thanks for the help!
In reply to Dennis Keeler

Re: Webwork 2.4 update issues

by Eddie Fuller -
Great! I should have mentioned the other two modules since I had to do those as well.

As for starting over with a new database, you probably haven't harmed the existing one but you can either

- get rid of the existing one (back it up first with mysqldump just in case) by issuing a DROP webwork; command in mysql

or

- create a new database, say webwork24 in mysql and edit global.conf to point to the new one.

You'll need to run ww_upgrade on the new one in either case.

-Eddie