Mercurial > hg > octave-nkf
annotate doc/interpreter/install.txi @ 14856:c3fd61c59e9c
maint: Use Octave coding conventions for cuddling parentheses in doc directory
* OctaveFAQ.texi, basics.txi, container.txi, contrib.txi, diagperm.txi,
diffeq.txi, dynamic.txi, errors.txi, eval.txi, expr.txi, func.txi,
geometry.txi, interp.txi, intro.txi, numbers.txi, oop.txi, plot.txi, poly.txi,
quad.txi, set.txi, sparse.txi, stmt.txi, testfun.txi, vectorize.txi,
refcard.tex: Use Octave coding conventions for cuddling parentheses.
author | Rik <octave@nomad.inbox5.com> |
---|---|
date | Mon, 09 Jul 2012 17:00:46 -0700 |
parents | 72b8b39e12be |
children | d7124baf5f86 11c05ff73c83 |
rev | line source |
---|---|
14138
72c96de7a403
maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents:
14038
diff
changeset
|
1 @c Copyright (C) 1996-2012 John W. Eaton |
7018 | 2 @c |
3 @c This file is part of Octave. | |
4 @c | |
5 @c Octave is free software; you can redistribute it and/or modify it | |
6 @c under the terms of the GNU General Public License as published by the | |
7 @c Free Software Foundation; either version 3 of the License, or (at | |
8 @c your option) any later version. | |
9 @c | |
10 @c Octave is distributed in the hope that it will be useful, but WITHOUT | |
11 @c ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
12 @c FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
13 @c for more details. | |
14 @c | |
15 @c You should have received a copy of the GNU General Public License | |
16 @c along with Octave; see the file COPYING. If not, see | |
17 @c <http://www.gnu.org/licenses/>. | |
3294 | 18 |
7018 | 19 @c The text of this file appears in the file INSTALL in the Octave |
20 @c distribution, as well as in the Octave manual. | |
3294 | 21 |
22 @ifclear INSTALLONLY | |
4167 | 23 @node Installation |
3294 | 24 @appendix Installing Octave |
25 @end ifclear | |
26 | |
27 @ifset INSTALLONLY | |
28 | |
29 This file documents the installation of Octave. | |
30 | |
31 Octave is free software; you can redistribute it and/or modify it | |
32 under the terms of the GNU General Public License as published by the | |
33 Free Software Foundation. | |
34 | |
12973
b80b18f537ca
doc: Correct various Texinfo warnings about incorrect use of macros.
Rik <octave@nomad.inbox5.com>
parents:
12702
diff
changeset
|
35 @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
|
36 @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
|
37 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
|
38 derived file. |
7144 | 39 |
4167 | 40 @node Installation |
3294 | 41 @chapter Installing Octave |
42 @end ifset | |
43 | |
44 @cindex installing Octave | |
45 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
46 The procedure for installing Octave from source on a Unix-like system is |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
47 described below. Building on other platforms will follow similar |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
48 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
|
49 the development sources from the Mercurial archive requires additional |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
50 steps as described in @ref{Building the Development Sources}. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
51 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
52 @menu |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
53 * Build Dependencies:: |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
54 * Running Configure and Make:: |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
55 * Compiling Octave with 64-bit Indexing:: |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
56 * Installation Problems:: |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
57 @end menu |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
58 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
59 @node Build Dependencies |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
60 @section Build Dependencies |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
61 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
62 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
|
63 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
|
64 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
|
65 yourself. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
66 |
14187
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
67 @menu |
14531
8985cbbd2fe4
doc: Periodic spellcheck of documentation
Rik <octave@nomad.inbox5.com>
parents:
14480
diff
changeset
|
68 * 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
|
69 * Build Tools:: |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
70 * External Packages:: |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
71 @end menu |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
72 |
14531
8985cbbd2fe4
doc: Periodic spellcheck of documentation
Rik <octave@nomad.inbox5.com>
parents:
14480
diff
changeset
|
73 @node Obtaining the Dependencies Automatically |
8985cbbd2fe4
doc: Periodic spellcheck of documentation
Rik <octave@nomad.inbox5.com>
parents:
14480
diff
changeset
|
74 @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
|
75 |
14480
3d628878e109
doc: Reword the manual section on getting build dependencies
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14187
diff
changeset
|
76 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
|
77 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
|
78 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
|
79 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
|
80 Packages}. |
14187
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
81 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
82 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
|
83 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
|
84 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
|
85 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
|
86 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
87 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
|
88 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
|
89 similar to |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
90 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
91 @example |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
92 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
|
93 @end example |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
94 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
95 @noindent |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
96 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
|
97 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
|
98 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
|
99 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
|
100 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
101 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
|
102 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
|
103 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
104 @example |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
105 yum-builddep octave |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
106 @end example |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
107 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
108 @noindent |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
109 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
|
110 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
111 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
|
112 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
|
113 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
|
114 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
|
115 available. |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
116 |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
117 @node Build Tools |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
118 @subsection Build Tools |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
119 |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
120 The following tools are required: |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
121 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
122 @table @asis |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
123 @item C++, C, and Fortran compilers |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
124 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
|
125 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
|
126 portable. Recent versions of the GNU compiler collection (GCC) should |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
127 work (@url{http://gcc.gnu.org}). If you use GCC, you should avoid |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
128 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
|
129 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
|
130 and @code{g++}. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
131 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
132 @item GNU Make |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
133 Tool for building software (@url{http://www.gnu.org/software/make}). |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
134 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
|
135 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
|
136 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
137 @item AWK, sed, and other Unix utilities |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
138 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
|
139 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
|
140 Cygwin or MinGW and MSYS. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
141 @end table |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
142 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
143 Additionally, the following tools may be needed: |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
144 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
145 @table @asis |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
146 @item Bison |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
147 Parser generator (@url{http://www.gnu.org/software/bison}). |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
148 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
|
149 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
|
150 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
151 @item Flex |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
152 Lexer analyzer (@url{http://www.gnu.org/software/flex}). You will need |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
153 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
|
154 files that are generated from it. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
155 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
156 @item Autoconf |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
157 Package for software configuration |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
158 (@url{http://www.gnu.org/software/autoconf}). Autoconf is required if |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
159 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
|
160 requires. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
161 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
162 @item Automake |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
163 Package for Makefile generation |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
164 (@url{http://www.gnu.org/software/automake}). Automake is required if |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
165 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
|
166 depend on. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
167 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
168 @item Libtool |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
169 Package for building software libraries |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
170 (@url{http://www.gnu.org/software/libtool}). Libtool is required by |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
171 Automake. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
172 @end table |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
173 |
14187
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
174 @node External Packages |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
175 @subsection External Packages |
53a9c916ba2f
doc: include tips for installing build dependencies on specific systems
John W. Eaton <jwe@octave.org>
parents:
14171
diff
changeset
|
176 |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
177 The following external packages are required: |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
178 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
179 @table @asis |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
180 @item BLAS |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
181 Basic Linear Algebra Subroutine library |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
182 (@url{http://www.netlib.org/blas}). Accelerated BLAS libraries such as |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
183 ATLAS (@url{http://math-atlas.sourceforge.net}) are recommeded for |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
184 better performance. |
14853
72b8b39e12be
doc: Periodic grammarcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents:
14622
diff
changeset
|
185 |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
186 @item LAPACK |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
187 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
|
188 |
14171
2ced2f59f523
doc: miscellaneous documentation improvements
Rik <octave@nomad.inbox5.com>
parents:
14150
diff
changeset
|
189 @item PCRE |
2ced2f59f523
doc: miscellaneous documentation improvements
Rik <octave@nomad.inbox5.com>
parents:
14150
diff
changeset
|
190 The Perl Compatible Regular Expression library (http://www.pcre.org). |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
191 @end table |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
192 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
193 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
|
194 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
195 @table @asis |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
196 @item GNU Readline |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
197 Command-line editing library (@url{www.gnu.org/s/readline}). |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
198 @end table |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
199 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
200 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
|
201 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
|
202 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
203 The following external software packages are optional but recommended: |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
204 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
205 @table @asis |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
206 @item ARPACK |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
207 Library for the solution of large-scale eigenvalue problems |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
208 (@url{http://forge.scilab.org/index.php/p/arpack-ng}). ARPACK is |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
209 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
|
210 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
211 @item cURL |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
212 Library for transferring data with URL syntax |
14171
2ced2f59f523
doc: miscellaneous documentation improvements
Rik <octave@nomad.inbox5.com>
parents:
14150
diff
changeset
|
213 (@url{http://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
|
214 @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
|
215 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
216 @item FFTW3 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
217 Library for computing discrete Fourier transforms |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
218 (@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
|
219 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
|
220 (@code{fft}, @code{ifft}, @code{fft2}, etc.) |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
221 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
222 @item FLTK |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
223 Portable GUI toolkit (@url{http://www.fltk.org}). FLTK is currently |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
224 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
|
225 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
226 @item fontconfig |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
227 Library for configuring and customizing font access |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
228 (@url{http://www.freedesktop.org/wiki/Software/fontconfig}). Fontconfig |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
229 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
|
230 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
231 @item FreeType |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
232 Portable font engine (@url{http://www.freetype.org}). FreeType is used |
14171
2ced2f59f523
doc: miscellaneous documentation improvements
Rik <octave@nomad.inbox5.com>
parents:
14150
diff
changeset
|
233 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
|
234 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
235 @item GLPK |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
236 GNU Linear Programming Kit (@url{http://www.gnu.org/software/glpk}). |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
237 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
|
238 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
239 @item gnuplot |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
240 Interactive graphics program (@url{http://www.gnuplot.info}). gnuplot |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
241 is currently the default graphics renderer for Octave. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
242 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
243 @item GraphicsMagick++ |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
244 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
|
245 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
|
246 functions. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
247 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
248 @item HDF5 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
249 Library for manipulating portable data files |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
250 (@url{http://www.hdfgroup.org/HDF5}). HDF5 is required for Octave's |
14171
2ced2f59f523
doc: miscellaneous documentation improvements
Rik <octave@nomad.inbox5.com>
parents:
14150
diff
changeset
|
251 @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
|
252 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
253 @item OpenGL |
14853
72b8b39e12be
doc: Periodic grammarcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents:
14622
diff
changeset
|
254 API for portable 2-D and 3-D graphics (@url{http://www.opengl.org}). An |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
255 OpenGL implementation is required to provide Octave's OpenGL-based |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
256 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
|
257 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
|
258 rendered directly instead of sending data and commands to gnuplot for |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
259 interpretation and rendering. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
260 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
261 @item Qhull |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
262 Computational geometry library (@url{http://www.qhull.org}). Qhull is |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
263 required to provide the functions @code{convhull}, @code{convhulln}, |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
264 @code{delaunay}, @code{delaunay3}, @code{delaunayn}, @code{voronoi}, and |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
265 @code{voronoin}. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
266 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
267 @item QRUPDATE |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
268 QR factorization updating library |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
269 (@url{http://sourceforge.net/projects/qrupdate}). QRUPDATE is used to |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
270 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
|
271 @code{qrinsert}, @code{qrshift}, and @code{qrupdate}. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
272 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
273 @item SuiteSparse |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
274 Sparse matrix factorization library |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
275 (@url{http://www.cise.ufl.edu/research/sparse/SuiteSparse}). |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
276 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
|
277 solution of linear equations for sparse systems. |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
278 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
279 @item zlib |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
280 Data compression library (@url{http://zlib.net}). The zlib library is |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
281 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
|
282 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
|
283 @end table |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
284 |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
285 @node Running Configure and Make |
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
286 @section Running Configure and Make |
3294 | 287 |
288 @itemize @bullet | |
289 @item | |
290 Run the shell script @file{configure}. This will determine the features | |
291 your system has (or doesn't have) and create a file named | |
292 @file{Makefile} from each of the files named @file{Makefile.in}. | |
293 | |
294 Here is a summary of the configure options that are most frequently used | |
295 when building Octave: | |
296 | |
297 @table @code | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
298 @item --help |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
299 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
|
300 |
3294 | 301 @item --prefix=@var{prefix} |
302 Install Octave in subdirectories below @var{prefix}. The default value | |
303 of @var{prefix} is @file{/usr/local}. | |
304 | |
305 @item --srcdir=@var{dir} | |
306 Look for Octave sources in the directory @var{dir}. | |
307 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
308 @item --enable-64 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
309 This is an @strong{experimental} option to enable Octave to use 64-bit |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
310 integers for array dimensions and indexing on 64-bit platforms. You |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
311 probably don't want to use this option unless you know what you are |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
312 doing. @xref{Compiling Octave with 64-bit Indexing}, for more details |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
313 about building Octave with this option. |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
314 |
7091 | 315 @item --enable-bounds-check |
316 Enable bounds checking for indexing operators in the internal array | |
317 classes. This option is primarily used for debugging Octave. Building | |
8325
b93ac0586e4b
spelling corrections
Brian Gough<bjg@network-theory.co.uk>
parents:
7144
diff
changeset
|
318 Octave with this option has a negative impact on performance and is not |
7091 | 319 recommended for general use. |
3294 | 320 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
321 @item --disable-docs |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
322 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
|
323 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
|
324 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
|
325 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
326 @item --enable-float-truncate |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
327 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
|
328 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
|
329 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
330 @item --enable-readline |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
331 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
|
332 terminal environments. This option is on by default. |
3294 | 333 |
334 @item --enable-shared | |
7091 | 335 Create shared libraries (this is the default). If you are planning to |
336 use the dynamic loading features, you will probably want to use this | |
337 option. It will make your @file{.oct} files much smaller and on some | |
338 systems it may be necessary to build shared libraries in order to use | |
339 dynamically linked functions. | |
3294 | 340 |
341 You may also want to build a shared version of @code{libstdc++}, if your | |
7081 | 342 system doesn't already have one. |
3294 | 343 |
344 @item --enable-dl | |
345 Use @code{dlopen} and friends to make Octave capable of dynamically | |
7091 | 346 linking externally compiled functions (this is the default if |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
347 @option{--enable-shared} is specified). This option only works on |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
348 systems that actually have these functions. If you plan on using this |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
349 feature, you should probably also use @option{--enable-shared} to reduce |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
350 the size of your @file{.oct} files. |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
351 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
352 @item --with-blas=<lib> |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
353 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
|
354 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
|
355 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
|
356 @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
|
357 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
|
358 that Octave should use. |
3294 | 359 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
360 @item --with-lapack=<lib> |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
361 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
|
362 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
|
363 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
|
364 @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
|
365 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
|
366 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
|
367 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
368 @item --with-magick=<lib> |
12575
d0b799dafede
Grammarcheck files for 3.4.1 release.
Rik <octave@nomad.inbox5.com>
parents:
12462
diff
changeset
|
369 Select the library to use for image I/O@. The two possible values are |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
370 "GraphicsMagick" (default) or "ImageMagick". |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
371 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
372 @item --with-sepchar=<char> |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
373 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
|
374 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
|
375 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
376 @item --without-amd |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
377 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
|
378 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
379 @item --without-camd |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
380 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
|
381 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
382 @item --without-colamd |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
383 Don't use @sc{colamd}, disable some sparse matrix functionality. |
7091 | 384 |
385 @item --without-ccolamd | |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
386 Don't use @sc{ccolamd}, disable some sparse matrix functionality. |
7091 | 387 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
388 @item --without-cholmod |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
389 Don't use @sc{cholmod}, disable some sparse matrix functionality. |
7091 | 390 |
391 @item --without-curl | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
392 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
|
393 @code{urlwrite} functions. |
3294 | 394 |
7091 | 395 @item --without-cxsparse |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
396 Don't use @sc{cxsparse}, disable some sparse matrix functionality. |
7091 | 397 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
398 @item --without-fftw3 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
399 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
|
400 Transforms instead of the @sc{fftw3} library. |
7091 | 401 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
402 @item --without-fftw3f |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
403 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
|
404 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
|
405 precision (float) values. |
3294 | 406 |
7091 | 407 @item --without-glpk |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
408 Don't use the @sc{glpk} library for linear programming. |
7091 | 409 |
410 @item --without-hdf5 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
411 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
|
412 @sc{hdf5} files. |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
413 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
414 @item --without-opengl |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
415 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
|
416 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
|
417 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
418 @item --without-qhull |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
419 Don't use Qhull, disable @code{delaunay}, @code{convhull}, and |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
420 related functions. |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
421 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
422 @item --without-qrupdate |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
423 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
|
424 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
425 @item --without-umfpack |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
426 Don't use @sc{umfpack}, disable some sparse matrix functionality. |
7091 | 427 |
428 @item --without-zlib | |
429 Don't use the zlib library, disable data file compression and support | |
430 for recent MAT file formats. | |
431 | |
8791
d943e26d30e2
Add documentation for configure options "--without-framework-carbon" and "--without-framework-opengl".
Thomas Treichl <Thomas.Treichl@gmx.net>
parents:
8481
diff
changeset
|
432 @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
|
433 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
|
434 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
|
435 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
|
436 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
|
437 |
d943e26d30e2
Add documentation for configure options "--without-framework-carbon" and "--without-framework-opengl".
Thomas Treichl <Thomas.Treichl@gmx.net>
parents:
8481
diff
changeset
|
438 @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
|
439 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
|
440 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
|
441 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
|
442 (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
|
443 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
|
444 |
3294 | 445 @end table |
446 | |
9031
1052a66078cf
Documentation cleanup of top-level Octave directory (READMEs, INSTALL)
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
447 See the file @file{INSTALL} for more general information about the |
1052a66078cf
Documentation cleanup of top-level Octave directory (READMEs, INSTALL)
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
448 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
|
449 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
|
450 the source is located. |
3294 | 451 |
452 @item | |
453 Run make. | |
454 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
455 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
|
456 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
|
457 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
|
458 worth your time; instead, we simply recommend installing GNU Make. |
3294 | 459 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
460 There are currently two options for plotting in Octave: (1) the external |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
461 program gnuplot, or (2) the internal graphics engine using OpenGL and |
12575
d0b799dafede
Grammarcheck files for 3.4.1 release.
Rik <octave@nomad.inbox5.com>
parents:
12462
diff
changeset
|
462 FLTK@. Gnuplot is a command-driven interactive function plotting |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
463 program. Gnuplot is copyrighted, but freely distributable. As of |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
464 Octave release 3.4, gnuplot is the default option for plotting. But, |
12702
013cd94d8d7f
doc: Spelling fixes for various documentation files
John Bradshaw <john@johnbradshaw.org>
parents:
12575
diff
changeset
|
465 the internal graphics engine is nearly 100% compatible, certainly for |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
466 most ordinary plots, and users are encouraged to test it. It is |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
467 anticipated that the internal engine will become the default option at |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
468 the next major release of Octave. |
3294 | 469 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
470 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
|
471 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
|
472 @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
|
473 @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
|
474 @code{f2c} with your C compiler in a single script. |
3294 | 475 |
476 If you plan to modify the parser you will also need GNU @code{bison} and | |
477 @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
|
478 Texinfo. |
3294 | 479 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
480 GNU Make, @code{gcc} (and @code{libstdc++}), @code{gnuplot}, |
3294 | 481 @code{bison}, @code{flex}, and Texinfo are all available from many |
482 anonymous ftp archives. The primary site is @url{ftp.gnu.org}, but it | |
483 is often very busy. A list of sites that mirror the software on | |
484 @url{ftp.gnu.org} is available by anonymous ftp from | |
485 @url{ftp://ftp.gnu.org/pub/gnu/GNUinfo/FTP}. | |
486 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
487 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
|
488 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
|
489 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
|
490 command |
3294 | 491 |
492 @example | |
493 make CFLAGS=-O CXXFLAGS=-O LDFLAGS= | |
494 @end example | |
495 | |
496 @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
|
497 instead of just @command{make}. |
3294 | 498 |
499 @item | |
500 If you encounter errors while compiling Octave, first check the list of | |
501 known problems below to see if there is a workaround or solution for | |
502 your problem. If not, | |
503 @ifclear INSTALLONLY | |
504 see @ref{Trouble}, | |
505 @end ifclear | |
506 @ifset INSTALLONLY | |
507 see the file BUGS | |
508 @end ifset | |
509 for information about how to report bugs. | |
510 | |
511 @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
|
512 Once you have successfully compiled Octave, run @code{make install}. |
3294 | 513 |
8481
00df69d7e698
[docs] capitalize Octave consistently
Brian Gough <bjg@gnu.org>
parents:
8325
diff
changeset
|
514 This will install a copy of Octave, its libraries, and its documentation |
3294 | 515 in the destination directory. As distributed, Octave is installed in |
516 the following directories. In the table below, @var{prefix} defaults to | |
517 @file{/usr/local}, @var{version} stands for the current version number | |
518 of the interpreter, and @var{arch} is the type of computer on which | |
519 Octave is installed (for example, @samp{i586-unknown-gnu}). | |
520 | |
521 @table @file | |
522 @item @var{prefix}/bin | |
523 Octave and other binaries that people will want to run directly. | |
524 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
525 @item @var{prefix}/lib/octave-@var{version} |
3294 | 526 Libraries like libcruft.a and liboctave.a. |
527 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
528 @item @var{prefix}/octave-@var{version}/include/octave |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
529 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
|
530 |
3294 | 531 @item @var{prefix}/share |
532 Architecture-independent data files. | |
533 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
534 @item @var{prefix}/share/man/man1 |
3294 | 535 Unix-style man pages describing Octave. |
536 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
537 @item @var{prefix}/share/info |
3294 | 538 Info files describing Octave. |
539 | |
540 @item @var{prefix}/share/octave/@var{version}/m | |
541 Function files distributed with Octave. This includes the Octave | |
542 version, so that multiple versions of Octave may be installed at the | |
543 same time. | |
544 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
545 @item @var{prefix}/libexec/octave/@var{version}/exec/@var{arch} |
3294 | 546 Executables to be run by Octave rather than the user. |
547 | |
548 @item @var{prefix}/lib/octave/@var{version}/oct/@var{arch} | |
549 Object files that will be dynamically loaded. | |
550 | |
551 @item @var{prefix}/share/octave/@var{version}/imagelib | |
552 Image files that are distributed with Octave. | |
553 @end table | |
554 @end itemize | |
555 | |
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
|
556 @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
|
557 @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
|
558 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
559 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
|
560 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
|
561 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
|
562 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
563 On 64-bit systems, Octave is limited to (approximately) 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
|
564 array sizes when using the default 32-bit indexing mode: |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
565 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
566 @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
|
567 @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
|
568 double: 16GB |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
569 single: 8GB |
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 uint64, int64: 16GB |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
571 uint32, int32: 8GB |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
572 uint16, int16: 4GB |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
573 uint8, int8: 2GB |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
574 @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
|
575 @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
|
576 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
577 In each case, the limit is really (approximately) @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
|
578 because of the default type of the value used for indexing arrays |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
579 (signed 32-bit integer, corresponding to the size of a Fortran INTEGER |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
580 value). |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
581 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
582 Trying to create larger arrays will produce the following error: |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
583 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
584 @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
|
585 @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
|
586 octave:1> a = zeros (1024*1024*1024*3, 1, 'int8'); |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
587 error: memory exhausted or requested size too large |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
588 for range of Octave's index type -- |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
589 trying to return to prompt |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
590 @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
|
591 @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
|
592 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
593 @noindent |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
594 You will obtain this error even if your system has enough memory to |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
595 create this array (4 GB in the above case). |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
596 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
597 To use arrays larger than 2 GB, Octave has to be configured with the |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
598 option @option{--enable-64}. This option is experimental and you are |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
599 encouraged to submit bug reports if you find a problem. With this |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
600 option, Octave will use 64-bit integers internally for array dimensions |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
601 and indexing. However, all numerical libraries used by Octave will |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
602 @strong{also} need to use 64-bit integers for array dimensions and |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
603 indexing. In most cases, this means they will need to be compiled from |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
604 source since most (all?) distributions which package these libraries |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
605 compile them with the default Fortran integer size, which is normally |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
606 32-bits wide. |
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
|
607 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
608 The following instructions were tested with the development version 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
|
609 Octave and GCC 4.3.4 on an x86_64 Debian system. |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
610 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
611 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
|
612 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
|
613 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
|
614 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
615 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
|
616 @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
|
617 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
618 @itemize @bullet |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
619 @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
|
620 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
621 Reference versions for both libraries are included in the reference |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
622 @sc{lapack} 3.2.1 distribution from @url{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
|
623 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
624 @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
|
625 @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
|
626 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
|
627 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
|
628 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
|
629 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
630 @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
|
631 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
|
632 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
|
633 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
|
634 @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
|
635 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
636 @item QRUPDATE (@url{http://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
|
637 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
638 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
|
639 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
640 @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
|
641 @item |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
642 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
|
643 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
644 @item |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
645 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
|
646 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
|
647 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
|
648 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
649 @item |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
650 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
|
651 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
652 @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
|
653 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
|
654 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
655 @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
|
656 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
|
657 @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
|
658 |
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 @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
|
660 SuiteSparse (@url{http://www.cise.ufl.edu/research/sparse/SuiteSparse}) |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
661 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
662 @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
|
663 @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
|
664 In @file{UFconfig/UFconfig.mk} use the following options for |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
665 @env{CFLAGS} and @env{F77FLAGS}: |
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
|
666 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
667 @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
|
668 @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
|
669 CC = gcc |
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 CFLAGS = -fPIC -O -DLP64 -DLONGBLAS='long int' -DLONG='long int' |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
671 F77 = gfortran |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
672 F77FLAGS = -fPIC -O -fdefault-integer-8 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
673 BLAS = -L$BLAS/lib -lblas -lgfortran" |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
674 LAPACK = -L$LAPACK/lib -llapack" |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
675 @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
|
676 @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
|
677 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
678 @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
|
679 Disable the GPL-incompatible @code{METIS} 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
|
680 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
681 @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
|
682 @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
|
683 CHOLMOD_CONFIG = -DNPARTITION |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
684 SPQR_CONFIG = -DNPARTITION |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
685 METIS_PATH = |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
686 METIS = |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
687 @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
|
688 @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
|
689 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
690 @item |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
691 Disable the @code{DI} versions of the @code{CHOLMOD} library files by |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
692 setting |
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
|
693 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
694 @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
|
695 OBJ = $(DL) |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
696 @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
|
697 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
698 @noindent |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
699 in @file{CHOLMOD/Lib/Makefile}. |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
700 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
701 @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
|
702 Disable the @code{DI} versions of the @code{CHOLMOD} tests by commenting |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
703 out or deleting the following lines in @file{CHOLMOD/Demo/Makefile}: |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
704 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
705 @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
|
706 @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
|
707 ./cholmod_demo < Matrix/bcsstk01.tri |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
708 ./cholmod_demo < Matrix/lp_afiro.tri |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
709 ./cholmod_demo < Matrix/can___24.mtx |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
710 ./cholmod_demo < Matrix/c.tri |
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 ./cholmod_simple < Matrix/c.tri |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
712 ./cholmod_simple < Matrix/can___24.mtx |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
713 ./cholmod_simple < Matrix/bcsstk01.tri |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
714 @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
|
715 @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
|
716 |
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 @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
|
718 Run @command{make} to build the libraries. |
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 @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
|
721 The SuiteSparse @file{Makefile} does not have an install target so |
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 you must install the files by hand: |
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 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
724 @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
|
725 @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
|
726 mkdir $prefix64/include/suitesparse |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
727 cp UFconfig/UFconfig.h $prefix64/include/suitesparse |
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 for d in AMD BTF CAMD CCOLAMD \ |
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 CHOLMOD COLAMD CXSparse UMFPACK; 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
|
730 cp $d/Lib/lib*a $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
|
731 cp $d/Include/*h $prefix64/include/suitesparse |
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 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
|
733 @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
|
734 @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
|
735 |
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 @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
|
737 You can generate shared versions of these libraries by doing the |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
738 following in the @file{$prefix64/lib} 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
|
739 |
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 @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
|
741 @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
|
742 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
|
743 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
|
744 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
|
745 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
|
746 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
|
747 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
|
748 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
|
749 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
|
750 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
|
751 @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
|
752 @end example |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
753 |
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
|
754 @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
|
755 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
756 @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
|
757 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
758 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
|
759 |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
760 @item @sc{glpk} |
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
|
761 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
762 Suggestions on how to compile @sc{glpk} would be most welcome. |
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
|
763 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
764 @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
|
765 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
766 Suggestions on how to compile Qhull would be most welcome. |
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
|
767 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
768 @item Octave |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
769 |
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 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
|
771 @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
|
772 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
773 @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
|
774 @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
|
775 ./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
|
776 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
|
777 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
|
778 --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
|
779 @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
|
780 @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
|
781 |
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 You must ensure that all Fortran sources except those in the |
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 @file{libcruft/ranlib} directory are compiled such that INTEGERS are |
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 8-bytes wide. If you are using gfortan, the configure script should |
12575
d0b799dafede
Grammarcheck files for 3.4.1 release.
Rik <octave@nomad.inbox5.com>
parents:
12462
diff
changeset
|
785 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
|
786 @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
|
787 must set this variable yourself. You should NOT set this flag in |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
788 @env{FFLAGS}, otherwise the files in @file{libcruft/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
|
789 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
|
790 |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
791 @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
|
792 |
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 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
|
794 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
|
795 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
|
796 |
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 @itemize @minus |
12462
e4dbfe3019b1
Use PCRE regular expressions throughout Octave.
Rik <octave@nomad.inbox5.com>
parents:
12218
diff
changeset
|
798 @item pcre |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
799 |
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
|
800 @item zlib |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
801 |
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
|
802 @item hdf5 |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
803 |
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
|
804 @item fftw3 |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
805 |
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
|
806 @item cURL |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
807 |
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
|
808 @item GraphicsMagick++ |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
809 |
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
|
810 @item OpenGL |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
811 |
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
|
812 @item freetype |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
813 |
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
|
814 @item fontconfig |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
815 |
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
|
816 @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
|
817 @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
|
818 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
819 @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
|
820 |
4167 | 821 @node Installation Problems |
14150
87f06b9990bb
doc: improve documentation for building Octave
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
822 @section Installation Problems |
3294 | 823 |
824 This section contains a list of problems (and some apparent problems | |
825 that don't really mean anything is wrong) that may show up during | |
826 installation of Octave. | |
827 | |
828 @itemize @bullet | |
829 @item | |
830 On some SCO systems, @code{info} fails to compile if | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
831 @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
|
832 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
|
833 compile. |
3294 | 834 |
835 @item | |
836 If @code{configure} finds @code{dlopen}, @code{dlsym}, @code{dlclose}, | |
837 and @code{dlerror}, but not the header file @file{dlfcn.h}, you need to | |
838 find the source for the header file and install it in the directory | |
839 @file{usr/include}. This is reportedly a problem with Slackware 3.1. | |
840 For Linux/GNU systems, the source for @file{dlfcn.h} is in the | |
841 @code{ldso} package. | |
842 | |
843 @item | |
844 Building @file{.oct} files doesn't work. | |
845 | |
846 You should probably have a shared version of @code{libstdc++}. A patch | |
847 is needed to build shared versions of version 2.7.2 of @code{libstdc++} | |
848 on the HP-PA architecture. You can find the patch at | |
849 @url{ftp://ftp.cygnus.com/pub/g++/libg++-2.7.2-hppa-gcc-fix}. | |
850 | |
851 @item | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
852 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
|
853 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
|
854 in the linear algebra routines called by Octave. If you encounter such |
3464 | 855 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
|
856 @w{@code{SPECIAL_MATH_LIB}} is not set to @code{-ldxml}. |
3464 | 857 |
858 @item | |
3294 | 859 On FreeBSD systems Octave may hang while initializing some internal |
860 constants. The fix appears to be to use | |
861 | |
862 @example | |
863 options GPL_MATH_EMULATE | |
864 @end example | |
865 | |
866 @noindent | |
867 rather than | |
868 | |
869 @example | |
870 options MATH_EMULATE | |
871 @end example | |
872 | |
873 @noindent | |
874 in the kernel configuration files (typically found in the directory | |
875 @file{/sys/i386/conf}. After making this change, you'll need to rebuild | |
876 the kernel, install it, and reboot. | |
877 | |
878 @item | |
879 If you encounter errors like | |
880 | |
6670 | 881 @example |
3294 | 882 @group |
883 passing `void (*)()' as argument 2 of | |
884 `octave_set_signal_handler(int, void (*)(int))' | |
885 @end group | |
6670 | 886 @end example |
3294 | 887 |
888 @noindent | |
889 or | |
890 | |
6670 | 891 @example |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
892 @group |
7081 | 893 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
|
894 to `(@dots{})' |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
895 @end group |
6670 | 896 @end example |
3294 | 897 |
898 @noindent | |
899 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
|
900 in the @code{gcc} include subdirectory to add proper prototypes for |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
901 functions there. For example, Ultrix 4.2 needs proper declarations for |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
902 the @code{signal} function and the @w{@code{SIG_IGN}} macro in the file |
3294 | 903 @file{signal.h}. |
904 | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
905 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
|
906 like this: |
3294 | 907 |
908 @example | |
909 #define SIG_IGN (void (*)())1 | |
910 @end example | |
911 | |
912 @noindent | |
913 when it should really be something like: | |
914 | |
915 @example | |
916 #define SIG_IGN (void (*)(int))1 | |
917 @end example | |
918 | |
919 @noindent | |
920 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
|
921 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
|
922 @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
|
923 definitions in @file{sys/signal.h} as well. |
3294 | 924 |
925 The @code{gcc} @code{fixincludes} and @code{fixproto} scripts should | |
926 probably fix these problems when @code{gcc} installs its modified set of | |
927 header files, but I don't think that's been done yet. | |
928 | |
929 @strong{You should not change the files in @file{/usr/include}}. You | |
930 can find the @code{gcc} include directory tree by running the command | |
931 | |
932 @example | |
933 gcc -print-libgcc-file-name | |
934 @end example | |
935 | |
936 @noindent | |
12152
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
937 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
|
938 directory that contains the file @file{libgcc.a}. |
3294 | 939 |
940 @item | |
941 Some of the Fortran subroutines may fail to compile with older versions | |
942 of the Sun Fortran compiler. If you get errors like | |
943 | |
6670 | 944 @example |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
945 @group |
3294 | 946 zgemm.f: |
10599
d0e0bb2ebebb
Remove tabs in .txi files causing problems with pdf formatting.
Rik <octave@nomad.inbox5.com>
parents:
9895
diff
changeset
|
947 zgemm: |
3294 | 948 warning: unexpected parent of complex expression subtree |
949 zgemm.f, line 245: warning: unexpected parent of complex | |
950 expression subtree | |
951 warning: unexpected parent of complex expression subtree | |
952 zgemm.f, line 304: warning: unexpected parent of complex | |
953 expression subtree | |
954 warning: unexpected parent of complex expression subtree | |
955 zgemm.f, line 327: warning: unexpected parent of complex | |
956 expression subtree | |
957 pcc_binval: missing IR_CONV in complex op | |
958 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
|
959 @end group |
6670 | 960 @end example |
3294 | 961 |
962 @noindent | |
963 when compiling the Fortran subroutines in the @file{libcruft} | |
964 subdirectory, you should either upgrade your compiler or try compiling | |
965 with optimization turned off. | |
966 | |
967 @item | |
968 On NeXT systems, if you get errors like this: | |
969 | |
970 @example | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
971 @group |
7081 | 972 /usr/tmp/cc007458.s:unknown:Undefined local |
973 symbol LBB7656 | |
974 /usr/tmp/cc007458.s:unknown:Undefined local | |
975 symbol LBE7656 | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
976 @end group |
3294 | 977 @end example |
978 | |
979 @noindent | |
980 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
|
981 these files without @option{-g}. |
3294 | 982 |
983 @item | |
14018
5d5685216876
Deprecate shell_cmd function and update system, dos, unix commands
Rik <octave@nomad.inbox5.com>
parents:
12973
diff
changeset
|
984 Some people have reported that calls to system() and the pager do not |
3294 | 985 work on 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
|
986 @w{@code{G_HAVE_SYS_WAIT}} defined to be 0 instead of 1 when compiling |
3294 | 987 @code{libg++}. |
988 | |
989 @item | |
990 On NeXT systems, linking to @file{libsys_s.a} may fail to resolve the | |
991 following functions | |
992 | |
993 @example | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
994 @group |
3294 | 995 _tcgetattr |
996 _tcsetattr | |
997 _tcflow | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
998 @end group |
3294 | 999 @end example |
1000 | |
1001 @noindent | |
1002 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
|
1003 @option{-posix} results in the following undefined symbols. |
3294 | 1004 |
1005 @example | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
1006 @group |
3294 | 1007 .destructors_used |
1008 .constructors_used | |
1009 _objc_msgSend | |
1010 _NXGetDefaultValue | |
1011 _NXRegisterDefaults | |
1012 .objc_class_name_NXStringTable | |
1013 .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
|
1014 @end group |
3294 | 1015 @end example |
1016 | |
1017 One kluge around this problem is to extract @file{termios.o} from | |
1018 @file{libposix.a}, put it in Octave's @file{src} directory, and add it | |
1019 to the list of files to link together in the makefile. Suggestions for | |
1020 better ways to solve this problem are welcome! | |
1021 | |
1022 @item | |
1023 If Octave crashes immediately with a floating point exception, it is | |
1024 likely that it is failing to initialize the IEEE floating point values | |
1025 for infinity and NaN. | |
1026 | |
1027 If your system actually does support IEEE arithmetic, you should be able | |
1028 to fix this problem by modifying the function @code{octave_ieee_init} in | |
1029 the file @file{lo-ieee.cc} to correctly initialize Octave's internal | |
1030 infinity and NaN variables. | |
1031 | |
1032 If your system does not support IEEE arithmetic but Octave's configure | |
1033 script incorrectly determined that it does, you can work around the | |
1034 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
|
1035 @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
|
1036 @w{@code{HAVE_ISNAN}}. |
3294 | 1037 |
1038 In any case, please report this as a bug since it might be possible to | |
1039 modify Octave's configuration script to automatically determine the | |
1040 proper thing to do. | |
1041 | |
7144 | 1042 @item |
1043 If Octave is unable to find a header file because it is installed in a | |
1044 location that is not normally searched by the compiler, you can add the | |
1045 directory to the include search path by specifying (for example) | |
1046 @code{CPPFLAGS=-I/some/nonstandard/directory} as an argument to | |
1047 @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
|
1048 @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
|
1049 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
|
1050 @file{config.status} file. By default, @env{CPPFLAGS} and @env{LDFLAGS} |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
1051 are empty, @env{CFLAGS} and @env{CXXFLAGS} are set to @code{"-g -O"} and |
8e1ab522c902
Update build instructions in INSTALL.OCTAVE for release 3.4.
Rik <octave@nomad.inbox5.com>
parents:
11573
diff
changeset
|
1052 @env{FFLAGS} is set to @code{"-O"}. |
7144 | 1053 |
3294 | 1054 @end itemize |