Building: Difference between revisions

Jump to navigation Jump to search
719 bytes added ,  16 March 2022
m
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
:''This article provides general information about building GNU Octave from source.  If you just want to install Octave, see [[:Category:Installation]].''
:''This article provides general information about '''building GNU Octave''' from source (on Unix-like systems).''


:''Read [[Building on Microsoft Windows]], if that is your operating system.''
:*''If you just want to '''install GNU Octave''', see [[:Category:Installation]].''
:*''For '''MS Windows''', read [[Building on Microsoft Windows]] and [[Windows Installer]].''
:*''For '''macOS''', read [[Octave for macOS]].''


== General steps ==
== General steps ==
Line 7: Line 9:
# Install all [[#Dependencies|build dependencies]] (see below).
# Install all [[#Dependencies|build dependencies]] (see below).
# Getting the Octave sources ...
# Getting the Octave sources ...
#* ... from the development repository (requires also [https://www.mercurial-scm.org/ Mercurial])
::(A) ... from the development repository (requires also [https://www.mercurial-scm.org/ Mercurial])
<div style="margin-left:5em;">
<div style="margin-left:5em;">
  hg clone https://www.octave.org/hg/octave && \
  hg clone https://www.octave.org/hg/octave && \
Line 13: Line 15:
  ./bootstrap
  ./bootstrap
</div>
</div>
::* ... from a release
::(B) ... from a release
<div style="margin-left:5em;">
<div style="margin-left:5em;">
  wget https://ftpmirror.gnu.org/octave/octave-{{Release}}.tar.gz && \
  wget https://ftpmirror.gnu.org/octave/octave-{{Release}}.tar.gz && \
Line 37: Line 39:
* [[Octave for Arch Linux|Arch Linux]]
* [[Octave for Arch Linux|Arch Linux]]
* [[Octave for Red Hat Linux systems|Fedora / RedHat / CentOS]]}}
* [[Octave for Red Hat Linux systems|Fedora / RedHat / CentOS]]}}
On [[Windows Installer|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 [[Windows Installer]] 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 163: Line 163:
| Portable font engine
| Portable font engine
| compatible with GNU GPL v3.0
| compatible with GNU GPL v3.0
|-
| [https://www.geuz.org/gl2ps/ GL2PS]
| OpenGL to PostScript printing library
| GNU GPL v2.0
|-
|-
| [https://www.gnu.org/software/glpk GLPK]
| [https://www.gnu.org/software/glpk GLPK]
Line 172: Line 176:
| Provided "as is" -- various authors
| Provided "as is" -- various authors
|-
|-
| [http://www.graphicsmagick.org GraphicsMagick++]
| Magick++, e.g. [http://www.graphicsmagick.org GraphicsMagick++]
| Image processing library
| Image processing library
| various -- integrates many third-party libs
| various -- integrates many third-party libs
Line 179: Line 183:
| Library for manipulating portable data files
| Library for manipulating portable data files
| BSD - like
| BSD - like
|-
| JDK, e.g. [https://www.hdfgroup.org/solutions/hdf5 OpenJDK]
| Java programming language compiler and libraries
| GNU GPL v2.0
|-
|-
| [https://www.opengl.org OpenGL]
| [https://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.portaudio.com/ PortAudio]
| Audio I/O library
| Free software -- specific
|-
|-
| [http://www.qhull.org Qhull]
| [http://www.qhull.org Qhull]
Line 191: Line 203:
| QR factorization updating library
| QR factorization updating library
| GNU GPL v3.0
| GNU GPL v3.0
|-
| [https://riverbankcomputing.com/software/qscintilla QScintilla]
| Source code highlighter and manipulator; a Qt port of Scintilla
| GNU GPL v3.0
|-
| [https://www.qt.io/ Qt]
| Widget toolkit for creating graphical user interfaces
| GNU LGPL v3.0
|-
| [https://rapidjson.org/ RapidJSON]
| A fast JSON parser/generator for C++ with both SAX/DOM style API
| MIT license
|-
|-
| [http://faculty.cse.tamu.edu/davis/suitesparse.html SuiteSparse]
| [http://faculty.cse.tamu.edu/davis/suitesparse.html SuiteSparse]
| Sparse matrix factorization library
| Sparse matrix factorization library
| Main author
| Main author
|-
| [https://computing.llnl.gov/projects/sundials/ida SUNDIALS IDA]
| SUite of Nonlinear and DIfferential/ALgebraic equation Solvers - Initial value problems for Differential-Algebraic equation (DAE) systems
| BSD 3-Clause
|-
|-
| [https://zlib.net zlib]
| [https://zlib.net zlib]

Navigation menu