I recently needed to build GNU Octave from source, as the version available in the Ubuntu repositories (3.6.2) had a crash that reliably triggered when I attempted to run a matlab script from a lecture I had been watching (a Stanford lecture series called The Fourier Transforms and its Applications).
error: source: error sourcing file `/home/frankster/Reference/TheFourierTransform/materials/lsoftaee261/sinesum2.m'
*** glibc detected *** octave: corrupted double-linked list: 0x00000000020d6380 ***
I pulled the mercurial repository containing the source, and followed the build instructions in etc/HACKING which said to run the ./bootstrap script. Unfortunately, when I ran this script I got the error:
~/octave$ ./bootstrap
./bootstrap: one of these is required: glibtoolize libtoolize
It wasn't immediately clear to me what this error meant, and I couldn't find any answers with a quick search. After a little bit of trial and error, I realised that there might be some build pre-requisites that were not installed. Fortunately on debian-based distributions its incredibly easy to sort this out (for packaged software at least):
sudo apt-get build-dep octave
Development versions of octave have a new QT interface. In order to get this to compile I also installed some qt packages:
sudo apt-get install libqt4-core libqt4-gui libqt4-network libqt4-dev