1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230
|
<!DOCTYPE html>
<html>
<!-- Created by GNU Texinfo 7.1.1, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>External Packages (GNU Octave (version 10.3.0))</title>
<meta name="description" content="External Packages (GNU Octave (version 10.3.0))">
<meta name="keywords" content="External Packages (GNU Octave (version 10.3.0))">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="index.html" rel="start" title="Top">
<link href="Concept-Index.html" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Build-Dependencies.html" rel="up" title="Build Dependencies">
<link href="Build-Tools.html" rel="prev" title="Build Tools">
<style type="text/css">
<!--
a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
span:hover a.copiable-link {visibility: visible}
-->
</style>
<link rel="stylesheet" type="text/css" href="octave.css">
</head>
<body lang="en">
<div class="subsection-level-extent" id="External-Packages">
<div class="nav-panel">
<p>
Previous: <a href="Build-Tools.html" accesskey="p" rel="prev">Build Tools</a>, Up: <a href="Build-Dependencies.html" accesskey="u" rel="up">Build Dependencies</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<h4 class="subsection" id="External-Packages-1"><span>E.1.3 External Packages<a class="copiable-link" href="#External-Packages-1"> ¶</a></span></h4>
<p>The following external packages are required:
</p>
<dl class="table">
<dt>BLAS</dt>
<dd><p>Basic Linear Algebra Subroutine library. Accelerated <small class="sc">BLAS</small> libraries such
as OpenBLAS (<a class="url" href="https://www.openblas.net/">https://www.openblas.net/</a>) or
ATLAS (<a class="url" href="http://math-atlas.sourceforge.net">http://math-atlas.sourceforge.net</a>) are recommended for best
performance. The reference implementation (<a class="url" href="http://www.netlib.org/blas">http://www.netlib.org/blas</a>)
is slow and suffers from certain bugs in corner case inputs.
</p>
</dd>
<dt>LAPACK</dt>
<dd><p>Linear Algebra Package (<a class="url" href="http://www.netlib.org/lapack">http://www.netlib.org/lapack</a>).
</p>
</dd>
<dt>PCRE</dt>
<dd><p>The Perl Compatible Regular Expression library (<a class="url" href="https://www.pcre.org">https://www.pcre.org</a>).
</p></dd>
</dl>
<p>The following external package is optional but strongly recommended:
</p>
<dl class="table">
<dt>GNU Readline</dt>
<dd><p>Command-line editing library (<a class="url" href="https://www.gnu.org/s/readline">https://www.gnu.org/s/readline</a>).
</p></dd>
</dl>
<p>If you wish to build Octave without GNU readline installed, you must use
the <samp class="option">--disable-readline</samp> option when running the configure script.
</p>
<p>The following external software packages are optional. Octave can be
built without them but certain features might be missing:
</p>
<dl class="table">
<dt>ARPACK</dt>
<dd><p>Library for the solution of large-scale eigenvalue problems
(<a class="url" href="https://forge.scilab.org/index.php/p/arpack-ng">https://forge.scilab.org/index.php/p/arpack-ng</a>). <small class="sc">ARPACK</small> is
required to provide the functions <code class="code">eigs</code> and <code class="code">svds</code>.
</p>
</dd>
<dt>cURL</dt>
<dd><p>Library for transferring data with URL syntax
(<a class="url" href="https://curl.haxx.se">https://curl.haxx.se</a>). cURL is required to provide the
<code class="code">urlread</code> and <code class="code">urlwrite</code> functions and the <code class="code">ftp</code> class.
</p>
</dd>
<dt>FFTW3</dt>
<dd><p>Library for computing discrete Fourier transforms
(<a class="url" href="http://www.fftw.org">http://www.fftw.org</a>). FFTW3 is used to provide better
performance for functions that compute discrete Fourier transforms
(<code class="code">fft</code>, <code class="code">ifft</code>, <code class="code">fft2</code>, etc.)
</p>
</dd>
<dt>FLTK</dt>
<dd><p>Portable GUI toolkit (<a class="url" href="http://www.fltk.org">http://www.fltk.org</a>). FLTK can be
used to provide windows for Octave’s OpenGL-based graphics functions.
</p>
</dd>
<dt>fontconfig</dt>
<dd><p>Library for configuring and customizing font access
(<a class="url" href="https://www.freedesktop.org/wiki/Software/fontconfig">https://www.freedesktop.org/wiki/Software/fontconfig</a>). Fontconfig
is used to manage fonts for Octave’s OpenGL-based graphics functions.
</p>
</dd>
<dt>FreeType</dt>
<dd><p>Portable font engine (<a class="url" href="https://www.freetype.org">https://www.freetype.org</a>). FreeType is used
to perform font rendering for Octave’s OpenGL-based graphics functions.
</p>
</dd>
<dt>GLPK</dt>
<dd><p>GNU Linear Programming Kit (<a class="url" href="https://www.gnu.org/software/glpk">https://www.gnu.org/software/glpk</a>).
GPLK is required for the function <code class="code">glpk</code>.
</p>
</dd>
<dt>gl2ps</dt>
<dd><p>OpenGL to PostScript printing library (<a class="url" href="https://www.geuz.org/gl2ps/">https://www.geuz.org/gl2ps/</a>).
gl2ps is required for printing when using OpenGL-based
graphics toolkits (currently either FLTK or Qt).
</p>
</dd>
<dt>gnuplot</dt>
<dd><p>Interactive graphics program (<a class="url" href="http://www.gnuplot.info">http://www.gnuplot.info</a>). gnuplot
can be used as a graphics renderer for Octave; prior to Octave 4.0,
gnuplot was the default graphics renderer.
</p>
</dd>
<dt>GraphicsMagick++</dt>
<dd><p>Image processing library (<a class="url" href="http://www.graphicsmagick.org">http://www.graphicsmagick.org</a>).
GraphicsMagick++ is used to provide the <code class="code">imread</code> and <code class="code">imwrite</code>
functions.
</p>
</dd>
<dt>HDF5</dt>
<dd><p>Library for manipulating portable data files
(<a class="url" href="https://www.hdfgroup.org/HDF5">https://www.hdfgroup.org/HDF5</a>). <small class="sc">HDF5</small> is required for Octave’s
<code class="code">load</code> and <code class="code">save</code> commands to read and write HDF data files.
</p>
</dd>
<dt>Java Development Kit</dt>
<dd><p>Java programming language compiler and libraries. The OpenJDK free
software implementation is recommended (<a class="url" href="http://openjdk.java.net/">http://openjdk.java.net/</a>),
although other JDK implementations may work. Java is required to be able
to call Java functions from within Octave.
</p>
</dd>
<dt>OpenGL</dt>
<dd><p>API for portable 2-D and 3-D graphics (<a class="url" href="https://www.opengl.org">https://www.opengl.org</a>). An
OpenGL implementation can be used to provide a renderer for Octave’s
graphics functions. Octave’s OpenGL-based graphics functions usually
outperform the gnuplot-based graphics functions because plot data can be
rendered directly instead of sending data and commands to gnuplot for
interpretation and rendering. Since Octave 4.0, the default graphics
renderer (<code class="code">"qt"</code>) has been OpenGL-based.
</p>
</dd>
<dt>PortAudio</dt>
<dd><p>PortAudio (<a class="url" href="http://www.portaudio.com/">http://www.portaudio.com/</a>) provides a very simple API
for recording and/or playing sound using a simple callback function or
a blocking read/write interface. It is required for the audio processing
functions <code class="code">audioplayer</code>, <code class="code">audiorecorder</code>, and
<code class="code">audiodevinfo</code>.
</p>
</dd>
<dt>Qhull</dt>
<dd><p>Computational geometry library (<a class="url" href="http://www.qhull.org">http://www.qhull.org</a>). Qhull is
required to provide the functions <code class="code">convhull</code>, <code class="code">convhulln</code>,
<code class="code">delaunay</code>, <code class="code">delaunayn</code>, <code class="code">voronoi</code>, and <code class="code">voronoin</code>.
</p>
</dd>
<dt>QRUPDATE</dt>
<dd><p>QR factorization updating library
(<a class="url" href="https://sourceforge.net/projects/qrupdate">https://sourceforge.net/projects/qrupdate</a>). QRUPDATE is used to
provide improved performance for the functions <code class="code">qrdelete</code>,
<code class="code">qrinsert</code>, <code class="code">qrshift</code>, and <code class="code">qrupdate</code>.
</p>
</dd>
<dt>QScintilla</dt>
<dd><p>Source code highlighter and manipulator; a Qt port of Scintilla
(<a class="url" href="http://www.riverbankcomputing.co.uk/software/qscintilla">http://www.riverbankcomputing.co.uk/software/qscintilla</a>).
QScintilla is used for syntax highlighting and code completion in the
GUI.
</p>
</dd>
<dt>Qt</dt>
<dd><p>GUI and utility libraries (<a class="url" href="https://www.qt.io">https://www.qt.io</a>). Qt is required for
building the GUI. It is a large framework, but the only components
required are the GUI, core, and network modules. Since Octave 4.0, the
default graphics renderer (<code class="code">"qt"</code>) has been Qt-based, which has
been OpenGL-based.
</p>
</dd>
<dt>RapidJSON</dt>
<dd><p>A fast JSON parser/generator for C++ with both SAX/DOM style API
(<a class="url" href="https://rapidjson.org/">https://rapidjson.org/</a>). RapidJSON is required to read or write
from or to JSON files with the functions <code class="code">jsondecode</code> and
<code class="code">jsonencode</code>.
</p>
</dd>
<dt>SuiteSparse</dt>
<dd><p>Sparse matrix factorization library
(<a class="url" href="http://faculty.cse.tamu.edu/davis/suitesparse.html">http://faculty.cse.tamu.edu/davis/suitesparse.html</a>).
SuiteSparse is required to provide sparse matrix factorizations and
solution of linear equations for sparse systems.
</p>
</dd>
<dt>SUNDIALS</dt>
<dd><p>The SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers
(<a class="url" href="https://computation.llnl.gov/projects/sundials">https://computation.llnl.gov/projects/sundials</a>) is required for
the Ordinary Differential Equations (ODE) solvers <code class="code">ode15i</code> and
<code class="code">ode15s</code>.
</p>
</dd>
<dt>zlib</dt>
<dd><p>Data compression library (<a class="url" href="https://zlib.net">https://zlib.net</a>). The zlib library is
required for Octave’s <code class="code">load</code> and <code class="code">save</code> commands to handle
compressed data, including <small class="sc">MATLAB</small> v5 MAT files.
</p></dd>
</dl>
</div>
<hr>
<div class="nav-panel">
<p>
Previous: <a href="Build-Tools.html">Build Tools</a>, Up: <a href="Build-Dependencies.html">Build Dependencies</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|