File: External-Packages.html

package info (click to toggle)
octave 10.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 145,388 kB
  • sloc: cpp: 335,976; ansic: 82,241; fortran: 20,963; objc: 9,402; sh: 8,756; yacc: 4,392; lex: 4,333; perl: 1,544; java: 1,366; awk: 1,259; makefile: 659; xml: 192
file content (230 lines) | stat: -rw-r--r-- 11,011 bytes parent folder | download | duplicates (2)
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> &nbsp; [<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"> &para;</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&rsquo;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&rsquo;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&rsquo;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&rsquo;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&rsquo;s
graphics functions.  Octave&rsquo;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">&quot;qt&quot;</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">&quot;qt&quot;</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&rsquo;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> &nbsp; [<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>