E.1.2 Build Tools

The following tools are required:

C++, C, and Fortran compilers

The Octave sources are primarily written in C++, but some portions are also written in C and Fortran. The Octave sources are intended to be portable. Recent versions of the GNU compiler collection (GCC) should work (https://gcc.gnu.org). If you use GCC, you should avoid mixing versions. For example, be sure that you are not using the obsolete g77 Fortran compiler with modern versions of gcc and g++.

GNU Make

Tool for building software (https://www.gnu.org/software/make). Octave’s build system requires GNU Make. Other versions of Make will not work. Fortunately, GNU Make is highly portable and easy to install.

AWK, sed, and other Unix utilities

Basic Unix system utilities are required for building Octave. All will be available with any modern Unix system and also on Windows with either Cygwin or MinGW and MSYS.

Additionally, the following tools may be needed:

Bison

Parser generator (https://www.gnu.org/software/bison). You will need Bison if you modify the oct-parse.yy source file or if you delete the files that are generated from it.

Flex

Lexer analyzer (https://www.gnu.org/software/flex). You will need Flex if you modify the lex.ll source file or if you delete the files that are generated from it.

Autoconf

Package for software configuration (https://www.gnu.org/software/autoconf). Autoconf is required if you modify Octave’s configure.ac file or other files that it requires.

Automake

Package for Makefile generation (https://www.gnu.org/software/automake). Automake is required if you modify Octave’s Makefile.am files or other files that they depend on.

Libtool

Package for building software libraries (https://www.gnu.org/software/libtool). Libtool is required by Automake.

gperf

Perfect hash function generator (https://www.gnu.org/software/gperf). You will need gperf if you modify the octave.gperf file or if you delete the file that is generated from it.

Texinfo

Package for generating online and print documentation (https://www.gnu.org/software/texinfo). You will need Texinfo to build Octave’s documentation or if you modify the documentation source files or the docstring of any Octave function.

© 1996–2020 John W. Eaton
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://octave.org/doc/v6.3.0/Build-Tools.html