Notes on using GNU Octave

Installing Octave

Prerequisite Debian packages

If compiling for Debian from source, the following Debian packages may be necessary to obtain full functionality: libreadline5-dev libpcre3-dev libufsparse-dev libhdf5-serial-dev fftw3-dev

N.B.:libufsparse-dev isn't compatible with libumfpack4-dev.

Installing Octave from CVS


export CVS_RSH=ssh

The first time

    cvs -z 9 checkout octave

which will create a directory octave.

but subsequently just run, in the so-created directory,

  cvs update


./configure --prefix=/some/dir...
make all install

Extending Octave

Octave is designed to be compatible with Matlab, so when adding new functionality, it's a good idea to check the Matlab documentation and ensure that compatibility is maintained. Matlab is reasonably capable, but the source code is unavailable; as far as I'm concerned that makes it almost unusable for serious engineering or scientific purposes.

Submitting changes to Octave

It's best to begin with freshly updated Octave from the CVS repository; see instructions above. After adding or editing the required files, do

sudo make all install
cvs diff -u > /tmp/patch.diff

In /tmp/patch.diff, delete all the leading lines beginning with a question mark; everything down to the first line beginning with ‘Index’. Cut the addition to the ChangeLog; patches to ChangeLogs tend not to apply cleanly. Keep the bit from the Index line down that describes the changes made.

Parallelizing Octave

Graphical packages for Octave

Miscellaneous texts on Octave

Valid XHTML 1.1., valid CSS

Last modified Wed. 30 May 2007 by Geordie McBain.