Installation

Apache error about PGUtil.pm when apache starts - 2.15 to 2.16 upgrade

Apache error about PGUtil.pm when apache starts - 2.15 to 2.16 upgrade

by frank picabia -
Number of replies: 1


On a development server that was a clone of our production Webwork 2.15 running on Debian, I am trying to upgrade webwork to 2.16.

With some hints from ChatGPT I was able to get 2.16 installed via git commands on webwork2, and then apache was able to start.  Then I learned the instructions didn't cover the pg directory. So I repeated the git commands in pg using

git checkout tags/WeBWorK-2.16 -b upgrade-to-2.16

The VERSION file confirmed it was at 2.16 under pg.

But now apache won't start.

# apachectl configtest
        (in cleanup) Can't use an undefined value as a symbol reference at /opt/webwork/webwork2/lib/WeBWorK/CourseEnvironment.pm line 238.
AH00526: Syntax error on line 192 of /etc/apache2/conf-enabled/webwork.conf:
Can't locate PGUtil.pm in @INC (you may need to install the PGUtil module) (@INC contains: /opt/webwork/webwork2/lib /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/x86_64-linux-gnu/perl5/5.32 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl /etc/apache2) at /opt/webwork/webwork2/lib/WeBWorK/Utils/CourseManagement.pm line 39.\nBEGIN failed--compilation aborted at /opt/webwork/webwork2/lib/WeBWorK/Utils/CourseManagement.pm line 39.\nCompilation failed in require at /opt/webwork/webwork2/lib/WebworkSOAP.pm line 6.\nBEGIN failed--compilation aborted at /opt/webwork/webwork2/lib/WebworkSOAP.pm line 6.\nCompilation failed in require at (eval 239) line 1.\n
Action 'configtest' failed.

Normally that's a hint that a package for PGUtil.pm should be installed for Debian, or cpan
used to install PGUtil.  Except nothing in the world knows what this is.

When I run bin/check_modules.pl under pl, it doesn't mention PGUtil at all.

It seems to be something webwork would install, but I don't know what went wrong.

There are lots of detailed how-tos for installing webwork from scratch but the guide for upgrading are a little thin on information.
If there is another approach on how to upgrade to a more current version of webwork and keep our history of courses already
setup in the system, I'm open to suggestions.


In reply to frank picabia

Re: Apache error about PGUtil.pm when apache starts - 2.15 to 2.16 upgrade

by Glenn Rice -
I strongly recommend that you install WeBWorK 2.19 instead. Archive any courses you have, and follow the 2.19 installation manual to install. Then unarchive and upgrade the courses.

Note that PGUtil.pm is a PG module, and you won't find it on CPAN, and check_modules.pl doesn't check for PG modules. If webwork2 isn't finding it, then you don't have something configured right with the webwork2 setup. I believe for WeBWorK 2.16 you needed to have the PG_ROOT environment variable set to /opt/webwork/pg for that.

You mentioned checking out running "git checkout tags/WeBWorK-2.16 -b upgrade-to-2.16". In the PG directory you would need "git checkout PG-2.16 -b upgrade-to-2.16". (You don't need the tags/ prefix on the tag name.)