Mercurial > octave-nkf
annotate doc/interpreter/install.txi @ 11573:6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
author | Rik <octave@nomad.inbox5.com> |
---|---|
date | Wed, 19 Jan 2011 20:29:11 -0800 |
parents | fd0a3ac60b0e |
children | 8e1ab522c902 |
rev | line source |
---|---|
11523 | 1 @c Copyright (C) 1996-2011 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 | |
7144 | 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 | |
46 Here is the procedure for installing Octave from scratch on a Unix | |
3862 | 47 system. |
3294 | 48 |
49 @itemize @bullet | |
50 @item | |
51 Run the shell script @file{configure}. This will determine the features | |
52 your system has (or doesn't have) and create a file named | |
53 @file{Makefile} from each of the files named @file{Makefile.in}. | |
54 | |
55 Here is a summary of the configure options that are most frequently used | |
56 when building Octave: | |
57 | |
58 @table @code | |
59 @item --prefix=@var{prefix} | |
60 Install Octave in subdirectories below @var{prefix}. The default value | |
61 of @var{prefix} is @file{/usr/local}. | |
62 | |
63 @item --srcdir=@var{dir} | |
64 Look for Octave sources in the directory @var{dir}. | |
65 | |
7091 | 66 @item --enable-bounds-check |
67 Enable bounds checking for indexing operators in the internal array | |
68 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
|
69 Octave with this option has a negative impact on performance and is not |
7091 | 70 recommended for general use. |
3294 | 71 |
7091 | 72 @item --enable-64 |
73 This is an @strong{experimental} option to enable Octave to use 64-bit | |
74 integers for array dimensions and indexing on 64-bit platforms. You | |
75 probably don't want to use this option unless you know what you are | |
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
|
76 doing. @xref{Compiling Octave with 64-bit Indexing}, for more details |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
77 about building Octave with this option. |
3294 | 78 |
79 @item --enable-shared | |
7091 | 80 Create shared libraries (this is the default). If you are planning to |
81 use the dynamic loading features, you will probably want to use this | |
82 option. It will make your @file{.oct} files much smaller and on some | |
83 systems it may be necessary to build shared libraries in order to use | |
84 dynamically linked functions. | |
3294 | 85 |
86 You may also want to build a shared version of @code{libstdc++}, if your | |
7081 | 87 system doesn't already have one. |
3294 | 88 |
89 @item --enable-dl | |
90 Use @code{dlopen} and friends to make Octave capable of dynamically | |
7091 | 91 linking externally compiled functions (this is the default if |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
92 @option{--enable-shared} is specified). This option only works on systems |
7091 | 93 that actually have these functions. If you plan on using this feature, you |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
94 should probably also use @option{--enable-shared} to reduce the size of |
3294 | 95 your @file{.oct} files. |
96 | |
7091 | 97 @item --without-blas |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
98 Compile and use the generic @sc{blas} and @sc{lapack} versions included with |
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
99 Octave. By default, configure first looks for @sc{blas} and @sc{lapack} matrix |
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
100 libraries on your system, including optimized @sc{blas} implementations such |
7091 | 101 as the free ATLAS 3.0, as well as vendor-tuned libraries. (The use of |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
102 an optimized @sc{blas} will generally result in several-times faster matrix |
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
103 operations.) Only use this option if your system has @sc{blas}/@sc{lapack} |
7091 | 104 libraries that cause problems for some reason. You can also use |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
105 @option{--with-blas=lib} to specify a particular @sc{blas} library |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
106 that configure doesn't check for automatically. |
7091 | 107 |
108 @item --without-ccolamd | |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
109 Don't use @sc{ccolamd}, disable some sparse matrix functionality. |
7091 | 110 |
111 @item --without-colamd | |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
112 Don't use @sc{colamd}, disable some sparse matrix functionality. |
7091 | 113 |
114 @item --without-curl | |
9880 | 115 Don't use the cURL, disable the ftp objects, @code{urlread} and @code{urlwrite} |
7091 | 116 functions. |
3294 | 117 |
7091 | 118 @item --without-cxsparse |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
119 Don't use @sc{cxsparse}, disable some sparse matrix functionality. |
7091 | 120 |
121 @item --without-umfpack | |
10711
fbd7843974fa
Periodic grammar check of documentation files to ensure common format.
Rik <octave@nomad.inbox5.com>
parents:
10599
diff
changeset
|
122 Don't use @sc{umfpack}, disable some sparse matrix functionality. |
7091 | 123 |
124 @item --without-fftw | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
125 Use the included @sc{fftpack} library instead of the @sc{fftw} library. |
3294 | 126 |
7091 | 127 @item --without-glpk |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
128 Don't use the @sc{glpk} library for linear programming. |
7091 | 129 |
130 @item --without-hdf5 | |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
131 Don't use the @sc{hdf5} library for reading and writing @sc{hdf5} files. |
7091 | 132 |
133 @item --without-zlib | |
134 Don't use the zlib library, disable data file compression and support | |
135 for recent MAT file formats. | |
136 | |
137 @item --without-lapack | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
138 Compile and use the generic @sc{blas} and @sc{lapack} versions included with |
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
139 Octave. By default, configure first looks for @sc{blas} and @sc{lapack} matrix |
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
140 libraries on your system, including optimized @sc{blas} implementations such |
3690 | 141 as the free ATLAS 3.0, as well as vendor-tuned libraries. (The use of |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
142 an optimized @sc{blas} will generally result in several-times faster matrix |
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
143 operations.) Only use this option if your system has @sc{blas}/@sc{lapack} |
3690 | 144 libraries that cause problems for some reason. You can also use |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
145 @option{--with-blas=lib} to specify a particular @sc{blas} library |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
146 that configure doesn't check for automatically. |
3690 | 147 |
8791
d943e26d30e2
Add documentation for configure options "--without-framework-carbon" and "--without-framework-opengl".
Thomas Treichl <Thomas.Treichl@gmx.net>
parents:
8481
diff
changeset
|
148 @item --without-framework-carbon |
d943e26d30e2
Add documentation for configure options "--without-framework-carbon" and "--without-framework-opengl".
Thomas Treichl <Thomas.Treichl@gmx.net>
parents:
8481
diff
changeset
|
149 Don't use framework Carbon headers, libraries and specific source code |
d943e26d30e2
Add documentation for configure options "--without-framework-carbon" and "--without-framework-opengl".
Thomas Treichl <Thomas.Treichl@gmx.net>
parents:
8481
diff
changeset
|
150 for compilation even if the configure test succeeds (the default value |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
151 is @option{--with-framework-carbon}). This is a platform specific configure |
8791
d943e26d30e2
Add documentation for configure options "--without-framework-carbon" and "--without-framework-opengl".
Thomas Treichl <Thomas.Treichl@gmx.net>
parents:
8481
diff
changeset
|
152 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
|
153 |
d943e26d30e2
Add documentation for configure options "--without-framework-carbon" and "--without-framework-opengl".
Thomas Treichl <Thomas.Treichl@gmx.net>
parents:
8481
diff
changeset
|
154 @item --without-framework-opengl |
d943e26d30e2
Add documentation for configure options "--without-framework-carbon" and "--without-framework-opengl".
Thomas Treichl <Thomas.Treichl@gmx.net>
parents:
8481
diff
changeset
|
155 Don't use framework OpenGL headers, libraries and specific source code |
9031
1052a66078cf
Documentation cleanup of top-level Octave directory (READMEs, INSTALL)
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
156 for compilation even if the configure test succeeds. If this option is |
8791
d943e26d30e2
Add documentation for configure options "--without-framework-carbon" and "--without-framework-opengl".
Thomas Treichl <Thomas.Treichl@gmx.net>
parents:
8481
diff
changeset
|
157 given then OpenGL headers and libraries in standard system locations are |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
158 tested (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
|
159 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
|
160 |
3294 | 161 @item --help |
162 Print a summary of the options recognized by the configure script. | |
163 @end table | |
164 | |
9031
1052a66078cf
Documentation cleanup of top-level Octave directory (READMEs, INSTALL)
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
165 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
|
166 command line options used by configure. That file also contains |
1052a66078cf
Documentation cleanup of top-level Octave directory (READMEs, INSTALL)
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
167 instructions for compiling in a directory other than where the source |
1052a66078cf
Documentation cleanup of top-level Octave directory (READMEs, INSTALL)
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
168 is located. |
3294 | 169 |
170 @item | |
171 Run make. | |
172 | |
173 You will need a recent version of GNU Make. Modifying Octave's | |
174 makefiles to work with other make programs is probably not worth | |
175 your time. We recommend you get and compile GNU Make instead. | |
176 | |
177 For plotting, you will need to have gnuplot installed on your system. | |
178 Gnuplot is a command-driven interactive function plotting program. | |
179 Gnuplot is copyrighted, but freely distributable. The `gnu' in gnuplot | |
180 is a coincidence---it is not related to the GNU project or the FSF in | |
181 any but the most peripheral sense. | |
182 | |
7091 | 183 To compile Octave, you will need a recent version of GNU Make. You will |
9031
1052a66078cf
Documentation cleanup of top-level Octave directory (READMEs, INSTALL)
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
184 also need a recent version of @code{g++} or other ANSI C++ compiler. You |
7091 | 185 will also need a Fortran 77 compiler or @code{f2c}. If you use |
186 @code{f2c}, you will need a script like @code{fort77} that works like a | |
187 normal Fortran compiler by combining @code{f2c} with your C compiler in | |
188 a single script. | |
3294 | 189 |
190 If you plan to modify the parser you will also need GNU @code{bison} and | |
191 @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
|
192 Texinfo. |
3294 | 193 |
194 GNU Make, @code{gcc}, and @code{libstdc++}, @code{gnuplot}, | |
195 @code{bison}, @code{flex}, and Texinfo are all available from many | |
196 anonymous ftp archives. The primary site is @url{ftp.gnu.org}, but it | |
197 is often very busy. A list of sites that mirror the software on | |
198 @url{ftp.gnu.org} is available by anonymous ftp from | |
199 @url{ftp://ftp.gnu.org/pub/gnu/GNUinfo/FTP}. | |
200 | |
9031
1052a66078cf
Documentation cleanup of top-level Octave directory (READMEs, INSTALL)
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
201 You will need about 1 gigabyte of disk storage to work with when |
7091 | 202 building Octave from source (considerably less if you don't compile with |
203 debugging symbols). To do that, use the command | |
3294 | 204 |
205 @example | |
206 make CFLAGS=-O CXXFLAGS=-O LDFLAGS= | |
207 @end example | |
208 | |
209 @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
|
210 instead of just @command{make}. |
3294 | 211 |
212 @item | |
213 If you encounter errors while compiling Octave, first check the list of | |
214 known problems below to see if there is a workaround or solution for | |
215 your problem. If not, | |
216 @ifclear INSTALLONLY | |
217 see @ref{Trouble}, | |
218 @end ifclear | |
219 @ifset INSTALLONLY | |
220 see the file BUGS | |
221 @end ifset | |
222 for information about how to report bugs. | |
223 | |
224 @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
|
225 Once you have successfully compiled Octave, run @code{make install}. |
3294 | 226 |
8481
00df69d7e698
[docs] capitalize Octave consistently
Brian Gough <bjg@gnu.org>
parents:
8325
diff
changeset
|
227 This will install a copy of Octave, its libraries, and its documentation |
3294 | 228 in the destination directory. As distributed, Octave is installed in |
229 the following directories. In the table below, @var{prefix} defaults to | |
230 @file{/usr/local}, @var{version} stands for the current version number | |
231 of the interpreter, and @var{arch} is the type of computer on which | |
232 Octave is installed (for example, @samp{i586-unknown-gnu}). | |
233 | |
234 @table @file | |
235 @item @var{prefix}/bin | |
236 Octave and other binaries that people will want to run directly. | |
237 | |
238 @item @var{prefix}/lib | |
239 Libraries like libcruft.a and liboctave.a. | |
240 | |
241 @item @var{prefix}/share | |
242 Architecture-independent data files. | |
243 | |
244 @item @var{prefix}/include/octave | |
245 Include files distributed with Octave. | |
246 | |
247 @item @var{prefix}/man/man1 | |
248 Unix-style man pages describing Octave. | |
249 | |
250 @item @var{prefix}/info | |
251 Info files describing Octave. | |
252 | |
253 @item @var{prefix}/share/octave/@var{version}/m | |
254 Function files distributed with Octave. This includes the Octave | |
255 version, so that multiple versions of Octave may be installed at the | |
256 same time. | |
257 | |
258 @item @var{prefix}/lib/octave/@var{version}/exec/@var{arch} | |
259 Executables to be run by Octave rather than the user. | |
260 | |
261 @item @var{prefix}/lib/octave/@var{version}/oct/@var{arch} | |
262 Object files that will be dynamically loaded. | |
263 | |
264 @item @var{prefix}/share/octave/@var{version}/imagelib | |
265 Image files that are distributed with Octave. | |
266 @end table | |
267 @end itemize | |
268 | |
269 @menu | |
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
|
270 * Compiling Octave with 64-bit Indexing:: |
3294 | 271 * Installation Problems:: |
272 @end menu | |
273 | |
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
|
274 @node Compiling Octave with 64-bit Indexing |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
275 @appendixsec Compiling Octave with 64-bit Indexing |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
276 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
277 Note: the following only applies to systems that have 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
|
278 pointers. Configuring Octave with @option{--enable-64} cannot magically |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
279 make a 32-bit system have a 64-bit address space. |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
280 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
281 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
|
282 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
|
283 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
284 @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
|
285 @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
|
286 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
|
287 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
|
288 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
|
289 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
|
290 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
|
291 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
|
292 @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
|
293 @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
|
294 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
295 In each case, the limit is really (approximately) @math{2^31} elements |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
296 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
|
297 (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
|
298 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
|
299 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
300 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
|
301 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
302 @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
|
303 @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
|
304 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
|
305 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
|
306 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
|
307 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
|
308 @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
|
309 @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
|
310 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
311 @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
|
312 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
|
313 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
|
314 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
315 To use arrays larger than 2 GB, Octave has to be configured with 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
|
316 option @option{--enable-64}. This option is experimental and you are (as |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
317 always) encouraged to submit bug reports if you find a problem. With |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
318 this option, Octave will use 64-bit integers internally for array |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
319 dimensions and indexing. However, all numerical libraries used by |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
320 Octave will also need to use 64-bit integers for array dimensions and |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
321 indexing. In most cases, this means they will need to be compiled |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
322 from source since most (all?) distributions which package these |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
323 libraries compile them with the default Fortran integer size, which is |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
324 normally 32-bits wide. |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
325 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
326 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
|
327 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
|
328 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
329 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
|
330 versions of these packages are available, you should try to use them, |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
331 though there may be some differences. |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
332 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
333 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
|
334 @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
|
335 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
336 @itemize @bullet |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
337 @item |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
338 @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
|
339 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
340 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
|
341 @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
|
342 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
343 @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
|
344 @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
|
345 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
|
346 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
|
347 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
|
348 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
349 @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
|
350 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
|
351 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
|
352 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
|
353 @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
|
354 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
355 @item |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
356 @sc{arpack} (@url{http://www.caam.rice.edu/software/ARPACK}) |
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
|
357 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
358 @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
|
359 @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
|
360 In @file{ARmake.inc} set the following variables: |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
361 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
362 @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
|
363 @group |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
364 home=path to directory @sc{arpack} |
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
|
365 FC=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
|
366 FFLAGS=-fPIC -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
|
367 MAKE=/usr/bin/make |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
368 ARPACKLIB=$(home)/libarpack.a |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
369 DIRS=$(UTILdir) $(SRCdir) |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
370 @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
|
371 @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
|
372 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
373 @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
|
374 Edit the file @file{UTIL/second.f} and change the line |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
375 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
376 @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
|
377 EXTERNAL ETIME |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
378 @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
|
379 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
380 @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
|
381 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
|
382 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
383 @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
|
384 INTRINSIC ETIME |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
385 @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
|
386 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
387 @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
|
388 After building the @file{.a} library, you can make a shared version with |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
389 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
390 @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
|
391 @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
|
392 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
|
393 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
|
394 ar x ../libarpack.a |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
395 gcc -shared -o ../libarpack.so *.o -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
|
396 -llapack -lblas |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
397 cd .. |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
398 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
|
399 @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
|
400 @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
|
401 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
402 @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
|
403 Copy the library @file{libarpack.so} to @file{$prefix64/lib/libarpack.a}. |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
404 @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
|
405 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
406 @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
|
407 QRUPDATE (@url{http://sourceforge.net/projects/qrupdate}) |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
408 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
409 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
|
410 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
411 @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
|
412 @item |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
413 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
|
414 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
415 @item |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
416 Adjust the @sc{blas} and @sc{lapack} variables as needed if your 64-bit aware |
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
417 @sc{blas} and @sc{lapack} libraries are in a non-standard 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
|
418 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
419 @item |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
420 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
|
421 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
422 @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
|
423 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
|
424 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
425 @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
|
426 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
|
427 @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
|
428 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
429 @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
|
430 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
|
431 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
432 @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
|
433 @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
|
434 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
|
435 @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
|
436 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
437 @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
|
438 @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
|
439 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
|
440 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
|
441 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
|
442 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
|
443 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
|
444 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
|
445 @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
|
446 @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
|
447 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
448 @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
|
449 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
|
450 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
451 @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
|
452 @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
|
453 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
|
454 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
|
455 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
|
456 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
|
457 @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
|
458 @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
|
459 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
460 @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
|
461 Disable the @code{DI} versions of the @code{CHOLMOD} library files by setting |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
462 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
463 @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
|
464 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
|
465 @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
|
466 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
467 @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
|
468 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
|
469 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
470 @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
|
471 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
|
472 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
|
473 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
474 @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
|
475 @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
|
476 ./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
|
477 ./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
|
478 ./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
|
479 ./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
|
480 ./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
|
481 ./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
|
482 ./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
|
483 @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
|
484 @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
|
485 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
486 @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
|
487 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
|
488 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
489 @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
|
490 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
|
491 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
|
492 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
493 @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
|
494 @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
|
495 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
|
496 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
|
497 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
|
498 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
|
499 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
|
500 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
|
501 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
|
502 @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
|
503 @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
|
504 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
505 @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
|
506 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
|
507 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
|
508 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
509 @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
|
510 @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
|
511 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
|
512 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
|
513 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
|
514 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
|
515 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
|
516 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
|
517 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
|
518 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
|
519 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
|
520 @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
|
521 @end example |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
522 |
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
|
523 @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
|
524 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
525 @item |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
526 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
|
527 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
528 Suggestions on how to compile ATLAS, will be most welcome. |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
529 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
530 @item |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
531 @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
|
532 |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
533 Suggestions on how to compile @sc{glpk} will 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
|
534 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
535 @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
|
536 QHULL (@url{http://www.qhull.org}) |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
537 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
538 Suggestions on how to compile QHULL will be most welcome. |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
539 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
540 @item Octave |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
541 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
|
542 @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
|
543 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
544 @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
|
545 @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
|
546 ./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
|
547 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
|
548 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
|
549 --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
|
550 @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
|
551 @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
|
552 |
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
553 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
|
554 @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
|
555 8-bytes wide. If you are using gfortan, the configure script should |
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 automatically set the Makefile variable @code{F77_INTEGER_8_FLAG} 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
|
557 @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
|
558 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
|
559 @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
|
560 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
|
561 |
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 @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
|
563 Other dependencies |
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 |
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 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
|
566 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
|
567 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
|
568 |
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 @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
|
570 @item pcre or regex |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
571 |
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
|
572 @item zlib |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
573 |
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
|
574 @item hdf5 |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
575 |
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
|
576 @item fftw3 |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
577 |
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 @item cURL |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
579 |
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
|
580 @item GraphicsMagick++ |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
581 |
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
|
582 @item OpenGL |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
583 |
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
|
584 @item freetype |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
585 |
11302
e971caa4c2bb
doc/interpreter/install.txi: explain how to compile Octave with 64-bit indexing
John W. Eaton <jwe@octave.org>
parents:
11291
diff
changeset
|
586 @item fontconfig |
11573
6f8ffe2c6f76
Grammarcheck txi files for 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
587 |
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
|
588 @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
|
589 @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
|
590 |
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 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
|
592 |
4167 | 593 @node Installation Problems |
3294 | 594 @appendixsec Installation Problems |
595 | |
596 This section contains a list of problems (and some apparent problems | |
597 that don't really mean anything is wrong) that may show up during | |
598 installation of Octave. | |
599 | |
600 @itemize @bullet | |
601 @item | |
602 On some SCO systems, @code{info} fails to compile if | |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9081
diff
changeset
|
603 @w{@code{HAVE_TERMIOS_H}} is defined in @file{config.h}. Simply removing |
3294 | 604 the definition from @file{info/config.h} should allow it to compile. |
605 | |
606 @item | |
607 If @code{configure} finds @code{dlopen}, @code{dlsym}, @code{dlclose}, | |
608 and @code{dlerror}, but not the header file @file{dlfcn.h}, you need to | |
609 find the source for the header file and install it in the directory | |
610 @file{usr/include}. This is reportedly a problem with Slackware 3.1. | |
611 For Linux/GNU systems, the source for @file{dlfcn.h} is in the | |
612 @code{ldso} package. | |
613 | |
614 @item | |
615 Building @file{.oct} files doesn't work. | |
616 | |
617 You should probably have a shared version of @code{libstdc++}. A patch | |
618 is needed to build shared versions of version 2.7.2 of @code{libstdc++} | |
619 on the HP-PA architecture. You can find the patch at | |
620 @url{ftp://ftp.cygnus.com/pub/g++/libg++-2.7.2-hppa-gcc-fix}. | |
621 | |
622 @item | |
3464 | 623 On some alpha systems there may be a problem with the @code{libdxml} |
624 library, resulting in floating point errors and/or segmentation faults in | |
625 the linear algebra routines called by Octave. If you encounter such | |
626 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
|
627 @w{@code{SPECIAL_MATH_LIB}} is not set to @code{-ldxml}. |
3464 | 628 |
629 @item | |
3294 | 630 On FreeBSD systems Octave may hang while initializing some internal |
631 constants. The fix appears to be to use | |
632 | |
633 @example | |
634 options GPL_MATH_EMULATE | |
635 @end example | |
636 | |
637 @noindent | |
638 rather than | |
639 | |
640 @example | |
641 options MATH_EMULATE | |
642 @end example | |
643 | |
644 @noindent | |
645 in the kernel configuration files (typically found in the directory | |
646 @file{/sys/i386/conf}. After making this change, you'll need to rebuild | |
647 the kernel, install it, and reboot. | |
648 | |
649 @item | |
650 If you encounter errors like | |
651 | |
6670 | 652 @example |
3294 | 653 @group |
654 passing `void (*)()' as argument 2 of | |
655 `octave_set_signal_handler(int, void (*)(int))' | |
656 @end group | |
6670 | 657 @end example |
3294 | 658 |
659 @noindent | |
660 or | |
661 | |
6670 | 662 @example |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
663 @group |
7081 | 664 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
|
665 to `(@dots{})' |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
666 @end group |
6670 | 667 @end example |
3294 | 668 |
669 @noindent | |
670 while compiling @file{sighandlers.cc}, you may need to edit some files | |
671 in the @code{gcc} include subdirectory to add proper prototypes for functions | |
672 there. For example, Ultrix 4.2 needs proper declarations for the | |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9081
diff
changeset
|
673 @code{signal} function and the @w{@code{SIG_IGN}} macro in the file |
3294 | 674 @file{signal.h}. |
675 | |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9081
diff
changeset
|
676 On some systems the @w{@code{SIG_IGN}} macro is defined to be something like |
3294 | 677 this: |
678 | |
679 @example | |
680 #define SIG_IGN (void (*)())1 | |
681 @end example | |
682 | |
683 @noindent | |
684 when it should really be something like: | |
685 | |
686 @example | |
687 #define SIG_IGN (void (*)(int))1 | |
688 @end example | |
689 | |
690 @noindent | |
691 to match the prototype declaration for the @code{signal} function. This | |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9081
diff
changeset
|
692 change should also be made for the @w{@code{SIG_DFL}} and @w{@code{SIG_ERR}} |
9031
1052a66078cf
Documentation cleanup of top-level Octave directory (READMEs, INSTALL)
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
693 symbols. It may be necessary to change the definitions in |
3294 | 694 @file{sys/signal.h} as well. |
695 | |
696 The @code{gcc} @code{fixincludes} and @code{fixproto} scripts should | |
697 probably fix these problems when @code{gcc} installs its modified set of | |
698 header files, but I don't think that's been done yet. | |
699 | |
700 @strong{You should not change the files in @file{/usr/include}}. You | |
701 can find the @code{gcc} include directory tree by running the command | |
702 | |
703 @example | |
704 gcc -print-libgcc-file-name | |
705 @end example | |
706 | |
707 @noindent | |
708 The directory of @code{gcc} include files normally begins in the same directory | |
709 that contains the file @file{libgcc.a}. | |
710 | |
711 @item | |
712 Some of the Fortran subroutines may fail to compile with older versions | |
713 of the Sun Fortran compiler. If you get errors like | |
714 | |
6670 | 715 @example |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
716 @group |
3294 | 717 zgemm.f: |
10599
d0e0bb2ebebb
Remove tabs in .txi files causing problems with pdf formatting.
Rik <octave@nomad.inbox5.com>
parents:
9895
diff
changeset
|
718 zgemm: |
3294 | 719 warning: unexpected parent of complex expression subtree |
720 zgemm.f, line 245: warning: unexpected parent of complex | |
721 expression subtree | |
722 warning: unexpected parent of complex expression subtree | |
723 zgemm.f, line 304: warning: unexpected parent of complex | |
724 expression subtree | |
725 warning: unexpected parent of complex expression subtree | |
726 zgemm.f, line 327: warning: unexpected parent of complex | |
727 expression subtree | |
728 pcc_binval: missing IR_CONV in complex op | |
729 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
|
730 @end group |
6670 | 731 @end example |
3294 | 732 |
733 @noindent | |
734 when compiling the Fortran subroutines in the @file{libcruft} | |
735 subdirectory, you should either upgrade your compiler or try compiling | |
736 with optimization turned off. | |
737 | |
738 @item | |
739 On NeXT systems, if you get errors like this: | |
740 | |
741 @example | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
742 @group |
7081 | 743 /usr/tmp/cc007458.s:unknown:Undefined local |
744 symbol LBB7656 | |
745 /usr/tmp/cc007458.s:unknown:Undefined local | |
746 symbol LBE7656 | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
747 @end group |
3294 | 748 @end example |
749 | |
750 @noindent | |
751 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
|
752 these files without @option{-g}. |
3294 | 753 |
754 @item | |
755 Some people have reported that calls to shell_cmd and the pager do not | |
756 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
|
757 @w{@code{G_HAVE_SYS_WAIT}} defined to be 0 instead of 1 when compiling |
3294 | 758 @code{libg++}. |
759 | |
760 @item | |
761 On NeXT systems, linking to @file{libsys_s.a} may fail to resolve the | |
762 following functions | |
763 | |
764 @example | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
765 @group |
3294 | 766 _tcgetattr |
767 _tcsetattr | |
768 _tcflow | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
769 @end group |
3294 | 770 @end example |
771 | |
772 @noindent | |
773 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
|
774 @option{-posix} results in the following undefined symbols. |
3294 | 775 |
776 @example | |
9081
c79cf77061b7
Cleanup documentation files contrib.texi, bugs.texi, install.texi, emacs.texi
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
777 @group |
3294 | 778 .destructors_used |
779 .constructors_used | |
780 _objc_msgSend | |
781 _NXGetDefaultValue | |
782 _NXRegisterDefaults | |
783 .objc_class_name_NXStringTable | |
784 .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
|
785 @end group |
3294 | 786 @end example |
787 | |
788 One kluge around this problem is to extract @file{termios.o} from | |
789 @file{libposix.a}, put it in Octave's @file{src} directory, and add it | |
790 to the list of files to link together in the makefile. Suggestions for | |
791 better ways to solve this problem are welcome! | |
792 | |
793 @item | |
794 If Octave crashes immediately with a floating point exception, it is | |
795 likely that it is failing to initialize the IEEE floating point values | |
796 for infinity and NaN. | |
797 | |
798 If your system actually does support IEEE arithmetic, you should be able | |
799 to fix this problem by modifying the function @code{octave_ieee_init} in | |
800 the file @file{lo-ieee.cc} to correctly initialize Octave's internal | |
801 infinity and NaN variables. | |
802 | |
803 If your system does not support IEEE arithmetic but Octave's configure | |
804 script incorrectly determined that it does, you can work around the | |
805 problem by editing the file @file{config.h} to not define | |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9081
diff
changeset
|
806 @w{@code{HAVE_ISINF}}, @w{@code{HAVE_FINITE}}, and @w{@code{HAVE_ISNAN}}. |
3294 | 807 |
808 In any case, please report this as a bug since it might be possible to | |
809 modify Octave's configuration script to automatically determine the | |
810 proper thing to do. | |
811 | |
7144 | 812 @item |
813 If Octave is unable to find a header file because it is installed in a | |
814 location that is not normally searched by the compiler, you can add the | |
815 directory to the include search path by specifying (for example) | |
816 @code{CPPFLAGS=-I/some/nonstandard/directory} as an argument to | |
817 @code{configure}. Other variables that can be specified this way are | |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
818 @env{CFLAGS}, @env{CXXFLAGS}, @env{FFLAGS}, and @env{LDFLAGS}. |
7144 | 819 Passing them as options to the configure script also records them in the |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
820 @file{config.status} file. By default, @env{CPPFLAGS} and |
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
821 @env{LDFLAGS} are empty, @env{CFLAGS} and @env{CXXFLAGS} are set to |
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10711
diff
changeset
|
822 @code{"-g -O"} and @env{FFLAGS} is set to @code{"-O"}. |
7144 | 823 |
3294 | 824 @end itemize |