Octave Coderunner Plugin

Octave Coderunner Plugin

by Mark Locherer -
Number of replies: 2

Hello Everybody,

I am using the coderunner plugin with question type octave_function for one of our "Matlab" micro credentials. I wish to extend the functionality to be able to handle signal processing functions with Octave. This requires additional packages, namely, the signal and control packages.

These have been installed on jobe server by my IT colleague. Interestingly, everything worked fine. After one week, it does not seem to work anymore.

Therefore, I kindly ask you for help on this issue on how to install additional packages in Octave and to be able to access this functionality through the coderunner plugin.

In the following I provide our current settings:

1. On the jobe-server my colleague has installed the Octave packages signal and control:

pkgs control / signal

2. We have loaded the signal package in the terminal which works fine:

load signal package

3. When trying to call pkg load in coderunner I obtain the following error message:

pkg list

Alternatively, I obtain this message when executing functions related to the signal package:

signal processing code

This is very strange because, the packages have been installed but they cannot be accessed through coderunner for whatever reason.

4. The coderunner settings look as follows, however, they are written in German:

coderunner settings I

and

coderunner settings II

Thanks for your help.

Kind regards,

Mark

In reply to Mark Locherer

Re: Octave Coderunner Plugin

by Richard Lobb -
I'm not an active Octave user and haven't had much to do with Octave packages, so I may get this wrong. That said ...

It looks to me like the required packages are not installed globally, but only for the user rz-admin. The Jobe tasks all run as one of the users jobe<n>, group Jobe. These users do not have home directories, so the packages need to be installed on a standard path. On my system it appears that if packages are installed globally, they land up in the /usr/share/octave/packages directory, not in the anyone's home directory tree.

To install packages globally, it seems you need to run octave as root and within Octave run a command like:

    > pkg install -global /control-3.5.0.tar.gz

After installing the control package that way, the pkg list command output for me is:

octave:4> pkg list
Package Name  | Version | Installation directory
--------------+---------+-----------------------
     control  |   3.5.0 | /usr/share/octave/packages/control-3.5.0
    symbolic  |   3.0.1 | /usr/share/octave/packages/symbolic-3.0.1
octave:5> 

However, I have no idea why it seemed to work for a start and then stopped working.

In reply to Richard Lobb

Re: Octave Coderunner Plugin

by Mark Locherer -
Hello Richard,

thanks for your help. This was exactly the problem which now works fine.

Therefore, as root run

octave:> pkg install -global /control-3.5.0.tar.gz

Thank you very much and kind regards,
Mark