Hi,

I have a problem with Octave Statistics on my Jobe Coderunner Server. Moodle receives always an error because octave statistics is not loading correctly.

****Error***warning: the 'anova' function belongs to the statistics package from Octave Forgewhich you have installed but not loaded. To load the package, run 'pkgload statistics' from the Octave prompt.Please read <https://www.octave.org/missing.html>; to learn how you cancontribute missing functionality.error: 'anova' undefined near line 4 column 32error: called from __tester__.octave at line 4 column 2*

Octave is installed and configured correctly and I also talked with them about this problem. They told me, they think that the problem is how moodle/coderunner is calling octave.

see .. https://savannah.gnu.org/bugs/?56986

Thanks for your help!

Best regards,

Christoph

Jobe starts Octave with a command of the form

octave --version --norc --no-window-system --silent -H prog.m

The `--norc` will prevent autoloading of packages. I don't remember all the details, but I don't think you can remove that option as the task is running as user *Jobe*, who for security reasons has no home directory.

I installed the statistics package on my development server and was able to submit an Octave answer that began

pkg load statistics

So can you not just clone the *octave_function* question prototype (or whatever prototype you're using) and edit it so it begins

pkg load statistics {{ STUDENT_ANSWER }}

?

You could call your new question type *octave_stats* or some such.

That has the slight disadvantage that error line numbers seen by the students will be out by one but students soon learn not to trust error line numbers anyway.

Hi Richard,

I'm working with Christoph to solve that statistics problem.

Your hint about removing --norc was one part of the solution, and an important one. Let me detail here how I got statistics to load automatically in CodeRunner, just in case someone else is looking for this:

- in the file octave_task.php (in /var/www/html/jobe/applications/libraries/), remove both instances of --norc. It is used in lines 19 and 27.
- in /etc/octave.conf add the line

pkg ("load", "statistics"); just before atexit ("__finish__"); (this is the file that is linked from .octaverc) - Now statistics loads, but the following warning is shown (which is why answers evaluate as wrong): function /usr/share/octave/packages/statistics-1.4.0/distributions/binopdf.m shadows a core library function

to get rid of this warning, I renamed the file binopdf.m at the given path to binopdf1.m