Mercurial > octave
annotate doc/interpreter/install.txi @ 31247:3dae836c598c
doc: Expand and edit documentation for memoization (bug #60860)
author | Arun Giridhar <arungiridhar@gmail.com> |
---|---|
date | Fri, 30 Sep 2022 06:38:59 -0400 |
parents | 7e8db64587a6 |
children | ad8a4102f910 |
rev | line source |
---|---|
30564
796f54d4ddbf
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
30318
diff
changeset
|
1 @c Copyright (C) 1996-2022 The Octave Project Developers |
7018 | 2 @c |
3 @c This file is part of Octave. | |
4 @c | |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23567
diff
changeset
|
5 @c Octave is free software: you can redistribute it and/or modify it |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22383
diff
changeset
|
6 @c under the terms of the GNU General Public License as published by |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23567
diff
changeset
|
7 @c the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22383
diff
changeset
|
8 @c (at your option) any later version. |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19298
diff
changeset
|
9 @c |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22383
diff
changeset
|
10 @c Octave is distributed in the hope that it will be useful, but |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22383
diff
changeset
|
11 @c WITHOUT ANY WARRANTY; without even the implied warranty of |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22383
diff
changeset
|
12 @c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22383
diff
changeset
|
13 @c GNU General Public License for more details. |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19298
diff
changeset
|
14 @c |
7018 | 15 @c You should have received a copy of the GNU General Public License |
16 @c along with Octave; see the file COPYING. If not, see | |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23567
diff
changeset
|
17 @c <https://www.gnu.org/licenses/>. |
3294 | 18 |
7018 | 19 @c The text of this file appears in the file INSTALL in the Octave |
20 @c distribution, as well as in the Octave manual. | |
3294 | 21 |
22 @ifclear INSTALLONLY | |
4167 | 23 @node Installation |
3294 | 24 @appendix Installing Octave |
25 @end ifclear | |
26 | |
27 @ifset INSTALLONLY | |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17170
diff
changeset
|
28 @include macros.texi |
3294 | 29 |
30 This file documents the installation of Octave. | |
31 | |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23567
diff
changeset
|
32 Octave is free software: you can redistribute it and/or modify it |
3294 | 33 under the terms of the GNU General Public License as published by the |
34 Free Software Foundation. | |
35 | |
12973
b80b18f537ca
doc: Correct various Texinfo warnings about incorrect use of macros.
Rik <octave@nomad.inbox5.com>
parents:
12702
diff
changeset
|
36 @strong{Note}: This file is automatically generated from |
9031
1052a66078cf
Documentation cleanup of top-level Octave directory (READMEs, INSTALL)
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
37 @file{doc/interpreter/install.txi} in the Octave sources. To update |
1052a66078cf
Documentation cleanup of top-level Octave directory (READMEs, INSTALL)
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
38 the documentation make changes to the .txi source file rather than this |
1052a66078cf
Documentation cleanup of top-level Octave directory (READMEs, INSTALL)
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
39 derived file. |
7144 | 40 |
4167 | 41 @node Installation |
3294 | 42 @chapter Installing Octave |
43 @end ifset | |
44 | |
45 @cindex installing Octave | |
46 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
47 The procedure for installing Octave from source on a Unix-like system is |
17765
26a418799bc3
doc: avoid word 'below' when reference is in another node (bug #39260)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
48 described next. Building on other platforms will follow similar |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
49 steps. Note that this description applies to Octave releases. Building |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
50 the development sources from the Mercurial archive requires additional |
22383
8d747185ae6b
doc: remove "Contributing guidelines" and "Tips and standards" from the manual.
Carnë Draug <carandraug@octave.org>
parents:
22323
diff
changeset
|
51 steps as described in the development source itself. |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
52 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
53 @menu |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
54 * Build Dependencies:: |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
55 * Running Configure and Make:: |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
56 * Compiling Octave with 64-bit Indexing:: |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
57 * Installation Problems:: |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
58 @end menu |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
59 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
60 @node Build Dependencies |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
61 @section Build Dependencies |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
62 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
63 Octave is a fairly large program with many build dependencies. You may |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
64 be able to find pre-packaged versions of the dependencies distributed as |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
65 part of your system, or you may have to build some or all of them |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
66 yourself. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
67 |
14187
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
68 @menu |
14531
8985cbbd2fe4
doc: Periodic spellcheck of documentation
Rik <octave@nomad.inbox5.com>
parents:
14480
diff
changeset
|
69 * Obtaining the Dependencies Automatically:: |
14187
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
70 * Build Tools:: |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
71 * External Packages:: |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
72 @end menu |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
73 |
14531
8985cbbd2fe4
doc: Periodic spellcheck of documentation
Rik <octave@nomad.inbox5.com>
parents:
14480
diff
changeset
|
74 @node Obtaining the Dependencies Automatically |
8985cbbd2fe4
doc: Periodic spellcheck of documentation
Rik <octave@nomad.inbox5.com>
parents:
14480
diff
changeset
|
75 @subsection Obtaining the Dependencies Automatically |
14187
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
76 |
14480
3d628878e109
doc: Reword the manual section on getting build dependencies
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14187
diff
changeset
|
77 On some systems you can obtain many of Octave's build dependencies |
14853
72b8b39e12be
doc: Periodic grammarcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents:
14622
diff
changeset
|
78 automatically. The commands for doing this vary by system. Similarly, |
14480
3d628878e109
doc: Reword the manual section on getting build dependencies
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14187
diff
changeset
|
79 the names of pre-compiled packages vary by system and do not always |
3d628878e109
doc: Reword the manual section on getting build dependencies
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14187
diff
changeset
|
80 match exactly the names listed in @ref{Build Tools} and @ref{External |
3d628878e109
doc: Reword the manual section on getting build dependencies
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14187
diff
changeset
|
81 Packages}. |
14187
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
82 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
83 You will usually need the development version of an external dependency |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
84 so that you get the libraries and header files for building software, |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
85 not just for running already compiled programs. These packages |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
86 typically have names that end with the suffix @code{-dev} or @code{-devel}. |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
87 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
88 On systems with @code{apt-get} (Debian, Ubuntu, etc.), you may be able |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
89 to install most of the tools and external packages using a command |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
90 similar to |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
91 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
92 @example |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
93 apt-get build-dep octave |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
94 @end example |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
95 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
96 @noindent |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
97 The specific package name may be @code{octave3.2} or @code{octave3.4}. |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
98 The set of required tools and external dependencies does not change |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
99 frequently, so it is not important that the version match exactly, but |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
100 you should use the most recent one available. |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
101 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
102 On systems with @code{yum} (Fedora, Red Hat, etc.), you may be able to |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
103 install most of the tools and external packages using a command similar to |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
104 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
105 @example |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
106 yum-builddep octave |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
107 @end example |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
108 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
109 @noindent |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
110 The @code{yum-builddep} utility is part of the @code{yum-utils} package. |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
111 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
112 For either type of system, the package name may include a version |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
113 number. The set of required tools and external dependencies does not |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
114 change frequently, so it is not important that the version exactly match |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
115 the version you are installing, but you should use the most recent one |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
116 available. |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
117 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
118 @node Build Tools |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
119 @subsection Build Tools |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
120 |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
121 The following tools are required: |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
122 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
123 @table @asis |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
124 @item C++, C, and Fortran compilers |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
125 The Octave sources are primarily written in C++, but some portions are |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
126 also written in C and Fortran. The Octave sources are intended to be |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
127 portable. Recent versions of the GNU compiler collection (GCC) should |
24893
a3eb0d746042
doc: use canonical https URLs for all external gnu.org references
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
128 work (@url{https://gcc.gnu.org}). If you use GCC, you should avoid |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
129 mixing versions. For example, be sure that you are not using the |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
130 obsolete @code{g77} Fortran compiler with modern versions of @code{gcc} |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
131 and @code{g++}. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
132 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
133 @item GNU Make |
24893
a3eb0d746042
doc: use canonical https URLs for all external gnu.org references
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
134 Tool for building software (@url{https://www.gnu.org/software/make}). |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
135 Octave's build system requires GNU Make. Other versions of Make will |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
136 not work. Fortunately, GNU Make is highly portable and easy to install. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
137 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
138 @item AWK, sed, and other Unix utilities |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
139 Basic Unix system utilities are required for building Octave. All will |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
140 be available with any modern Unix system and also on Windows with either |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
141 Cygwin or MinGW and MSYS. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
142 @end table |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
143 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
144 Additionally, the following tools may be needed: |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
145 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
146 @table @asis |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
147 @item Bison |
24893
a3eb0d746042
doc: use canonical https URLs for all external gnu.org references
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
148 Parser generator (@url{https://www.gnu.org/software/bison}). |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
149 You will need Bison if you modify the @code{oct-parse.yy} source file or |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
150 if you delete the files that are generated from it. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
151 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
152 @item Flex |
24893
a3eb0d746042
doc: use canonical https URLs for all external gnu.org references
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
153 Lexer analyzer (@url{https://www.gnu.org/software/flex}). You will need |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
154 Flex if you modify the @code{lex.ll} source file or if you delete the |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
155 files that are generated from it. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
156 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
157 @item Autoconf |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
158 Package for software configuration |
24893
a3eb0d746042
doc: use canonical https URLs for all external gnu.org references
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
159 (@url{https://www.gnu.org/software/autoconf}). Autoconf is required if |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
160 you modify Octave's @code{configure.ac} file or other files that it |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
161 requires. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
162 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
163 @item Automake |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
164 Package for Makefile generation |
24893
a3eb0d746042
doc: use canonical https URLs for all external gnu.org references
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
165 (@url{https://www.gnu.org/software/automake}). Automake is required if |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
166 you modify Octave's @code{Makefile.am} files or other files that they |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
167 depend on. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
168 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
169 @item Libtool |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
170 Package for building software libraries |
24893
a3eb0d746042
doc: use canonical https URLs for all external gnu.org references
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
171 (@url{https://www.gnu.org/software/libtool}). Libtool is required by |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
172 Automake. |
18285
8671f39d1728
doc: Document missing build tools and external packages (bug #41233)
Mike Miller <mtmiller@ieee.org>
parents:
18079
diff
changeset
|
173 |
8671f39d1728
doc: Document missing build tools and external packages (bug #41233)
Mike Miller <mtmiller@ieee.org>
parents:
18079
diff
changeset
|
174 @item gperf |
24893
a3eb0d746042
doc: use canonical https URLs for all external gnu.org references
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
175 Perfect hash function generator (@url{https://www.gnu.org/software/gperf}). |
18285
8671f39d1728
doc: Document missing build tools and external packages (bug #41233)
Mike Miller <mtmiller@ieee.org>
parents:
18079
diff
changeset
|
176 You will need gperf if you modify the @code{octave.gperf} file or if you |
8671f39d1728
doc: Document missing build tools and external packages (bug #41233)
Mike Miller <mtmiller@ieee.org>
parents:
18079
diff
changeset
|
177 delete the file that is generated from it. |
8671f39d1728
doc: Document missing build tools and external packages (bug #41233)
Mike Miller <mtmiller@ieee.org>
parents:
18079
diff
changeset
|
178 |
8671f39d1728
doc: Document missing build tools and external packages (bug #41233)
Mike Miller <mtmiller@ieee.org>
parents:
18079
diff
changeset
|
179 @item Texinfo |
8671f39d1728
doc: Document missing build tools and external packages (bug #41233)
Mike Miller <mtmiller@ieee.org>
parents:
18079
diff
changeset
|
180 Package for generating online and print documentation |
24893
a3eb0d746042
doc: use canonical https URLs for all external gnu.org references
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
181 (@url{https://www.gnu.org/software/texinfo}). You will need Texinfo to |
18285
8671f39d1728
doc: Document missing build tools and external packages (bug #41233)
Mike Miller <mtmiller@ieee.org>
parents:
18079
diff
changeset
|
182 build Octave's documentation or if you modify the documentation source |
8671f39d1728
doc: Document missing build tools and external packages (bug #41233)
Mike Miller <mtmiller@ieee.org>
parents:
18079
diff
changeset
|
183 files or the docstring of any Octave function. |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
184 @end table |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
185 |
14187
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
186 @node External Packages |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
187 @subsection External Packages |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
188 |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
189 The following external packages are required: |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
190 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
191 @table @asis |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
192 @item BLAS |
20314
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
193 Basic Linear Algebra Subroutine library. Accelerated @sc{blas} libraries such |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
194 as OpenBLAS (@url{https://www.openblas.net/}) or |
20314
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
195 ATLAS (@url{http://math-atlas.sourceforge.net}) are recommended for best |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
196 performance. The reference implementation (@url{http://www.netlib.org/blas}) |
30318
08f6fbcd33c6
doc: Don't claim that reference BLAS is un-maintained.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29949
diff
changeset
|
197 is slow and suffers from certain bugs in corner case inputs. |
14853
72b8b39e12be
doc: Periodic grammarcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents:
14622
diff
changeset
|
198 |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
199 @item LAPACK |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
200 Linear Algebra Package (@url{http://www.netlib.org/lapack}). |
14853
72b8b39e12be
doc: Periodic grammarcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents:
14622
diff
changeset
|
201 |
14171
2ced2f59f523
doc: miscellaneous documentation improvements
Rik <octave@nomad.inbox5.com>
parents:
14150
diff
changeset
|
202 @item PCRE |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
203 The Perl Compatible Regular Expression library (@url{https://www.pcre.org}). |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
204 @end table |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
205 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
206 The following external package is optional but strongly recommended: |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
207 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
208 @table @asis |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
209 @item GNU Readline |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
210 Command-line editing library (@url{https://www.gnu.org/s/readline}). |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
211 @end table |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
212 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
213 If you wish to build Octave without GNU readline installed, you must use |
14622
92659ad0d215
doc: Use @option macro where appropriate.
Rik <octave@nomad.inbox5.com>
parents:
14531
diff
changeset
|
214 the @option{--disable-readline} option when running the configure script. |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
215 |
30693
f3e09a024057
doc: Add optional dependency on RapidJSON.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30564
diff
changeset
|
216 The following external software packages are optional. Octave can be |
f3e09a024057
doc: Add optional dependency on RapidJSON.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30564
diff
changeset
|
217 built without them but certain features might be missing: |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
218 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
219 @table @asis |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
220 @item ARPACK |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
221 Library for the solution of large-scale eigenvalue problems |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
222 (@url{https://forge.scilab.org/index.php/p/arpack-ng}). @sc{arpack} is |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
223 required to provide the functions @code{eigs} and @code{svds}. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
224 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
225 @item cURL |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
226 Library for transferring data with URL syntax |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
227 (@url{https://curl.haxx.se}). cURL is required to provide the |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
228 @code{urlread} and @code{urlwrite} functions and the @code{ftp} class. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
229 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
230 @item FFTW3 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
231 Library for computing discrete Fourier transforms |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
232 (@url{http://www.fftw.org}). FFTW3 is used to provide better |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
233 performance for functions that compute discrete Fourier transforms |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
234 (@code{fft}, @code{ifft}, @code{fft2}, etc.) |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
235 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
236 @item FLTK |
28415
1296a89b08f4
A few fixes to outdated or incomplete documentation (bug #58488).
Michael Witten <mfwitten@gmail.com>
parents:
27796
diff
changeset
|
237 Portable GUI toolkit (@url{http://www.fltk.org}). FLTK can be |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
238 used to provide windows for Octave's OpenGL-based graphics functions. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
239 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
240 @item fontconfig |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
241 Library for configuring and customizing font access |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
242 (@url{https://www.freedesktop.org/wiki/Software/fontconfig}). Fontconfig |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
243 is used to manage fonts for Octave's OpenGL-based graphics functions. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
244 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
245 @item FreeType |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
246 Portable font engine (@url{https://www.freetype.org}). FreeType is used |
14171
2ced2f59f523
doc: miscellaneous documentation improvements
Rik <octave@nomad.inbox5.com>
parents:
14150
diff
changeset
|
247 to perform font rendering for Octave's OpenGL-based graphics functions. |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
248 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
249 @item GLPK |
24893
a3eb0d746042
doc: use canonical https URLs for all external gnu.org references
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
250 GNU Linear Programming Kit (@url{https://www.gnu.org/software/glpk}). |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
251 GPLK is required for the function @code{glpk}. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
252 |
18075
24759ac2b8cb
doc: Periodic spellcheck of documentation
Rik <rik@octave.org>
parents:
18073
diff
changeset
|
253 @item @nospell{gl2ps} |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
254 OpenGL to PostScript printing library (@url{https://www.geuz.org/gl2ps/}). |
21375
e5fd5bc5fd90
update docs for FLTK and Qt graphics
John W. Eaton <jwe@octave.org>
parents:
21300
diff
changeset
|
255 @nospell{gl2ps} is required for printing when using OpenGL-based |
e5fd5bc5fd90
update docs for FLTK and Qt graphics
John W. Eaton <jwe@octave.org>
parents:
21300
diff
changeset
|
256 graphics toolkits (currently either FLTK or Qt). |
18073
42c3e30557a4
doc: Small fixes to the octave manual (bug #40557).
Rik <rik@octave.org>
parents:
17772
diff
changeset
|
257 |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
258 @item gnuplot |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
259 Interactive graphics program (@url{http://www.gnuplot.info}). gnuplot |
28415
1296a89b08f4
A few fixes to outdated or incomplete documentation (bug #58488).
Michael Witten <mfwitten@gmail.com>
parents:
27796
diff
changeset
|
260 can be used as a graphics renderer for Octave; prior to Octave 4.0, |
1296a89b08f4
A few fixes to outdated or incomplete documentation (bug #58488).
Michael Witten <mfwitten@gmail.com>
parents:
27796
diff
changeset
|
261 gnuplot was the default graphics renderer. |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
262 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
263 @item GraphicsMagick++ |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
264 Image processing library (@url{http://www.graphicsmagick.org}). |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
265 GraphicsMagick++ is used to provide the @code{imread} and @code{imwrite} |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
266 functions. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
267 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
268 @item HDF5 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
269 Library for manipulating portable data files |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
270 (@url{https://www.hdfgroup.org/HDF5}). @sc{hdf5} is required for Octave's |
14171
2ced2f59f523
doc: miscellaneous documentation improvements
Rik <octave@nomad.inbox5.com>
parents:
14150
diff
changeset
|
271 @code{load} and @code{save} commands to read and write HDF data files. |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
272 |
18285
8671f39d1728
doc: Document missing build tools and external packages (bug #41233)
Mike Miller <mtmiller@ieee.org>
parents:
18079
diff
changeset
|
273 @item Java Development Kit |
8671f39d1728
doc: Document missing build tools and external packages (bug #41233)
Mike Miller <mtmiller@ieee.org>
parents:
18079
diff
changeset
|
274 Java programming language compiler and libraries. The OpenJDK free |
8671f39d1728
doc: Document missing build tools and external packages (bug #41233)
Mike Miller <mtmiller@ieee.org>
parents:
18079
diff
changeset
|
275 software implementation is recommended (@url{http://openjdk.java.net/}), |
8671f39d1728
doc: Document missing build tools and external packages (bug #41233)
Mike Miller <mtmiller@ieee.org>
parents:
18079
diff
changeset
|
276 although other JDK implementations may work. Java is required to be able |
8671f39d1728
doc: Document missing build tools and external packages (bug #41233)
Mike Miller <mtmiller@ieee.org>
parents:
18079
diff
changeset
|
277 to call Java functions from within Octave. |
8671f39d1728
doc: Document missing build tools and external packages (bug #41233)
Mike Miller <mtmiller@ieee.org>
parents:
18079
diff
changeset
|
278 |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
279 @item OpenGL |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
280 API for portable 2-D and 3-D graphics (@url{https://www.opengl.org}). An |
28415
1296a89b08f4
A few fixes to outdated or incomplete documentation (bug #58488).
Michael Witten <mfwitten@gmail.com>
parents:
27796
diff
changeset
|
281 OpenGL implementation can be used to provide a renderer for Octave's |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
282 graphics functions. Octave's OpenGL-based graphics functions usually |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
283 outperform the gnuplot-based graphics functions because plot data can be |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
284 rendered directly instead of sending data and commands to gnuplot for |
28415
1296a89b08f4
A few fixes to outdated or incomplete documentation (bug #58488).
Michael Witten <mfwitten@gmail.com>
parents:
27796
diff
changeset
|
285 interpretation and rendering. Since Octave 4.0, the default graphics |
1296a89b08f4
A few fixes to outdated or incomplete documentation (bug #58488).
Michael Witten <mfwitten@gmail.com>
parents:
27796
diff
changeset
|
286 renderer (@qcode{"qt"}) has been OpenGL-based. |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
287 |
23328
0f1e9743b0a9
doc: describe optional install dependencies PortAudio and SUNDIALS (bug #50513).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
23219
diff
changeset
|
288 @item PortAudio |
0f1e9743b0a9
doc: describe optional install dependencies PortAudio and SUNDIALS (bug #50513).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
23219
diff
changeset
|
289 PortAudio (@url{http://www.portaudio.com/}) provides a very simple API |
0f1e9743b0a9
doc: describe optional install dependencies PortAudio and SUNDIALS (bug #50513).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
23219
diff
changeset
|
290 for recording and/or playing sound using a simple callback function or |
0f1e9743b0a9
doc: describe optional install dependencies PortAudio and SUNDIALS (bug #50513).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
23219
diff
changeset
|
291 a blocking read/write interface. It is required for the audio processing |
0f1e9743b0a9
doc: describe optional install dependencies PortAudio and SUNDIALS (bug #50513).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
23219
diff
changeset
|
292 functions @code{audioplayer}, @code{audiorecorder}, and |
0f1e9743b0a9
doc: describe optional install dependencies PortAudio and SUNDIALS (bug #50513).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
23219
diff
changeset
|
293 @code{audiodevinfo}. |
0f1e9743b0a9
doc: describe optional install dependencies PortAudio and SUNDIALS (bug #50513).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
23219
diff
changeset
|
294 |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
295 @item Qhull |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
296 Computational geometry library (@url{http://www.qhull.org}). Qhull is |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19298
diff
changeset
|
297 required to provide the functions @code{convhull}, @code{convhulln}, |
19164
ba167badef9f
Deprecate delaunay3 and extend delaunay to 3-D inputs.
Rik <rik@octave.org>
parents:
18815
diff
changeset
|
298 @code{delaunay}, @code{delaunayn}, @code{voronoi}, and @code{voronoin}. |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
299 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
300 @item QRUPDATE |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
301 QR factorization updating library |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
302 (@url{https://sourceforge.net/projects/qrupdate}). QRUPDATE is used to |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
303 provide improved performance for the functions @code{qrdelete}, |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
304 @code{qrinsert}, @code{qrshift}, and @code{qrupdate}. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
305 |
15047
11c05ff73c83
Document extra Qt dependencies
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14853
diff
changeset
|
306 @item QScintilla |
16816
12005245b645
doc: Periodic grammarcheck of documentation.
Rik <rik@octave.org>
parents:
16792
diff
changeset
|
307 Source code highlighter and manipulator; a Qt port of Scintilla |
15047
11c05ff73c83
Document extra Qt dependencies
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14853
diff
changeset
|
308 (@url{http://www.riverbankcomputing.co.uk/software/qscintilla}). |
11c05ff73c83
Document extra Qt dependencies
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14853
diff
changeset
|
309 QScintilla is used for syntax highlighting and code completion in the |
11c05ff73c83
Document extra Qt dependencies
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14853
diff
changeset
|
310 GUI. |
11c05ff73c83
Document extra Qt dependencies
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14853
diff
changeset
|
311 |
11c05ff73c83
Document extra Qt dependencies
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14853
diff
changeset
|
312 @item Qt |
25138
a038cbe3e6e1
* install.txi: Provide URL for Qt.
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
313 GUI and utility libraries (@url{https://www.qt.io}). Qt is required for |
26047
1357b79f87bc
doc: grammar check txi files in doc/interpreter/ directory.
Rik <rik@octave.org>
parents:
25882
diff
changeset
|
314 building the GUI@. It is a large framework, but the only components |
28415
1296a89b08f4
A few fixes to outdated or incomplete documentation (bug #58488).
Michael Witten <mfwitten@gmail.com>
parents:
27796
diff
changeset
|
315 required are the GUI, core, and network modules. Since Octave 4.0, the |
1296a89b08f4
A few fixes to outdated or incomplete documentation (bug #58488).
Michael Witten <mfwitten@gmail.com>
parents:
27796
diff
changeset
|
316 default graphics renderer (@qcode{"qt"}) has been Qt-based, which has |
1296a89b08f4
A few fixes to outdated or incomplete documentation (bug #58488).
Michael Witten <mfwitten@gmail.com>
parents:
27796
diff
changeset
|
317 been OpenGL-based. |
15047
11c05ff73c83
Document extra Qt dependencies
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14853
diff
changeset
|
318 |
30693
f3e09a024057
doc: Add optional dependency on RapidJSON.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30564
diff
changeset
|
319 @item RapidJSON |
f3e09a024057
doc: Add optional dependency on RapidJSON.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30564
diff
changeset
|
320 A fast JSON parser/generator for C++ with both SAX/DOM style API |
f3e09a024057
doc: Add optional dependency on RapidJSON.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30564
diff
changeset
|
321 (@url{https://rapidjson.org/}). RapidJSON is required to read or write |
f3e09a024057
doc: Add optional dependency on RapidJSON.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30564
diff
changeset
|
322 from or to JSON files with the functions @code{jsondecode} and |
f3e09a024057
doc: Add optional dependency on RapidJSON.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30564
diff
changeset
|
323 @code{jsonencode}. |
f3e09a024057
doc: Add optional dependency on RapidJSON.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30564
diff
changeset
|
324 |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
325 @item SuiteSparse |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
326 Sparse matrix factorization library |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
327 (@url{http://faculty.cse.tamu.edu/davis/suitesparse.html}). |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
328 SuiteSparse is required to provide sparse matrix factorizations and |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
329 solution of linear equations for sparse systems. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
330 |
23328
0f1e9743b0a9
doc: describe optional install dependencies PortAudio and SUNDIALS (bug #50513).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
23219
diff
changeset
|
331 @item SUNDIALS |
23567
71bfd507663c
doc: Periodic spellcheck of documentation.
Rik <rik@octave.org>
parents:
23565
diff
changeset
|
332 @nospell{The SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers} |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
333 (@url{https://computation.llnl.gov/projects/sundials}) is required for |
23328
0f1e9743b0a9
doc: describe optional install dependencies PortAudio and SUNDIALS (bug #50513).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
23219
diff
changeset
|
334 the Ordinary Differential Equations (ODE) solvers @code{ode15i} and |
0f1e9743b0a9
doc: describe optional install dependencies PortAudio and SUNDIALS (bug #50513).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
23219
diff
changeset
|
335 @code{ode15s}. |
0f1e9743b0a9
doc: describe optional install dependencies PortAudio and SUNDIALS (bug #50513).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
23219
diff
changeset
|
336 |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
337 @item zlib |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
338 Data compression library (@url{https://zlib.net}). The zlib library is |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
339 required for Octave's @code{load} and @code{save} commands to handle |
14853
72b8b39e12be
doc: Periodic grammarcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents:
14622
diff
changeset
|
340 compressed data, including @sc{matlab} v5 MAT files. |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
341 @end table |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
342 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
343 @node Running Configure and Make |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
344 @section Running Configure and Make |
3294 | 345 |
346 @itemize @bullet | |
347 @item | |
348 Run the shell script @file{configure}. This will determine the features | |
349 your system has (or doesn't have) and create a file named | |
350 @file{Makefile} from each of the files named @file{Makefile.in}. | |
351 | |
30695
fcd704fc132f
doc: Update documentation for some configure switches.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30693
diff
changeset
|
352 For a complete list of configure options, run @file{configure --help}. |
3294 | 353 Here is a summary of the configure options that are most frequently used |
354 when building Octave: | |
355 | |
356 @table @code | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
357 @item --help |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
358 Print a summary of the options recognized by the configure script. |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
359 |
3294 | 360 @item --prefix=@var{prefix} |
361 Install Octave in subdirectories below @var{prefix}. The default value | |
362 of @var{prefix} is @file{/usr/local}. | |
363 | |
364 @item --srcdir=@var{dir} | |
365 Look for Octave sources in the directory @var{dir}. | |
366 | |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
367 @item --disable-64 |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
368 Disable using 64-bit integers for indexing arrays and use 32-bit |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
369 integers instead. On systems with 32-bit pointers, this option is |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23487
diff
changeset
|
370 always disabled. If the configure script determines that your @sc{blas} |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
371 library uses 32-bit integers, then operations using the following |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
372 libraries are limited to arrays with dimensions that are smaller than |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
373 @math{2^{31}} elements: |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
374 |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
375 @itemize @bullet |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
376 @item @sc{blas} |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23487
diff
changeset
|
377 |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
378 @item @sc{lapack} |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23487
diff
changeset
|
379 |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
380 @item QRUPDATE |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23487
diff
changeset
|
381 |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
382 @item SuiteSparse |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23487
diff
changeset
|
383 |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
384 @item @sc{arpack} |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
385 @end itemize |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
386 |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
387 Additionally, the following libraries use @code{int} internally, so |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
388 maximum problem sizes are always limited: |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
389 |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
390 @itemize @bullet |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
391 @item @sc{glpk} |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23487
diff
changeset
|
392 |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
393 @item Qhull |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
394 @end itemize |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
395 |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
396 @xref{Compiling Octave with 64-bit Indexing}, for more details |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
397 about building Octave with more complete support for large arrays. |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
398 |
23487
af2f1f3dbe06
eliminate --enable-bounds-check configure option
John W. Eaton <jwe@octave.org>
parents:
23434
diff
changeset
|
399 @item --enable-address-sanitizer-flags |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23487
diff
changeset
|
400 Enable compiler options @option{-fsanitize=address} and |
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23487
diff
changeset
|
401 @option{-fomit-frame-pointer} for memory access checking. This option is |
23487
af2f1f3dbe06
eliminate --enable-bounds-check configure option
John W. Eaton <jwe@octave.org>
parents:
23434
diff
changeset
|
402 primarily used for debugging Octave. Building Octave with this option |
af2f1f3dbe06
eliminate --enable-bounds-check configure option
John W. Eaton <jwe@octave.org>
parents:
23434
diff
changeset
|
403 has a negative impact on performance and is not recommended for general |
af2f1f3dbe06
eliminate --enable-bounds-check configure option
John W. Eaton <jwe@octave.org>
parents:
23434
diff
changeset
|
404 use. It may also interfere with proper functioning of the GUI. |
3294 | 405 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
406 @item --disable-docs |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
407 Disable building all forms of the documentation (Info, PDF, HTML). The |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
408 default is to build documentation, but your system will need functioning |
14038
b0cdd60db5e5
doc: Grammarcheck documentation ahead of 3.6.0 release.
Rik <octave@nomad.inbox5.com>
parents:
14018
diff
changeset
|
409 Texinfo and @TeX{} installs for this to succeed. |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
410 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
411 @item --enable-float-truncate |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
412 This option allows for truncation of intermediate floating point results |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
413 in calculations. It is only necessary for certain platforms. |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
414 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
415 @item --enable-readline |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
416 Use the readline library to provide for editing of the command line in |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
417 terminal environments. This option is on by default. |
3294 | 418 |
419 @item --enable-shared | |
7091 | 420 Create shared libraries (this is the default). If you are planning to |
421 use the dynamic loading features, you will probably want to use this | |
422 option. It will make your @file{.oct} files much smaller and on some | |
423 systems it may be necessary to build shared libraries in order to use | |
424 dynamically linked functions. | |
3294 | 425 |
426 You may also want to build a shared version of @code{libstdc++}, if your | |
7081 | 427 system doesn't already have one. |
3294 | 428 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
429 @item --with-blas=<lib> |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
430 By default, configure looks for the best @sc{blas} matrix libraries on |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
431 your system, including optimized implementations such as the free ATLAS |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
432 3.0, as well as vendor-tuned libraries. (The use of an optimized |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
433 @sc{blas} will generally result in several-times faster matrix |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
434 operations.) Use this option to specify a particular @sc{blas} library |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
435 that Octave should use. |
3294 | 436 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
437 @item --with-lapack=<lib> |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
438 By default, configure looks for the best @sc{lapack} matrix libraries on |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
439 your system, including optimized implementations such as the free ATLAS |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
440 3.0, as well as vendor-tuned libraries. (The use of an optimized |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
441 @sc{lapack} will generally result in several-times faster matrix |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
442 operations.) Use this option to specify a particular @sc{lapack} |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
443 library that Octave should use. |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
444 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
445 @item --with-magick=<lib> |
30695
fcd704fc132f
doc: Update documentation for some configure switches.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30693
diff
changeset
|
446 Select the Magick++ library to use for image I/O@. For many |
fcd704fc132f
doc: Update documentation for some configure switches.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30693
diff
changeset
|
447 distributions, possible values are @qcode{"GraphicsMagick++"} (default) |
fcd704fc132f
doc: Update documentation for some configure switches.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30693
diff
changeset
|
448 or @qcode{"ImageMagick++"}. |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
449 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
450 @item --with-sepchar=<char> |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
451 Use <char> as the path separation character. This option can help when |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
452 running Octave on non-Unix systems. |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
453 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
454 @item --without-amd |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
455 Don't use @sc{amd}, disable some sparse matrix functionality. |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
456 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
457 @item --without-camd |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
458 Don't use @sc{camd}, disable some sparse matrix functionality. |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
459 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
460 @item --without-colamd |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
461 Don't use @sc{colamd}, disable some sparse matrix functionality. |
7091 | 462 |
463 @item --without-ccolamd | |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
464 Don't use @sc{ccolamd}, disable some sparse matrix functionality. |
7091 | 465 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
466 @item --without-cholmod |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
467 Don't use @sc{cholmod}, disable some sparse matrix functionality. |
7091 | 468 |
469 @item --without-curl | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
470 Don't use the cURL library, disable the ftp objects, @code{urlread} and |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
471 @code{urlwrite} functions. |
3294 | 472 |
7091 | 473 @item --without-cxsparse |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
474 Don't use @sc{cxsparse}, disable some sparse matrix functionality. |
7091 | 475 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
476 @item --without-fftw3 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
477 Use the included @sc{fftpack} library for computing Fast Fourier |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
478 Transforms instead of the @sc{fftw3} library. |
7091 | 479 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
480 @item --without-fftw3f |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
481 Use the included @sc{fftpack} library for computing Fast Fourier |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
482 Transforms instead of the @sc{fftw3} library when operating on single |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
483 precision (float) values. |
3294 | 484 |
7091 | 485 @item --without-glpk |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
486 Don't use the @sc{glpk} library for linear programming. |
7091 | 487 |
488 @item --without-hdf5 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
489 Don't use the @sc{hdf5} library, disable reading and writing of |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
490 @sc{hdf5} files. |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
491 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
492 @item --without-opengl |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
493 Don't use OpenGL, disable native graphics toolkit for plotting. You |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
494 will need @code{gnuplot} installed in order to make plots. |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
495 |
30695
fcd704fc132f
doc: Update documentation for some configure switches.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30693
diff
changeset
|
496 @item --without-qhull_r |
fcd704fc132f
doc: Update documentation for some configure switches.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30693
diff
changeset
|
497 Don't use (re-entrant) Qhull, disable @code{delaunay}, @code{convhull}, |
fcd704fc132f
doc: Update documentation for some configure switches.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30693
diff
changeset
|
498 and related functions. |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
499 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
500 @item --without-qrupdate |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
501 Don't use @sc{qrupdate}, disable QR and Cholesky update functions. |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
502 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
503 @item --without-umfpack |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
504 Don't use @sc{umfpack}, disable some sparse matrix functionality. |
7091 | 505 |
30695
fcd704fc132f
doc: Update documentation for some configure switches.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30693
diff
changeset
|
506 @item --without-z |
7091 | 507 Don't use the zlib library, disable data file compression and support |
508 for recent MAT file formats. | |
509 | |
8791
d943e26d30e2
Add documentation for configure options "--without-framework-carbon" and "--without-framework-opengl".
Thomas Treichl <Thomas.Treichl@gmx.net>
parents:
8481
diff
changeset
|
510 @item --without-framework-carbon |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
511 Don't use framework Carbon headers, libraries, or specific source code |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
512 even if the configure test succeeds (the default is to use Carbon |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
513 framework if available). This is a platform specific configure option |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
514 for Mac systems. |
8791
d943e26d30e2
Add documentation for configure options "--without-framework-carbon" and "--without-framework-opengl".
Thomas Treichl <Thomas.Treichl@gmx.net>
parents:
8481
diff
changeset
|
515 |
d943e26d30e2
Add documentation for configure options "--without-framework-carbon" and "--without-framework-opengl".
Thomas Treichl <Thomas.Treichl@gmx.net>
parents:
8481
diff
changeset
|
516 @item --without-framework-opengl |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
517 Don't use framework OpenGL headers, libraries, or specific source code |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
518 even if the configure test succeeds. If this option is given then |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
519 OpenGL headers and libraries in standard system locations are tested |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
520 (the default value is @option{--with-framework-opengl}). This is a |
8791
d943e26d30e2
Add documentation for configure options "--without-framework-carbon" and "--without-framework-opengl".
Thomas Treichl <Thomas.Treichl@gmx.net>
parents:
8481
diff
changeset
|
521 platform specific configure option for Mac systems. |
d943e26d30e2
Add documentation for configure options "--without-framework-carbon" and "--without-framework-opengl".
Thomas Treichl <Thomas.Treichl@gmx.net>
parents:
8481
diff
changeset
|
522 |
3294 | 523 @end table |
524 | |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19298
diff
changeset
|
525 See the file @file{INSTALL} for more general information about the |
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19298
diff
changeset
|
526 command line options used by configure. That file also contains |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
527 instructions for compiling in a directory other than the one where |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
528 the source is located. |
3294 | 529 |
530 @item | |
531 Run make. | |
532 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
533 You will need a recent version of GNU Make as Octave relies on certain |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
534 features not generally available in all versions of make. Modifying |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
535 Octave's makefiles to work with other make programs is probably not |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
536 worth your time; instead, we simply recommend installing GNU Make. |
3294 | 537 |
21375
e5fd5bc5fd90
update docs for FLTK and Qt graphics
John W. Eaton <jwe@octave.org>
parents:
21300
diff
changeset
|
538 There are currently three options for plotting in Octave: the external |
e5fd5bc5fd90
update docs for FLTK and Qt graphics
John W. Eaton <jwe@octave.org>
parents:
21300
diff
changeset
|
539 program gnuplot, the internal graphics engine using OpenGL coupled with |
e5fd5bc5fd90
update docs for FLTK and Qt graphics
John W. Eaton <jwe@octave.org>
parents:
21300
diff
changeset
|
540 either FLTK or Qt widgets. Gnuplot is a command-driven interactive |
e5fd5bc5fd90
update docs for FLTK and Qt graphics
John W. Eaton <jwe@octave.org>
parents:
21300
diff
changeset
|
541 function plotting program. |
3294 | 542 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
543 To compile Octave, you will need a recent version of @code{g++} or other |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
544 ANSI C++ compiler. In addition, you will need a Fortran 77 compiler or |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
545 @code{f2c}. If you use @code{f2c}, you will need a script like |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
546 @code{fort77} that works like a normal Fortran compiler by combining |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
547 @code{f2c} with your C compiler in a single script. |
3294 | 548 |
549 If you plan to modify the parser you will also need GNU @code{bison} and | |
550 @code{flex}. If you modify the documentation, you will need GNU | |
11291
5abe6815aa5e
install.txi: delete obsolete statement about needing a patch for makeinfo
John W. Eaton <jwe@octave.org>
parents:
10846
diff
changeset
|
551 Texinfo. |
3294 | 552 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
553 GNU Make, @code{gcc} (and @code{libstdc++}), @code{gnuplot}, |
3294 | 554 @code{bison}, @code{flex}, and Texinfo are all available from many |
27268
ab32fd297202
add missing url-schemes to external links in the documentation (bug #54547)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26376
diff
changeset
|
555 anonymous ftp archives. The primary site is @url{ftp://ftp.gnu.org}, but it |
3294 | 556 is often very busy. A list of sites that mirror the software on |
27268
ab32fd297202
add missing url-schemes to external links in the documentation (bug #54547)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26376
diff
changeset
|
557 @url{ftp://ftp.gnu.org} is available by anonymous ftp from |
3294 | 558 @url{ftp://ftp.gnu.org/pub/gnu/GNUinfo/FTP}. |
559 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
560 Octave requires approximately 1.4 GB of disk storage to unpack and |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
561 compile from source (significantly less, 400 MB, if you don't compile |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
562 with debugging symbols). To compile without debugging symbols try the |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
563 command |
3294 | 564 |
565 @example | |
566 make CFLAGS=-O CXXFLAGS=-O LDFLAGS= | |
567 @end example | |
568 | |
569 @noindent | |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
570 instead of just @command{make}. |
3294 | 571 |
572 @item | |
17765
26a418799bc3
doc: avoid word 'below' when reference is in another node (bug #39260)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
573 If you encounter errors while compiling Octave, first |
17772
7900595f1533
* install.txi: Use @ref instead of xref or pxref in mid sentence.
John W. Eaton <jwe@octave.org>
parents:
17765
diff
changeset
|
574 see @ref{Installation Problems} for a list of |
17765
26a418799bc3
doc: avoid word 'below' when reference is in another node (bug #39260)
Carnë Draug <carandraug@octave.org>
parents:
17744
diff
changeset
|
575 known problems and if there is a workaround or solution for |
17772
7900595f1533
* install.txi: Use @ref instead of xref or pxref in mid sentence.
John W. Eaton <jwe@octave.org>
parents:
17765
diff
changeset
|
576 your problem. If not, see |
3294 | 577 @ifclear INSTALLONLY |
17772
7900595f1533
* install.txi: Use @ref instead of xref or pxref in mid sentence.
John W. Eaton <jwe@octave.org>
parents:
17765
diff
changeset
|
578 @ref{Trouble} |
3294 | 579 @end ifclear |
580 @ifset INSTALLONLY | |
17772
7900595f1533
* install.txi: Use @ref instead of xref or pxref in mid sentence.
John W. Eaton <jwe@octave.org>
parents:
17765
diff
changeset
|
581 the file BUGS |
3294 | 582 @end ifset |
583 for information about how to report bugs. | |
584 | |
585 @item | |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
586 Once you have successfully compiled Octave, run @code{make install}. |
3294 | 587 |
8481
00df69d7e698
[docs] capitalize Octave consistently
Brian Gough <bjg@gnu.org>
parents:
8325
diff
changeset
|
588 This will install a copy of Octave, its libraries, and its documentation |
3294 | 589 in the destination directory. As distributed, Octave is installed in |
590 the following directories. In the table below, @var{prefix} defaults to | |
591 @file{/usr/local}, @var{version} stands for the current version number | |
592 of the interpreter, and @var{arch} is the type of computer on which | |
593 Octave is installed (for example, @samp{i586-unknown-gnu}). | |
594 | |
595 @table @file | |
596 @item @var{prefix}/bin | |
597 Octave and other binaries that people will want to run directly. | |
598 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
599 @item @var{prefix}/lib/octave-@var{version} |
15271
648dabbb4c6b
build: Refactor liboctave into multiple subdirectories. Move libcruft into liboctave.
Rik <rik@octave.org>
parents:
15048
diff
changeset
|
600 Libraries like liboctave.a and liboctinterp.a. |
3294 | 601 |
28880
68e6e6f083f3
doc: Correct some installation paths (bug #59236).
Markus Mützel <markus.muetzel@gmx.de>
parents:
28415
diff
changeset
|
602 @item @var{prefix}/include/octave-@var{version}/octave |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
603 Include files distributed with Octave. |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
604 |
3294 | 605 @item @var{prefix}/share |
606 Architecture-independent data files. | |
607 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
608 @item @var{prefix}/share/man/man1 |
3294 | 609 Unix-style man pages describing Octave. |
610 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
611 @item @var{prefix}/share/info |
3294 | 612 Info files describing Octave. |
613 | |
614 @item @var{prefix}/share/octave/@var{version}/m | |
615 Function files distributed with Octave. This includes the Octave | |
616 version, so that multiple versions of Octave may be installed at the | |
617 same time. | |
618 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
619 @item @var{prefix}/libexec/octave/@var{version}/exec/@var{arch} |
3294 | 620 Executables to be run by Octave rather than the user. |
621 | |
622 @item @var{prefix}/lib/octave/@var{version}/oct/@var{arch} | |
623 Object files that will be dynamically loaded. | |
624 | |
625 @item @var{prefix}/share/octave/@var{version}/imagelib | |
626 Image files that are distributed with Octave. | |
627 @end table | |
628 @end itemize | |
629 | |
17152
f2a8592b8fbd
doc: Shorten some long subsection names in Manual.
Rik <rik@octave.org>
parents:
17097
diff
changeset
|
630 @node Compiling Octave with 64-bit Indexing |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
631 @section Compiling Octave with 64-bit Indexing |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
632 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
633 Note: the following only applies to systems that have 64-bit pointers. |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
634 Configuring Octave with @option{--enable-64} cannot magically make a |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
635 32-bit system have a 64-bit address space. |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
636 |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
637 On 64-bit systems, Octave uses 64-bit integers for indexing arrays |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23487
diff
changeset
|
638 by default. If the configure script determines that your @sc{blas} |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
639 library uses 32-bit integers, then operations using the following |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
640 libraries are limited to arrays with dimensions that are smaller than |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
641 @math{2^{31}} elements: |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
642 |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
643 @itemize @bullet |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
644 @item @sc{blas} |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23487
diff
changeset
|
645 |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
646 @item @sc{lapack} |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23487
diff
changeset
|
647 |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
648 @item QRUPDATE |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23487
diff
changeset
|
649 |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
650 @item SuiteSparse |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23487
diff
changeset
|
651 |
30697
7e8db64587a6
doc: Add SUNDIALS IDA to list of libraries with optional 64-bit indexing.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30695
diff
changeset
|
652 @item @sc{sundials ida} |
7e8db64587a6
doc: Add SUNDIALS IDA to list of libraries with optional 64-bit indexing.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30695
diff
changeset
|
653 |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
654 @item @sc{arpack} |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
655 @end itemize |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
656 |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
657 Additionally, the following libraries use @code{int} internally, so |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
658 maximum problem sizes are always limited: |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
659 |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
660 @itemize @bullet |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
661 @item @sc{glpk} |
23565
3a730821e4a2
doc: Peridoc grammarcheck of documentation.
Rik <rik@octave.org>
parents:
23487
diff
changeset
|
662 |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
663 @item Qhull |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
664 @end itemize |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
665 |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
666 Except for @sc{glpk} and Qhull, these libraries may also be configured |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
667 to use 64-bit integers, but most systems do not provide packages built |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
668 this way. If you wish to experiment with large arrays, the following |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
669 information may be helpful. |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
670 |
27796
e7dd7d98a058
doc: grammarcheck .txi files before 6.1 release.
Rik <rik@octave.org>
parents:
27360
diff
changeset
|
671 To determine the integer size of the @sc{blas} library used by Octave, the |
27359
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
672 following code can be executed: |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
673 |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
674 @example |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
675 @group |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
676 clear all; |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
677 N = 2^31; |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
678 ## The following line requires about 8 GB of RAM! |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
679 a = b = ones (N, 1, "single"); |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
680 c = a' * b |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
681 @end group |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
682 @end example |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
683 |
27796
e7dd7d98a058
doc: grammarcheck .txi files before 6.1 release.
Rik <rik@octave.org>
parents:
27360
diff
changeset
|
684 If the @sc{blas} library uses 32-bit integers, an error will be thrown: |
27359
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
685 |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
686 @example |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
687 @group |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
688 error: integer dimension or index out of range for Fortran |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
689 INTEGER type |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
690 @end group |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
691 @end example |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
692 |
27796
e7dd7d98a058
doc: grammarcheck .txi files before 6.1 release.
Rik <rik@octave.org>
parents:
27360
diff
changeset
|
693 Otherwise, if the @sc{blas} library uses 64-bit integers, the result is: |
27359
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
694 |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
695 @example |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
696 c = 2^31 = 2147483648 |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
697 @end example |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
698 |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
699 Note that the test case above usually requires twice the memory, if |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
700 @var{a} and @var{b} are not assigned by @code{a = b = @dots{}}. |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
701 Note further, that the data type @code{single} has a precision of |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
702 about 23 binary bits. In this particular example no rounding errors |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
703 occur. |
60bb69799591
doc: Add example to show limitations of the given BLAS integer size.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26376
diff
changeset
|
704 |
30697
7e8db64587a6
doc: Add SUNDIALS IDA to list of libraries with optional 64-bit indexing.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30695
diff
changeset
|
705 Generally, it is best to have all of these libraries in versions that |
7e8db64587a6
doc: Add SUNDIALS IDA to list of libraries with optional 64-bit indexing.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30695
diff
changeset
|
706 support 32-bit indexing, or all of these libraries must support 64-bit |
7e8db64587a6
doc: Add SUNDIALS IDA to list of libraries with optional 64-bit indexing.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30695
diff
changeset
|
707 indexing. Mixing libraries with 64-bit indexing with libraries with |
7e8db64587a6
doc: Add SUNDIALS IDA to list of libraries with optional 64-bit indexing.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30695
diff
changeset
|
708 32-bit indexing can cause unpredictable behavior including program |
7e8db64587a6
doc: Add SUNDIALS IDA to list of libraries with optional 64-bit indexing.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30695
diff
changeset
|
709 crashes with possible loss of data. |
7e8db64587a6
doc: Add SUNDIALS IDA to list of libraries with optional 64-bit indexing.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30695
diff
changeset
|
710 |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
711 The following instructions were tested with the development version of |
22986
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
712 Octave and GCC 4.3.4 on an x86_64 Debian system and may be out of date |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
713 now. Please report any problems or corrections on the Octave bug |
21707d6a02c7
make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
714 tracker. |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
715 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
716 The versions listed below are the versions used for testing. If newer |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
717 versions of these packages are available, you should try to use them, |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
718 although there may be some differences. |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
719 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
720 All libraries and header files will be installed in subdirectories of |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
721 @code{$prefix64} (you must choose the location of this directory). |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
722 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
723 @itemize @bullet |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
724 @item @sc{blas} and @sc{lapack} (@url{http://www.netlib.org/lapack}) |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
725 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
726 Reference versions for both libraries are included in the reference |
27268
ab32fd297202
add missing url-schemes to external links in the documentation (bug #54547)
Torsten Lilge <ttl-octave@mailbox.org>
parents:
26376
diff
changeset
|
727 @sc{lapack} 3.2.1 distribution from @url{http://www.netlib.org/}. |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
728 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
729 @itemize @minus |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
730 @item |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
731 Copy the file @file{make.inc.example} and name it @file{make.inc}. |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
732 The options @option{-fdefault-integer-8} and @option{-fPIC} (on 64-bit |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
733 CPU) have to be added to the variable @code{OPTS} and @code{NOOPT}. |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
734 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
735 @item |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
736 Once you have compiled this library make sure that you use it for |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
737 compiling Suite Sparse and Octave. In the following we assume that |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
738 you installed the @sc{lapack} library as $prefix64/lib/liblapack.a. |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
739 @end itemize |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
740 |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
741 @item QRUPDATE (@url{https://sourceforge.net/projects/qrupdate}) |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
742 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
743 In the @file{Makeconf} file: |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
744 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
745 @itemize @minus |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
746 @item |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
747 Add @option{-fdefault-integer-8} to @env{FFLAGS}. |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
748 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
749 @item |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
750 Adjust the @sc{blas} and @sc{lapack} variables as needed if your 64-bit |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
751 aware @sc{blas} and @sc{lapack} libraries are in a non-standard |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
752 location. |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
753 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
754 @item |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
755 Set @env{PREFIX} to the top-level directory of your install tree. |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
756 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
757 @item |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
758 Run @code{make solib} to make a shared library. |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
759 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
760 @item |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
761 Run @code{make install} to install the library. |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
762 @end itemize |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
763 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
764 @item |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
765 SuiteSparse (@url{http://faculty.cse.tamu.edu/davis/suitesparse.html}) |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
766 |
18079
d8d0e9e189f5
* install.txi: Update 64-bit build info for suitesparse, glpk, and qhull.
John W. Eaton <jwe@octave.org>
parents:
18075
diff
changeset
|
767 Pass the following options to @command{make} to enable 64-bit integers |
d8d0e9e189f5
* install.txi: Update 64-bit build info for suitesparse, glpk, and qhull.
John W. Eaton <jwe@octave.org>
parents:
18075
diff
changeset
|
768 for @sc{blas} library calls. On 64-bit Windows systems, use |
d8d0e9e189f5
* install.txi: Update 64-bit build info for suitesparse, glpk, and qhull.
John W. Eaton <jwe@octave.org>
parents:
18075
diff
changeset
|
769 @code{-DLONGBLAS="long long"} instead. |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
770 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
771 @example |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
772 @group |
18079
d8d0e9e189f5
* install.txi: Update 64-bit build info for suitesparse, glpk, and qhull.
John W. Eaton <jwe@octave.org>
parents:
18075
diff
changeset
|
773 CFLAGS='-DLONGBLAS=long' |
d8d0e9e189f5
* install.txi: Update 64-bit build info for suitesparse, glpk, and qhull.
John W. Eaton <jwe@octave.org>
parents:
18075
diff
changeset
|
774 CXXFLAGS='-DLONGBLAS=long' |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
775 @end group |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
776 @end example |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
777 |
18079
d8d0e9e189f5
* install.txi: Update 64-bit build info for suitesparse, glpk, and qhull.
John W. Eaton <jwe@octave.org>
parents:
18075
diff
changeset
|
778 The SuiteSparse makefiles don't generate shared libraries. On some |
d8d0e9e189f5
* install.txi: Update 64-bit build info for suitesparse, glpk, and qhull.
John W. Eaton <jwe@octave.org>
parents:
18075
diff
changeset
|
779 systems, you can generate them by doing something as simple as |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
780 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
781 @example |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
782 @group |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
783 top=$(pwd) |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
784 for f in *.a; do |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
785 mkdir tmp |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
786 cd tmp |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
787 ar vx ../$f |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
788 gcc -shared -o ../$@{f%%.a@}.so *.o |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
789 cd $top |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
790 rm -rf tmp |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
791 done |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
792 @end group |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
793 @end example |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
794 |
18079
d8d0e9e189f5
* install.txi: Update 64-bit build info for suitesparse, glpk, and qhull.
John W. Eaton <jwe@octave.org>
parents:
18075
diff
changeset
|
795 @noindent |
d8d0e9e189f5
* install.txi: Update 64-bit build info for suitesparse, glpk, and qhull.
John W. Eaton <jwe@octave.org>
parents:
18075
diff
changeset
|
796 Other systems may require a different solution. |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
797 |
30697
7e8db64587a6
doc: Add SUNDIALS IDA to list of libraries with optional 64-bit indexing.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30695
diff
changeset
|
798 @item @sc{sundials ida} |
7e8db64587a6
doc: Add SUNDIALS IDA to list of libraries with optional 64-bit indexing.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30695
diff
changeset
|
799 (@url{https://computing.llnl.gov/projects/sundials/ida}) |
7e8db64587a6
doc: Add SUNDIALS IDA to list of libraries with optional 64-bit indexing.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30695
diff
changeset
|
800 |
7e8db64587a6
doc: Add SUNDIALS IDA to list of libraries with optional 64-bit indexing.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30695
diff
changeset
|
801 When configuring with @code{cmake} add the flag |
7e8db64587a6
doc: Add SUNDIALS IDA to list of libraries with optional 64-bit indexing.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30695
diff
changeset
|
802 @option{-DSUNDIALS_INDEX_SIZE=64}. |
7e8db64587a6
doc: Add SUNDIALS IDA to list of libraries with optional 64-bit indexing.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30695
diff
changeset
|
803 |
25143
13fd0610480f
doc: Use https whenever possible in @url entries.
Rik <rik@octave.org>
parents:
25138
diff
changeset
|
804 @item @sc{arpack} (@url{https://forge.scilab.org/index.php/p/arpack-ng/}) |
19298
ed1bf35dc11c
doc: Add note about compiling arpack with 64-bit integers when using --enable-64 (bug #43031).
Rik <rik@octave.org>
parents:
18285
diff
changeset
|
805 |
ed1bf35dc11c
doc: Add note about compiling arpack with 64-bit integers when using --enable-64 (bug #43031).
Rik <rik@octave.org>
parents:
18285
diff
changeset
|
806 @itemize @minus |
ed1bf35dc11c
doc: Add note about compiling arpack with 64-bit integers when using --enable-64 (bug #43031).
Rik <rik@octave.org>
parents:
18285
diff
changeset
|
807 @item Add @option{-fdefault-integer-8} to @env{FFLAGS} when running configure. |
ed1bf35dc11c
doc: Add note about compiling arpack with 64-bit integers when using --enable-64 (bug #43031).
Rik <rik@octave.org>
parents:
18285
diff
changeset
|
808 |
ed1bf35dc11c
doc: Add note about compiling arpack with 64-bit integers when using --enable-64 (bug #43031).
Rik <rik@octave.org>
parents:
18285
diff
changeset
|
809 @item Run @code{make} to build the library. |
ed1bf35dc11c
doc: Add note about compiling arpack with 64-bit integers when using --enable-64 (bug #43031).
Rik <rik@octave.org>
parents:
18285
diff
changeset
|
810 |
ed1bf35dc11c
doc: Add note about compiling arpack with 64-bit integers when using --enable-64 (bug #43031).
Rik <rik@octave.org>
parents:
18285
diff
changeset
|
811 @item Run @code{make install} to install the library. |
ed1bf35dc11c
doc: Add note about compiling arpack with 64-bit integers when using --enable-64 (bug #43031).
Rik <rik@octave.org>
parents:
18285
diff
changeset
|
812 @end itemize |
ed1bf35dc11c
doc: Add note about compiling arpack with 64-bit integers when using --enable-64 (bug #43031).
Rik <rik@octave.org>
parents:
18285
diff
changeset
|
813 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
814 @item ATLAS instead of reference @sc{blas} and @sc{lapack} |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
815 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
816 Suggestions on how to compile ATLAS would be most welcome. |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
817 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
818 @item @sc{glpk} |
18815
19a140e93b1f
doc: Periodic grammarcheck of documentation.
Rik <rik@octave.org>
parents:
18679
diff
changeset
|
819 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
820 @item Qhull (@url{http://www.qhull.org}) |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
821 |
18079
d8d0e9e189f5
* install.txi: Update 64-bit build info for suitesparse, glpk, and qhull.
John W. Eaton <jwe@octave.org>
parents:
18075
diff
changeset
|
822 Both @sc{glpk} and Qhull use @code{int} internally so maximum problem |
d8d0e9e189f5
* install.txi: Update 64-bit build info for suitesparse, glpk, and qhull.
John W. Eaton <jwe@octave.org>
parents:
18075
diff
changeset
|
823 sizes may be limited. |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
824 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
825 @item Octave |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
826 |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
827 Octave's 64-bit index support is activated with the configure option |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
828 @option{--enable-64}. |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
829 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
830 @example |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
831 @group |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
832 ./configure \ |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
833 LD_LIBRARY_PATH="$prefix64/lib" \ |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
834 CPPFLAGS="-I$prefix64/include" LDFLAGS="-L$prefix64/lib" \ |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
835 --enable-64 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
836 @end group |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
837 @end example |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
838 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
839 You must ensure that all Fortran sources except those in the |
23434
f4d4d83f15c5
maint: rename cruft/ directory to external/
Rik <rik@octave.org>
parents:
23341
diff
changeset
|
840 @file{liboctave/external/ranlib} directory are compiled such that INTEGERS are |
15275
ecdb1463bff4
Fix typo in install.txi and in documentation spellcheck dictionary
Rik <rik@octave.org>
parents:
15271
diff
changeset
|
841 8-bytes wide. If you are using gfortran, the configure script should |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19298
diff
changeset
|
842 automatically set the Makefile variable @w{@env{F77_INTEGER_8_FLAG}} to |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
843 @option{-fdefault-integer-8}. If you are using another compiler, you |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
844 must set this variable yourself. You should NOT set this flag in |
23434
f4d4d83f15c5
maint: rename cruft/ directory to external/
Rik <rik@octave.org>
parents:
23341
diff
changeset
|
845 @env{FFLAGS}, otherwise the files in @file{liboctave/external/ranlib} will be |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
846 miscompiled. |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
847 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
848 @item Other dependencies |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
849 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
850 Probably nothing special needs to be done for the following |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
851 dependencies. If you discover that something does need to be done, |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
852 please submit a bug report. |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
853 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
854 @itemize @minus |
12462
e4dbfe3019b1
Use PCRE regular expressions throughout Octave.
Rik <octave@nomad.inbox5.com>
parents:
12218
diff
changeset
|
855 @item pcre |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
856 |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
857 @item zlib |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
858 |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
859 @item hdf5 |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
860 |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
861 @item fftw3 |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
862 |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
863 @item cURL |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
864 |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
865 @item GraphicsMagick++ |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
866 |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
867 @item OpenGL |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
868 |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
869 @item freetype |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
870 |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
871 @item fontconfig |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
872 |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
873 @item fltk |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
874 @end itemize |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
875 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
876 @end itemize |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
877 |
4167 | 878 @node Installation Problems |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
879 @section Installation Problems |
3294 | 880 |
881 This section contains a list of problems (and some apparent problems | |
882 that don't really mean anything is wrong) that may show up during | |
883 installation of Octave. | |
884 | |
885 @itemize @bullet | |
886 @item | |
887 On some SCO systems, @code{info} fails to compile if | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
888 @w{@code{HAVE_TERMIOS_H}} is defined in @file{config.h}. Simply |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
889 removing the definition from @file{info/config.h} should allow it to |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
890 compile. |
3294 | 891 |
892 @item | |
893 If @code{configure} finds @code{dlopen}, @code{dlsym}, @code{dlclose}, | |
894 and @code{dlerror}, but not the header file @file{dlfcn.h}, you need to | |
895 find the source for the header file and install it in the directory | |
896 @file{usr/include}. This is reportedly a problem with Slackware 3.1. | |
897 For Linux/GNU systems, the source for @file{dlfcn.h} is in the | |
898 @code{ldso} package. | |
899 | |
900 @item | |
901 Building @file{.oct} files doesn't work. | |
902 | |
903 You should probably have a shared version of @code{libstdc++}. A patch | |
904 is needed to build shared versions of version 2.7.2 of @code{libstdc++} | |
905 on the HP-PA architecture. You can find the patch at | |
906 @url{ftp://ftp.cygnus.com/pub/g++/libg++-2.7.2-hppa-gcc-fix}. | |
907 | |
908 @item | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
909 On some DEC alpha systems there may be a problem with the @code{libdxml} |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
910 library, resulting in floating point errors and/or segmentation faults |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
911 in the linear algebra routines called by Octave. If you encounter such |
3464 | 912 problems, then you should modify the configure script so that |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9081
diff
changeset
|
913 @w{@code{SPECIAL_MATH_LIB}} is not set to @code{-ldxml}. |
3464 | 914 |
915 @item | |
3294 | 916 On FreeBSD systems Octave may hang while initializing some internal |
917 constants. The fix appears to be to use | |
918 | |
919 @example | |
920 options GPL_MATH_EMULATE | |
921 @end example | |
922 | |
923 @noindent | |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19298
diff
changeset
|
924 rather than |
3294 | 925 |
926 @example | |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19298
diff
changeset
|
927 options MATH_EMULATE |
3294 | 928 @end example |
929 | |
930 @noindent | |
931 in the kernel configuration files (typically found in the directory | |
18679
a142f35f3cb6
doc: Fix unbalanced parentheses in documentation.
Rik <rik@octave.org>
parents:
18285
diff
changeset
|
932 @file{/sys/i386/conf}). After making this change, you'll need to rebuild |
3294 | 933 the kernel, install it, and reboot. |
934 | |
935 @item | |
936 If you encounter errors like | |
937 | |
6670 | 938 @example |
3294 | 939 @group |
940 passing `void (*)()' as argument 2 of | |
941 `octave_set_signal_handler(int, void (*)(int))' | |
942 @end group | |
6670 | 943 @end example |
3294 | 944 |
945 @noindent | |
946 or | |
947 | |
6670 | 948 @example |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
949 @group |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19298
diff
changeset
|
950 warning: ANSI C++ prohibits conversion from `(int)' |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9081
diff
changeset
|
951 to `(@dots{})' |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
952 @end group |
6670 | 953 @end example |
3294 | 954 |
955 @noindent | |
956 while compiling @file{sighandlers.cc}, you may need to edit some files | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
957 in the @code{gcc} include subdirectory to add proper prototypes for |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
958 functions there. For example, Ultrix 4.2 needs proper declarations for |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
959 the @code{signal} function and the @w{@code{SIG_IGN}} macro in the file |
3294 | 960 @file{signal.h}. |
961 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
962 On some systems the @w{@code{SIG_IGN}} macro is defined to be something |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
963 like this: |
3294 | 964 |
965 @example | |
966 #define SIG_IGN (void (*)())1 | |
967 @end example | |
968 | |
969 @noindent | |
970 when it should really be something like: | |
971 | |
972 @example | |
973 #define SIG_IGN (void (*)(int))1 | |
974 @end example | |
975 | |
976 @noindent | |
977 to match the prototype declaration for the @code{signal} function. This | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
978 change should also be made for the @w{@code{SIG_DFL}} and |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
979 @w{@code{SIG_ERR}} symbols. It may be necessary to change the |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
980 definitions in @file{sys/signal.h} as well. |
3294 | 981 |
982 The @code{gcc} @code{fixincludes} and @code{fixproto} scripts should | |
983 probably fix these problems when @code{gcc} installs its modified set of | |
984 header files, but I don't think that's been done yet. | |
985 | |
986 @strong{You should not change the files in @file{/usr/include}}. You | |
987 can find the @code{gcc} include directory tree by running the command | |
988 | |
989 @example | |
990 gcc -print-libgcc-file-name | |
991 @end example | |
992 | |
993 @noindent | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
994 The directory of @code{gcc} include files normally begins in the same |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
995 directory that contains the file @file{libgcc.a}. |
3294 | 996 |
997 @item | |
998 Some of the Fortran subroutines may fail to compile with older versions | |
999 of the Sun Fortran compiler. If you get errors like | |
1000 | |
6670 | 1001 @example |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
1002 @group |
3294 | 1003 zgemm.f: |
10599
d0e0bb2ebebb
Remove tabs in .txi files causing problems with pdf formatting.
Rik <octave@nomad.inbox5.com>
parents:
9895
diff
changeset
|
1004 zgemm: |
3294 | 1005 warning: unexpected parent of complex expression subtree |
1006 zgemm.f, line 245: warning: unexpected parent of complex | |
1007 expression subtree | |
1008 warning: unexpected parent of complex expression subtree | |
1009 zgemm.f, line 304: warning: unexpected parent of complex | |
1010 expression subtree | |
1011 warning: unexpected parent of complex expression subtree | |
1012 zgemm.f, line 327: warning: unexpected parent of complex | |
1013 expression subtree | |
1014 pcc_binval: missing IR_CONV in complex op | |
1015 make[2]: *** [zgemm.o] Error 1 | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
1016 @end group |
6670 | 1017 @end example |
3294 | 1018 |
1019 @noindent | |
23434
f4d4d83f15c5
maint: rename cruft/ directory to external/
Rik <rik@octave.org>
parents:
23341
diff
changeset
|
1020 when compiling the Fortran subroutines in the @file{liboctave/external} |
3294 | 1021 subdirectory, you should either upgrade your compiler or try compiling |
1022 with optimization turned off. | |
1023 | |
1024 @item | |
1025 On NeXT systems, if you get errors like this: | |
1026 | |
1027 @example | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
1028 @group |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19298
diff
changeset
|
1029 /usr/tmp/cc007458.s:unknown:Undefined local |
7081 | 1030 symbol LBB7656 |
1031 /usr/tmp/cc007458.s:unknown:Undefined local | |
1032 symbol LBE7656 | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
1033 @end group |
3294 | 1034 @end example |
1035 | |
1036 @noindent | |
1037 when compiling @file{Array.cc} and @file{Matrix.cc}, try recompiling | |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
1038 these files without @option{-g}. |
3294 | 1039 |
1040 @item | |
14018
5d5685216876
Deprecate shell_cmd function and update system, dos, unix commands
Rik <octave@nomad.inbox5.com>
parents:
12973
diff
changeset
|
1041 Some people have reported that calls to system() and the pager do not |
25003
2365c2661b3c
doc: Spellcheck documentation ahead of 4.4 release.
Rik <rik@octave.org>
parents:
24893
diff
changeset
|
1042 work on @nospell{SunOS} systems. This is apparently due to having |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9081
diff
changeset
|
1043 @w{@code{G_HAVE_SYS_WAIT}} defined to be 0 instead of 1 when compiling |
3294 | 1044 @code{libg++}. |
1045 | |
1046 @item | |
20314
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1047 On systems where the reference @sc{blas} library is used the following |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1048 matrix-by-vector multiplication incorrectly handles NaN values of the |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1049 form @code{NaN * 0}. |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1050 |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1051 @example |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1052 @group |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1053 [NaN, 1; 0, 0] * [0; 1] |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1054 @result{} |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1055 [ 1 |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1056 0 ] |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1057 |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1058 correct result @result{} |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1059 [ NaN |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1060 0 ] |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1061 @end group |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1062 @end example |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1063 |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1064 Install a different @sc{blas} library such as OpenBLAS or ATLAS to correct |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1065 this issue. |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1066 |
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1067 @item |
3294 | 1068 On NeXT systems, linking to @file{libsys_s.a} may fail to resolve the |
1069 following functions | |
1070 | |
1071 @example | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
1072 @group |
3294 | 1073 _tcgetattr |
1074 _tcsetattr | |
1075 _tcflow | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
1076 @end group |
3294 | 1077 @end example |
1078 | |
1079 @noindent | |
1080 which are part of @file{libposix.a}. Unfortunately, linking Octave with | |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
1081 @option{-posix} results in the following undefined symbols. |
3294 | 1082 |
1083 @example | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
1084 @group |
3294 | 1085 .destructors_used |
1086 .constructors_used | |
1087 _objc_msgSend | |
1088 _NXGetDefaultValue | |
1089 _NXRegisterDefaults | |
1090 .objc_class_name_NXStringTable | |
1091 .objc_class_name_NXBundle | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
1092 @end group |
3294 | 1093 @end example |
1094 | |
1095 One kluge around this problem is to extract @file{termios.o} from | |
1096 @file{libposix.a}, put it in Octave's @file{src} directory, and add it | |
1097 to the list of files to link together in the makefile. Suggestions for | |
1098 better ways to solve this problem are welcome! | |
1099 | |
1100 @item | |
1101 If Octave crashes immediately with a floating point exception, it is | |
1102 likely that it is failing to initialize the IEEE floating point values | |
1103 for infinity and NaN. | |
1104 | |
1105 If your system actually does support IEEE arithmetic, you should be able | |
1106 to fix this problem by modifying the function @code{octave_ieee_init} in | |
1107 the file @file{lo-ieee.cc} to correctly initialize Octave's internal | |
1108 infinity and NaN variables. | |
1109 | |
1110 If your system does not support IEEE arithmetic but Octave's configure | |
1111 script incorrectly determined that it does, you can work around the | |
1112 problem by editing the file @file{config.h} to not define | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
1113 @w{@code{HAVE_ISINF}}, @w{@code{HAVE_FINITE}}, and |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
1114 @w{@code{HAVE_ISNAN}}. |
3294 | 1115 |
1116 In any case, please report this as a bug since it might be possible to | |
1117 modify Octave's configuration script to automatically determine the | |
1118 proper thing to do. | |
1119 | |
7144 | 1120 @item |
1121 If Octave is unable to find a header file because it is installed in a | |
1122 location that is not normally searched by the compiler, you can add the | |
1123 directory to the include search path by specifying (for example) | |
1124 @code{CPPFLAGS=-I/some/nonstandard/directory} as an argument to | |
1125 @code{configure}. Other variables that can be specified this way are | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
1126 @env{CFLAGS}, @env{CXXFLAGS}, @env{FFLAGS}, and @env{LDFLAGS}. Passing |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
1127 them as options to the configure script also records them in the |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
1128 @file{config.status} file. By default, @env{CPPFLAGS} and @env{LDFLAGS} |
20314
3300cb76cccd
install.txi: Add warning about incorrect behavior of reference BLAS library.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
1129 are empty, @env{CFLAGS} and @env{CXXFLAGS} are set to @qcode{"-g -O2"} and |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17170
diff
changeset
|
1130 @env{FFLAGS} is set to @qcode{"-O"}. |
7144 | 1131 |
3294 | 1132 @end itemize |