Editing Building
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
:''This article provides general information about | : '' This article provides general information about building GNU Octave from source.'' | ||
== General steps == | == General steps == | ||
{| class="wikitable" | |||
! Build from the development repository | |||
! Build from a release | |||
|- | |||
| colspan="2" style="text-align: center;" | Install all [[#Dependencies|build dependencies]] (see below). | |||
|-style="vertical-align:top;" | |||
| | |||
hg clone https://www.octave.org/hg/octave && \ | hg clone https://www.octave.org/hg/octave && \ | ||
cd octave && \ | cd octave && \ | ||
./bootstrap | ./bootstrap | ||
| | |||
wget https://ftpmirror.gnu.org/octave/octave-{{Release}}.tar.gz && \ | wget https://ftpmirror.gnu.org/octave/octave-{{Release}}.tar.gz && \ | ||
tar -xzf octave-{{Release}}.tar.gz | tar -xzf octave-{{Release}}.tar.gz | ||
|-style="vertical-align:top;" | |||
| colspan="2" | | |||
mkdir .build && \ | mkdir .build && \ | ||
cd .build && \ | cd .build && \ | ||
./../configure --prefix=$HOME/my_octave && \ <ref><code>--prefix</code> determines the installation location | ./../configure --prefix=$HOME/my_octave && \ <ref><code>--prefix</code> determines the installation location.</ref> | ||
make -j2 && \ <ref>Depending on your system and processor count, use a larger number of parallel jobs, e.g. <code>-j8</code>.</ref> | make -j2 && \ <ref>Depending on your system and processor count, use a larger number of parallel jobs, e.g. <code>-j8</code>.</ref> | ||
make check && \ | make check && \ | ||
make install | make install | ||
|} | |||
== Dependencies == | == Dependencies == | ||
Most of the dependencies given in this section can be very conveniently installed on many [[Octave for GNU/Linux|GNU/Linux]] systems. | Most of the dependencies given in this section can be very conveniently installed on many [[Octave for GNU/Linux|GNU/Linux]] systems. Please read the respective wiki page for your distribution on the [[Octave for GNU/Linux]] page. | ||
On [[Octave for Microsoft Windows|MS Windows]] and [[Octave for macOS|macOS]] systems the generic Octave build process described on this page needs some more effort to fulfill the described build dependencies. Please read [[Octave for Microsoft Windows]] and [[Octave for macOS]] for information how to build Octave for the respective systems. | |||
Dependencies marked with <span style="background:lightgreen">green background</span> 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. | Dependencies marked with <span style="background:lightgreen">green background</span> 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. | ||
Line 114: | Line 106: | ||
| TeX document production system including all the major TeX-related programs, macro packages, and fonts that are free software. | | 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 | | Freely redistributable as defined by the Free Software Foundation | ||
|- | |||
| [https://www.ctan.org/pkg/transfig transfig] | |||
| Tanslates figures generated by xfig to a large variety of formats. | |||
| BSD Style License | |||
|} | |} | ||
Line 124: | Line 120: | ||
! License / Copyright | ! License / Copyright | ||
|-style="background:lightgreen" | |-style="background:lightgreen" | ||
| [ | | [http://www.netlib.org/blas BLAS] | ||
| Basic Linear Algebra Subroutine library | | Basic Linear Algebra Subroutine library | ||
| Free - proper attribution request | | Free - proper attribution request | ||
|-style="background:lightgreen" | |-style="background:lightgreen" | ||
| [ | | [http://www.netlib.org/lapack LAPACK] | ||
| Linear Algebra Package | | Linear Algebra Package | ||
| Free - proper attribution request | | Free - proper attribution request | ||
|-style="background:lightgreen" | |-style="background:lightgreen" | ||
| [ | | [http://www.pcre.org PCRE] | ||
| Perl Compatible Regular Expression library | | Perl Compatible Regular Expression library | ||
| Free | | Free | ||
|-style="background:lightgreen" | |-style="background:lightgreen" | ||
| [ | | [http://www.gnu.org/s/readline GNU Readline] | ||
| Command-line editing library | | Command-line editing library | ||
| GNU GPL v3.0 | | GNU GPL v3.0 | ||
|- | |- | ||
| [ | | [http://forge.scilab.org/index.php/p/arpack-ng ARPACK] | ||
| Solution of large-scale eigenvalue problems | | Solution of large-scale eigenvalue problems | ||
| BSD like - various authors | | BSD like - various authors | ||
|- | |- | ||
| [ | | [http://curl.haxx.se cURL] | ||
| Library for transferring data with URL syntax | | Library for transferring data with URL syntax | ||
| Free Software -- main author | | Free Software -- main author | ||
Line 152: | Line 148: | ||
| MIT -- GNU GPL v2.0 | | MIT -- GNU GPL v2.0 | ||
|- | |- | ||
| [ | | [http://www.fltk.org FLTK] | ||
| Portable GUI toolkit | | Portable GUI toolkit | ||
| GNU GPL v2.0 with static linking exception | | GNU GPL v2.0 with static linking exception | ||
|- | |- | ||
| [ | | [http://www.freedesktop.org/wiki/Software/fontconfig fontconfig] | ||
| Library for configuring and customizing font access | | Library for configuring and customizing font access | ||
| Provided "as is" -- various authors | | Provided "as is" -- various authors | ||
|- | |- | ||
| [ | | [http://www.freetype.org FreeType] | ||
| Portable font engine | | Portable font engine | ||
| compatible with GNU GPL v3.0 | | compatible with GNU GPL v3.0 | ||
|- | |- | ||
| [ | | [http://www.gnu.org/software/glpk GLPK] | ||
| GNU Linear Programming Kit | | GNU Linear Programming Kit | ||
| GNU GPL v3.0 | | GNU GPL v3.0 | ||
Line 176: | Line 168: | ||
| Provided "as is" -- various authors | | Provided "as is" -- various authors | ||
|- | |- | ||
| | | [http://www.graphicsmagick.org GraphicsMagick++] | ||
| Image processing library | | Image processing library | ||
| various -- integrates many third-party libs | | various -- integrates many third-party libs | ||
|- | |- | ||
| [ | | [http://www.hdfgroup.org/HDF5 HDF5] | ||
| Library for manipulating portable data files | | Library for manipulating portable data files | ||
| BSD - like | | BSD - like | ||
|- | |- | ||
| | | [http://www.opengl.org OpenGL] | ||
| API for portable 2D and 3D graphics | | API for portable 2D and 3D graphics | ||
| Free specs -- license is driver dependent | | Free specs -- license is driver dependent | ||
|- | |- | ||
| [http://www.qhull.org Qhull] | | [http://www.qhull.org Qhull] | ||
Line 204: | Line 188: | ||
| GNU GPL v3.0 | | GNU GPL v3.0 | ||
|- | |- | ||
| [ | | [http://www.cise.ufl.edu/research/sparse/SuiteSparse SuiteSparse] | ||
| Sparse matrix factorization library | | Sparse matrix factorization library | ||
| Main author | | Main author | ||
|- | |- | ||
| [ | | [http://zlib.net zlib] | ||
| Data compression library | | Data compression library | ||
| Provided "as is" -- various authors | | Provided "as is" -- various authors | ||
|} | |} | ||
== See also == | == See also == | ||
* [https://hg.savannah.gnu.org/hgweb/octave/file/ | * [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 | ||
== Footnotes == | == Footnotes == |