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.
First
export CVS_RSH=ssh export CVSROOT=:ext:anoncvs@www.octave.org:/cvs
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
Then
./autogen.sh ./configure --prefix=/some/dir... make all install
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.
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.