Building: Difference between revisions
Jump to navigation
Jump to search
(→See also: Add etc/HACKING) |
(→See also: Add README) |
||
Line 209: | Line 209: | ||
== See also == | == See also == | ||
* [https://hg.savannah.gnu.org/hgweb/octave/file/tip/etc/HACKING.md <code>/etc/HACKING.md</code>] in the development repository. | * [https://hg.savannah.gnu.org/hgweb/octave/file/3490ea06aba1/README <code>README</code>] and [https://hg.savannah.gnu.org/hgweb/octave/file/tip/etc/HACKING.md <code>/etc/HACKING.md</code>] in the development repository. | ||
* https://octave.org/doc/interpreter/Installation.html | * https://octave.org/doc/interpreter/Installation.html | ||
Revision as of 07:26, 25 October 2019
General information about building the Octave source for different operating systems.
General steps
Build from the development repository | Build from a release |
---|---|
Install all build dependencies (see below). | |
hg clone https://www.octave.org/hg/octave && \ cd octave && \ ./bootstrap |
wget https://ftpmirror.gnu.org/octave/octave-9.2.0.tar.gz && \ tar -xzf octave-9.2.0.tar.gz |
mkdir .build && \ cd .build && \ ./../configure --prefix=$HOME/my_octave && \ [1] make -j2 && \ [2] make check && \ make install |
- Linux
- macOS
- Windows
- Building on Cygwin platform
- MXE cross compiler
We try to keep build instructions up to date in the source tree. Please clone using Mercurial or download it to see the README.
There are also instructions in the manual.
Dependencies
Dependencies marked with green background are required for building Octave. All other tools and libraries are recommended/optional, but very useful features (like the GUI, plotting, etc.) are likely to be disabled.
Build tools
Dependency | Description | License / Copyright |
---|---|---|
Autoconf | Software configuration | GNU GPL v3.0 |
Automake | Makefile generator | GNU GPL v3.0 |
C++, C, and Fortran compilers | Compiling the source code | GNU GPL v3.0 |
GNU Make | Makefile processor | GNU GPL v3.0 |
Libtool | Dependency of automake | Free Software Foundation |
Unix utilities: gawk, gperf, less, ncurses | Miscellaneous tasks | GNU GPL v3.0 |
Bison | Parser generator | GNU GPL v3.0 |
Flex | Lexical analyzer | The Flex project |
Documentation tools
Dependency | Description | License / Copyright |
---|---|---|
epstool | Epstool is a utility to create or extract preview images in EPS files, fix bounding boxes and convert to bitmaps. | GNU GPL v2.0 |
FTGL | Portable font engine to perform font rendering for Octave’s OpenGL-based graphics functions. | GNU GPL v2.0 |
GL2PS | GL2PS is a C library providing high quality vector output for any OpenGL application. | GNU LGPL v2.0 |
Texi2HTML | Perl script which converts Texinfo source files to HTML output. | GNU GPL v3.0 |
Texinfo | Documentation system that uses a single source to produce both on-line information and printed output. | GNU GPL v3.0 |
TeX Live | TeX document production system including all the major TeX-related programs, macro packages, and fonts that are free software. | Freely redistributable as defined by the Free Software Foundation |
transfig | Tanslates figures generated by xfig to a large variety of formats. | BSD Style License |
External tools and libraries
Dependency | Description | License / Copyright |
---|---|---|
BLAS | Basic Linear Algebra Subroutine library | Free - proper attribution request |
LAPACK | Linear Algebra Package | Free - proper attribution request |
PCRE | Perl Compatible Regular Expression library | Free |
GNU Readline | Command-line editing library | GNU GPL v3.0 |
ARPACK | Solution of large-scale eigenvalue problems | BSD like - various authors |
cURL | Library for transferring data with URL syntax | Free Software -- main author |
FFTW3 | Library for computing discrete Fourier transforms | MIT -- GNU GPL v2.0 |
FLTK | Portable GUI toolkit | GNU GPL v2.0 with static linking exception |
fontconfig | Library for configuring and customizing font access | Provided "as is" -- various authors |
FreeType | Portable font engine | compatible with GNU GPL v3.0 |
GLPK | GNU Linear Programming Kit | GNU GPL v3.0 |
gnuplot | Interactive graphics program | Provided "as is" -- various authors |
GraphicsMagick++ | Image processing library | various -- integrates many third-party libs |
HDF5 | Library for manipulating portable data files | BSD - like |
OpenGL | API for portable 2D and 3D graphics | Free specs -- license is driver dependent |
Qhull | Computational geometry library | Free software -- specific |
QRUPDATE | QR factorization updating library | GNU GPL v3.0 |
SuiteSparse | Sparse matrix factorization library | Main author |
zlib | Data compression library | Provided "as is" -- various authors |
See also
README
and/etc/HACKING.md
in the development repository.- https://octave.org/doc/interpreter/Installation.html