annotate doc/interpreter/install.txi @ 31706:597f3ee61a48 stable

update Octave Project Developers copyright for the new year
author John W. Eaton <jwe@octave.org>
date Fri, 06 Jan 2023 13:11:27 -0500
parents ad8a4102f910
children 2e484f9f1f18
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31706
597f3ee61a48 update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 31376
diff changeset
1 @c Copyright (C) 1996-2023 The Octave Project Developers
7018
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
2 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
3 @c This file is part of Octave.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
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
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
15 @c You should have received a copy of the GNU General Public License
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
18
7018
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
19 @c The text of this file appears in the file INSTALL in the Octave
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
20 @c distribution, as well as in the Octave manual.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
21
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
22 @ifclear INSTALLONLY
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3960
diff changeset
23 @node Installation
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
24 @appendix Installing Octave
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
25 @end ifclear
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
26
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
29
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
30 This file documents the installation of Octave.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
33 under the terms of the GNU General Public License as published by the
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
34 Free Software Foundation.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
30c0533e39ae [project @ 2007-11-09 17:37:24 by jwe]
jwe
parents: 7091
diff changeset
40
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3960
diff changeset
41 @node Installation
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
42 @chapter Installing Octave
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
43 @end ifset
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
44
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
45 @cindex installing Octave
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
31376
ad8a4102f910 doc: Spellcheck documentation for 8.1 release.
Rik <rik@octave.org>
parents: 30697
diff changeset
320 A fast JSON parser/generator for C++ with both @nospell{SAX/DOM} style API
30693
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
345
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
346 @itemize @bullet
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
347 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
348 Run the shell script @file{configure}. This will determine the features
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
349 your system has (or doesn't have) and create a file named
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
350 @file{Makefile} from each of the files named @file{Makefile.in}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
353 Here is a summary of the configure options that are most frequently used
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
354 when building Octave:
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
355
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
360 @item --prefix=@var{prefix}
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
361 Install Octave in subdirectories below @var{prefix}. The default value
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
362 of @var{prefix} is @file{/usr/local}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
363
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
364 @item --srcdir=@var{dir}
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
365 Look for Octave sources in the directory @var{dir}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
418
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
419 @item --enable-shared
7091
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
420 Create shared libraries (this is the default). If you are planning to
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
421 use the dynamic loading features, you will probably want to use this
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
422 option. It will make your @file{.oct} files much smaller and on some
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
423 systems it may be necessary to build shared libraries in order to use
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
424 dynamically linked functions.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
425
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
426 You may also want to build a shared version of @code{libstdc++}, if your
7081
503001863427 [project @ 2007-10-31 01:08:14 by jwe]
jwe
parents: 7018
diff changeset
427 system doesn't already have one.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
462
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
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
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
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
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
468
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
472
7091
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
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
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
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
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
484
7091
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
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
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
487
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
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
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
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
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
507 Don't use the zlib library, disable data file compression and support
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
508 for recent MAT file formats.
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
523 @end table
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
529
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
530 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
531 Run make.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
548
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
549 If you plan to modify the parser you will also need GNU @code{bison} and
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
558 @url{ftp://ftp.gnu.org/pub/gnu/GNUinfo/FTP}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
564
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
565 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
566 make CFLAGS=-O CXXFLAGS=-O LDFLAGS=
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
567 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
568
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
571
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
579 @end ifclear
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
582 @end ifset
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
583 for information about how to report bugs.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
584
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
589 in the destination directory. As distributed, Octave is installed in
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
590 the following directories. In the table below, @var{prefix} defaults to
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
591 @file{/usr/local}, @var{version} stands for the current version number
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
592 of the interpreter, and @var{arch} is the type of computer on which
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
593 Octave is installed (for example, @samp{i586-unknown-gnu}).
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
594
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
595 @table @file
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
596 @item @var{prefix}/bin
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
597 Octave and other binaries that people will want to run directly.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
605 @item @var{prefix}/share
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
606 Architecture-independent data files.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
609 Unix-style man pages describing Octave.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
612 Info files describing Octave.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
613
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
614 @item @var{prefix}/share/octave/@var{version}/m
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
615 Function files distributed with Octave. This includes the Octave
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
616 version, so that multiple versions of Octave may be installed at the
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
617 same time.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
620 Executables to be run by Octave rather than the user.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
621
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
622 @item @var{prefix}/lib/octave/@var{version}/oct/@var{arch}
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
623 Object files that will be dynamically loaded.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
624
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
625 @item @var{prefix}/share/octave/@var{version}/imagelib
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
626 Image files that are distributed with Octave.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
627 @end table
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
628 @end itemize
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
31376
ad8a4102f910 doc: Spellcheck documentation for 8.1 release.
Rik <rik@octave.org>
parents: 30697
diff changeset
652 @item @sc{sundials @nospell{ida}}
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
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
31376
ad8a4102f910 doc: Spellcheck documentation for 8.1 release.
Rik <rik@octave.org>
parents: 30697
diff changeset
798 @item @sc{sundials @nospell{ida}}
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
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
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3960
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
880
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
881 This section contains a list of problems (and some apparent problems
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
882 that don't really mean anything is wrong) that may show up during
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
883 installation of Octave.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
884
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
885 @itemize @bullet
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
886 @item
31376
ad8a4102f910 doc: Spellcheck documentation for 8.1 release.
Rik <rik@octave.org>
parents: 30697
diff changeset
887 On some @nospell{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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
891
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
892 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
893 If @code{configure} finds @code{dlopen}, @code{dlsym}, @code{dlclose},
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
894 and @code{dlerror}, but not the header file @file{dlfcn.h}, you need to
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
895 find the source for the header file and install it in the directory
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
896 @file{usr/include}. This is reportedly a problem with Slackware 3.1.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
897 For Linux/GNU systems, the source for @file{dlfcn.h} is in the
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
898 @code{ldso} package.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
899
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
900 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
901 Building @file{.oct} files doesn't work.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
902
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
903 You should probably have a shared version of @code{libstdc++}. A patch
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
904 is needed to build shared versions of version 2.7.2 of @code{libstdc++}
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
905 on the HP-PA architecture. You can find the patch at
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
906 @url{ftp://ftp.cygnus.com/pub/g++/libg++-2.7.2-hppa-gcc-fix}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
907
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
ab5ae0aca0f1 [project @ 2000-01-20 09:48:41 by jwe]
jwe
parents: 3294
diff changeset
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
ab5ae0aca0f1 [project @ 2000-01-20 09:48:41 by jwe]
jwe
parents: 3294
diff changeset
914
ab5ae0aca0f1 [project @ 2000-01-20 09:48:41 by jwe]
jwe
parents: 3294
diff changeset
915 @item
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
916 On FreeBSD systems Octave may hang while initializing some internal
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
917 constants. The fix appears to be to use
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
918
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
919 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
920 options GPL_MATH_EMULATE
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
921 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
922
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
925
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
928 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
929
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
930 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
933 the kernel, install it, and reboot.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
934
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
935 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
936 If you encounter errors like
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
937
6670
14992092ab06 [project @ 2007-05-29 17:51:37 by jwe]
jwe
parents: 5196
diff changeset
938 @example
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
939 @group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
940 passing `void (*)()' as argument 2 of
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
941 `octave_set_signal_handler(int, void (*)(int))'
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
942 @end group
6670
14992092ab06 [project @ 2007-05-29 17:51:37 by jwe]
jwe
parents: 5196
diff changeset
943 @end example
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
944
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
945 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
946 or
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
947
6670
14992092ab06 [project @ 2007-05-29 17:51:37 by jwe]
jwe
parents: 5196
diff changeset
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
14992092ab06 [project @ 2007-05-29 17:51:37 by jwe]
jwe
parents: 5196
diff changeset
953 @end example
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
954
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
955 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
31376
ad8a4102f910 doc: Spellcheck documentation for 8.1 release.
Rik <rik@octave.org>
parents: 30697
diff changeset
958 functions there. For example, @nospell{Ultrix} 4.2 needs proper declarations
ad8a4102f910 doc: Spellcheck documentation for 8.1 release.
Rik <rik@octave.org>
parents: 30697
diff changeset
959 for the @code{signal} function and the @w{@code{SIG_IGN}} macro in the file
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
960 @file{signal.h}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
964
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
965 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
966 #define SIG_IGN (void (*)())1
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
967 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
968
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
969 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
970 when it should really be something like:
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
971
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
972 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
973 #define SIG_IGN (void (*)(int))1
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
974 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
975
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
976 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
981
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
982 The @code{gcc} @code{fixincludes} and @code{fixproto} scripts should
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
983 probably fix these problems when @code{gcc} installs its modified set of
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
984 header files, but I don't think that's been done yet.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
985
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
986 @strong{You should not change the files in @file{/usr/include}}. You
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
987 can find the @code{gcc} include directory tree by running the command
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
988
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
989 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
990 gcc -print-libgcc-file-name
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
991 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
992
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
996
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
997 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
998 Some of the Fortran subroutines may fail to compile with older versions
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
999 of the Sun Fortran compiler. If you get errors like
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1000
6670
14992092ab06 [project @ 2007-05-29 17:51:37 by jwe]
jwe
parents: 5196
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1005 warning: unexpected parent of complex expression subtree
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1006 zgemm.f, line 245: warning: unexpected parent of complex
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1007 expression subtree
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1008 warning: unexpected parent of complex expression subtree
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1009 zgemm.f, line 304: warning: unexpected parent of complex
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1010 expression subtree
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1011 warning: unexpected parent of complex expression subtree
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1012 zgemm.f, line 327: warning: unexpected parent of complex
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1013 expression subtree
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1014 pcc_binval: missing IR_CONV in complex op
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
14992092ab06 [project @ 2007-05-29 17:51:37 by jwe]
jwe
parents: 5196
diff changeset
1017 @end example
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1018
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1021 subdirectory, you should either upgrade your compiler or try compiling
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1022 with optimization turned off.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1023
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1024 @item
31376
ad8a4102f910 doc: Spellcheck documentation for 8.1 release.
Rik <rik@octave.org>
parents: 30697
diff changeset
1025 On @nospell{NeXT} systems, if you get errors like this:
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1026
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
503001863427 [project @ 2007-10-31 01:08:14 by jwe]
jwe
parents: 7018
diff changeset
1030 symbol LBB7656
503001863427 [project @ 2007-10-31 01:08:14 by jwe]
jwe
parents: 7018
diff changeset
1031 /usr/tmp/cc007458.s:unknown:Undefined local
503001863427 [project @ 2007-10-31 01:08:14 by jwe]
jwe
parents: 7018
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1034 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1035
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1036 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1039
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1044 @code{libg++}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1045
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
31376
ad8a4102f910 doc: Spellcheck documentation for 8.1 release.
Rik <rik@octave.org>
parents: 30697
diff changeset
1068 On @nospell{NeXT} systems, linking to @file{libsys_s.a} may fail to resolve the
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1069 following functions
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1070
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1073 _tcgetattr
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1074 _tcsetattr
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1077 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1078
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1079 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1082
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1085 .destructors_used
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1086 .constructors_used
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1087 _objc_msgSend
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1088 _NXGetDefaultValue
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1089 _NXRegisterDefaults
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1090 .objc_class_name_NXStringTable
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1093 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1094
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1095 One kluge around this problem is to extract @file{termios.o} from
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1096 @file{libposix.a}, put it in Octave's @file{src} directory, and add it
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1097 to the list of files to link together in the makefile. Suggestions for
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1098 better ways to solve this problem are welcome!
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1099
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1100 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1101 If Octave crashes immediately with a floating point exception, it is
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1102 likely that it is failing to initialize the IEEE floating point values
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1103 for infinity and NaN.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1104
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1105 If your system actually does support IEEE arithmetic, you should be able
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1106 to fix this problem by modifying the function @code{octave_ieee_init} in
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1107 the file @file{lo-ieee.cc} to correctly initialize Octave's internal
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1108 infinity and NaN variables.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1109
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1110 If your system does not support IEEE arithmetic but Octave's configure
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1111 script incorrectly determined that it does, you can work around the
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1115
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1116 In any case, please report this as a bug since it might be possible to
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1117 modify Octave's configuration script to automatically determine the
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1118 proper thing to do.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1119
7144
30c0533e39ae [project @ 2007-11-09 17:37:24 by jwe]
jwe
parents: 7091
diff changeset
1120 @item
30c0533e39ae [project @ 2007-11-09 17:37:24 by jwe]
jwe
parents: 7091
diff changeset
1121 If Octave is unable to find a header file because it is installed in a
30c0533e39ae [project @ 2007-11-09 17:37:24 by jwe]
jwe
parents: 7091
diff changeset
1122 location that is not normally searched by the compiler, you can add the
30c0533e39ae [project @ 2007-11-09 17:37:24 by jwe]
jwe
parents: 7091
diff changeset
1123 directory to the include search path by specifying (for example)
30c0533e39ae [project @ 2007-11-09 17:37:24 by jwe]
jwe
parents: 7091
diff changeset
1124 @code{CPPFLAGS=-I/some/nonstandard/directory} as an argument to
30c0533e39ae [project @ 2007-11-09 17:37:24 by jwe]
jwe
parents: 7091
diff changeset
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
30c0533e39ae [project @ 2007-11-09 17:37:24 by jwe]
jwe
parents: 7091
diff changeset
1131
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
1132 @end itemize