annotate doc/interpreter/install.txi @ 7091:5608935ff522 ss-2-9-16

[project @ 2007-10-31 21:26:39 by jwe]
author jwe
date Wed, 31 Oct 2007 21:29:24 +0000
parents 503001863427
children 30c0533e39ae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6778
083721ae3dfa [project @ 2007-07-18 17:03:10 by jwe]
jwe
parents: 6670
diff changeset
1 @c Copyright (C) 1996, 1997, 2007 John W. Eaton
7018
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
2 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
3 @c This file is part of Octave.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
4 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
5 @c Octave is free software; you can redistribute it and/or modify it
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
6 @c under the terms of the GNU General Public License as published by the
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
7 @c Free Software Foundation; either version 3 of the License, or (at
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
8 @c your option) any later version.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
9 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
10 @c Octave is distributed in the hope that it will be useful, but WITHOUT
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
11 @c ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
12 @c FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
13 @c for more details.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
14 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
15 @c You should have received a copy of the GNU General Public License
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
16 @c along with Octave; see the file COPYING. If not, see
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
17 @c <http://www.gnu.org/licenses/>.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
18
7018
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
19 @c The text of this file appears in the file INSTALL in the Octave
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 6778
diff changeset
20 @c distribution, as well as in the Octave manual.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
21
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
22 @ifclear INSTALLONLY
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3960
diff changeset
23 @node Installation
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
24 @appendix Installing Octave
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
25 @end ifclear
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
26
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
27 @ifset INSTALLONLY
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
28 @include conf.texi
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
29
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
30 This file documents the installation of Octave.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
31
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
32 Octave is free software; you can redistribute it and/or modify it
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
33 under the terms of the GNU General Public License as published by the
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
34 Free Software Foundation.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
35
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3960
diff changeset
36 @node Installation
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
37 @chapter Installing Octave
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
38 @end ifset
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
39
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
40 @cindex installing Octave
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
41
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
42 Here is the procedure for installing Octave from scratch on a Unix
3862
75473e09e3eb [project @ 2001-11-14 19:30:25 by jwe]
jwe
parents: 3690
diff changeset
43 system.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
44
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
45 @itemize @bullet
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
46 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
47 Run the shell script @file{configure}. This will determine the features
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
48 your system has (or doesn't have) and create a file named
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
49 @file{Makefile} from each of the files named @file{Makefile.in}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
50
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
51 Here is a summary of the configure options that are most frequently used
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
52 when building Octave:
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
53
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
54 @table @code
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
55 @item --prefix=@var{prefix}
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
56 Install Octave in subdirectories below @var{prefix}. The default value
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
57 of @var{prefix} is @file{/usr/local}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
58
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
59 @item --srcdir=@var{dir}
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
60 Look for Octave sources in the directory @var{dir}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
61
7091
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
62 @item --enable-bounds-check
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
63 Enable bounds checking for indexing operators in the internal array
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
64 classes. This option is primarily used for debugging Octave. Building
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
65 Octave with this option has a negative impact on performace and is not
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
66 recommended for general use.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
67
7091
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
68 @item --enable-64
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
69 This is an @strong{experimental} option to enable Octave to use 64-bit
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
70 integers for array dimensions and indexing on 64-bit platforms. You
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
71 probably don't want to use this option unless you know what you are
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
72 doing.
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
73
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
74 If you use @code{--enable-64}, you must ensure that your Fortran
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
75 compiler generates code with 8 byte signed @code{INTEGER} values, and
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
76 that your BLAS and LAPACK libraries are compiled to use 8 byte
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
77 signed integers for array dimensions and indexing.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
78
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
79 @item --enable-shared
7091
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
80 Create shared libraries (this is the default). If you are planning to
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
81 use the dynamic loading features, you will probably want to use this
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
82 option. It will make your @file{.oct} files much smaller and on some
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
83 systems it may be necessary to build shared libraries in order to use
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
84 dynamically linked functions.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
85
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
86 You may also want to build a shared version of @code{libstdc++}, if your
7081
503001863427 [project @ 2007-10-31 01:08:14 by jwe]
jwe
parents: 7018
diff changeset
87 system doesn't already have one.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
88
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
89 @item --enable-dl
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
90 Use @code{dlopen} and friends to make Octave capable of dynamically
7091
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
91 linking externally compiled functions (this is the default if
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
92 @code{--enable-shared} is specified). This option only works on systems
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
93 that actually have these functions. If you plan on using this feature, you
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
94 should probably also use @code{--enable-shared} to reduce the size of
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
95 your @file{.oct} files.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
96
7091
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
97 @item --without-blas
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
98 Compile and use the generic BLAS and LAPACK versions included with
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
99 Octave. By default, configure first looks for BLAS and LAPACK matrix
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
100 libraries on your system, including optimized BLAS implementations such
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
101 as the free ATLAS 3.0, as well as vendor-tuned libraries. (The use of
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
102 an optimized BLAS will generally result in several-times faster matrix
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
103 operations.) Only use this option if your system has BLAS/LAPACK
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
104 libraries that cause problems for some reason. You can also use
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
105 @code{--with-blas=lib} to specify a particular BLAS library
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
106 @code{-llib} that configure doesn't check for automatically.
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
107
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
108 @item --without-ccolamd
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
109 Don't use CCOLAMD, disable some sparse matrix functionality.
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
110
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
111 @item --without-colamd
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
112 Don't use COLAMD, disable some sparse matrix functionality.
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
113
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
114 @item --without-curl
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
115 Don't use the cURL, disable the @code{urlread} and @code{urlwrite}
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
116 functions.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
117
7091
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
118 @item --without-cxsparse
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
119 Don't use CXSPARSE, disable some sparse matrix functionality.
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
120
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
121 @item --without-umfpack
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
122 Don't use UMFPACK, disable some sparse matrix functionality.
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
123
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
124 @item --without-fftw
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
125 Use the included fftpack library instead of the FFTW library.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
126
7091
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
127 @item --without-glpk
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
128 Don't use the GLPK library for linear programming.
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
129
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
130 @item --without-hdf5
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
131 Don't use the HDF5 library for reading and writing HDF5 files.
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
132
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
133 @item --without-zlib
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
134 Don't use the zlib library, disable data file compression and support
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
135 for recent MAT file formats.
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
136
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
137 @item --without-lapack
3690
55e59236c5e5 [project @ 2000-06-30 20:55:36 by jwe]
jwe
parents: 3464
diff changeset
138 Compile and use the generic BLAS and LAPACK versions included with
55e59236c5e5 [project @ 2000-06-30 20:55:36 by jwe]
jwe
parents: 3464
diff changeset
139 Octave. By default, configure first looks for BLAS and LAPACK matrix
55e59236c5e5 [project @ 2000-06-30 20:55:36 by jwe]
jwe
parents: 3464
diff changeset
140 libraries on your system, including optimized BLAS implementations such
55e59236c5e5 [project @ 2000-06-30 20:55:36 by jwe]
jwe
parents: 3464
diff changeset
141 as the free ATLAS 3.0, as well as vendor-tuned libraries. (The use of
55e59236c5e5 [project @ 2000-06-30 20:55:36 by jwe]
jwe
parents: 3464
diff changeset
142 an optimized BLAS will generally result in several-times faster matrix
55e59236c5e5 [project @ 2000-06-30 20:55:36 by jwe]
jwe
parents: 3464
diff changeset
143 operations.) Only use this option if your system has BLAS/LAPACK
55e59236c5e5 [project @ 2000-06-30 20:55:36 by jwe]
jwe
parents: 3464
diff changeset
144 libraries that cause problems for some reason. You can also use
3960
b2133db551dd [project @ 2002-05-26 01:26:52 by jwe]
jwe
parents: 3862
diff changeset
145 @code{--with-blas=lib} to specify a particular BLAS library
3690
55e59236c5e5 [project @ 2000-06-30 20:55:36 by jwe]
jwe
parents: 3464
diff changeset
146 @code{-llib} that configure doesn't check for automatically.
55e59236c5e5 [project @ 2000-06-30 20:55:36 by jwe]
jwe
parents: 3464
diff changeset
147
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
148 @item --help
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
149 Print a summary of the options recognized by the configure script.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
150 @end table
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
151
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
152 See the file @file{INSTALL} for more information about the command line
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
153 options used by configure. That file also contains instructions for
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
154 compiling in a directory other than where the source is located.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
155
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
156 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
157 Run make.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
158
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
159 You will need a recent version of GNU Make. Modifying Octave's
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
160 makefiles to work with other make programs is probably not worth
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
161 your time. We recommend you get and compile GNU Make instead.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
162
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
163 For plotting, you will need to have gnuplot installed on your system.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
164 Gnuplot is a command-driven interactive function plotting program.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
165 Gnuplot is copyrighted, but freely distributable. The `gnu' in gnuplot
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
166 is a coincidence---it is not related to the GNU project or the FSF in
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
167 any but the most peripheral sense.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
168
7091
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
169 To compile Octave, you will need a recent version of GNU Make. You will
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
170 also need a recent version of @code{g++} or other ANSI C++ compiler. You
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
171 will also need a Fortran 77 compiler or @code{f2c}. If you use
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
172 @code{f2c}, you will need a script like @code{fort77} that works like a
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
173 normal Fortran compiler by combining @code{f2c} with your C compiler in
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
174 a single script.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
175
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
176 If you plan to modify the parser you will also need GNU @code{bison} and
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
177 @code{flex}. If you modify the documentation, you will need GNU
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
178 Texinfo, along with the patch for the @code{makeinfo} program that is
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
179 distributed with Octave.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
180
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
181 GNU Make, @code{gcc}, and @code{libstdc++}, @code{gnuplot},
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
182 @code{bison}, @code{flex}, and Texinfo are all available from many
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
183 anonymous ftp archives. The primary site is @url{ftp.gnu.org}, but it
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
184 is often very busy. A list of sites that mirror the software on
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
185 @url{ftp.gnu.org} is available by anonymous ftp from
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
186 @url{ftp://ftp.gnu.org/pub/gnu/GNUinfo/FTP}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
187
7091
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
188 You will need about 925 megabytes of disk storage to work with when
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
189 building Octave from source (considerably less if you don't compile with
5608935ff522 [project @ 2007-10-31 21:26:39 by jwe]
jwe
parents: 7081
diff changeset
190 debugging symbols). To do that, use the command
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
191
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
192 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
193 make CFLAGS=-O CXXFLAGS=-O LDFLAGS=
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
194 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
195
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
196 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
197 instead of just @samp{make}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
198
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
199 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
200 If you encounter errors while compiling Octave, first check the list of
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
201 known problems below to see if there is a workaround or solution for
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
202 your problem. If not,
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
203 @ifclear INSTALLONLY
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
204 see @ref{Trouble},
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
205 @end ifclear
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
206 @ifset INSTALLONLY
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
207 see the file BUGS
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
208 @end ifset
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
209 for information about how to report bugs.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
210
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
211 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
212 Once you have successfully compiled Octave, run @samp{make install}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
213
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
214 This will install a copy of octave, its libraries, and its documentation
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
215 in the destination directory. As distributed, Octave is installed in
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
216 the following directories. In the table below, @var{prefix} defaults to
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
217 @file{/usr/local}, @var{version} stands for the current version number
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
218 of the interpreter, and @var{arch} is the type of computer on which
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
219 Octave is installed (for example, @samp{i586-unknown-gnu}).
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
220
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
221 @table @file
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
222 @item @var{prefix}/bin
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
223 Octave and other binaries that people will want to run directly.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
224
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
225 @item @var{prefix}/lib
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
226 Libraries like libcruft.a and liboctave.a.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
227
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
228 @item @var{prefix}/share
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
229 Architecture-independent data files.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
230
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
231 @item @var{prefix}/include/octave
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
232 Include files distributed with Octave.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
233
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
234 @item @var{prefix}/man/man1
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
235 Unix-style man pages describing Octave.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
236
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
237 @item @var{prefix}/info
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
238 Info files describing Octave.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
239
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
240 @item @var{prefix}/share/octave/@var{version}/m
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
241 Function files distributed with Octave. This includes the Octave
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
242 version, so that multiple versions of Octave may be installed at the
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
243 same time.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
244
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
245 @item @var{prefix}/lib/octave/@var{version}/exec/@var{arch}
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
246 Executables to be run by Octave rather than the user.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
247
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
248 @item @var{prefix}/lib/octave/@var{version}/oct/@var{arch}
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
249 Object files that will be dynamically loaded.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
250
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
251 @item @var{prefix}/share/octave/@var{version}/imagelib
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
252 Image files that are distributed with Octave.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
253 @end table
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
254 @end itemize
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
255
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
256 @menu
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
257 * Installation Problems::
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
258 @end menu
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
259
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3960
diff changeset
260 @node Installation Problems
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
261 @appendixsec Installation Problems
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
262
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
263 This section contains a list of problems (and some apparent problems
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
264 that don't really mean anything is wrong) that may show up during
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
265 installation of Octave.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
266
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
267 @itemize @bullet
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
268 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
269 On some SCO systems, @code{info} fails to compile if
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
270 @code{HAVE_TERMIOS_H} is defined int @file{config.h}. Simply removing
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
271 the definition from @file{info/config.h} should allow it to compile.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
272
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
273 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
274 If @code{configure} finds @code{dlopen}, @code{dlsym}, @code{dlclose},
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
275 and @code{dlerror}, but not the header file @file{dlfcn.h}, you need to
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
276 find the source for the header file and install it in the directory
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
277 @file{usr/include}. This is reportedly a problem with Slackware 3.1.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
278 For Linux/GNU systems, the source for @file{dlfcn.h} is in the
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
279 @code{ldso} package.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
280
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
281 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
282 Building @file{.oct} files doesn't work.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
283
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
284 You should probably have a shared version of @code{libstdc++}. A patch
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
285 is needed to build shared versions of version 2.7.2 of @code{libstdc++}
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
286 on the HP-PA architecture. You can find the patch at
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
287 @url{ftp://ftp.cygnus.com/pub/g++/libg++-2.7.2-hppa-gcc-fix}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
288
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
289 @item
3464
ab5ae0aca0f1 [project @ 2000-01-20 09:48:41 by jwe]
jwe
parents: 3294
diff changeset
290 On some alpha systems there may be a problem with the @code{libdxml}
ab5ae0aca0f1 [project @ 2000-01-20 09:48:41 by jwe]
jwe
parents: 3294
diff changeset
291 library, resulting in floating point errors and/or segmentation faults in
ab5ae0aca0f1 [project @ 2000-01-20 09:48:41 by jwe]
jwe
parents: 3294
diff changeset
292 the linear algebra routines called by Octave. If you encounter such
ab5ae0aca0f1 [project @ 2000-01-20 09:48:41 by jwe]
jwe
parents: 3294
diff changeset
293 problems, then you should modify the configure script so that
ab5ae0aca0f1 [project @ 2000-01-20 09:48:41 by jwe]
jwe
parents: 3294
diff changeset
294 @code{SPECIAL_MATH_LIB} is not set to @code{-ldxml}.
ab5ae0aca0f1 [project @ 2000-01-20 09:48:41 by jwe]
jwe
parents: 3294
diff changeset
295
ab5ae0aca0f1 [project @ 2000-01-20 09:48:41 by jwe]
jwe
parents: 3294
diff changeset
296 @item
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
297 On FreeBSD systems Octave may hang while initializing some internal
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
298 constants. The fix appears to be to use
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
299
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
300 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
301 options GPL_MATH_EMULATE
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
302 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
303
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
304 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
305 rather than
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
306
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
307 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
308 options MATH_EMULATE
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
309 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
310
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
311 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
312 in the kernel configuration files (typically found in the directory
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
313 @file{/sys/i386/conf}. After making this change, you'll need to rebuild
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
314 the kernel, install it, and reboot.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
315
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
316 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
317 If you encounter errors like
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
318
6670
14992092ab06 [project @ 2007-05-29 17:51:37 by jwe]
jwe
parents: 5196
diff changeset
319 @example
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
320 @group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
321 passing `void (*)()' as argument 2 of
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
322 `octave_set_signal_handler(int, void (*)(int))'
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
323 @end group
6670
14992092ab06 [project @ 2007-05-29 17:51:37 by jwe]
jwe
parents: 5196
diff changeset
324 @end example
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
325
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
326 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
327 or
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
328
6670
14992092ab06 [project @ 2007-05-29 17:51:37 by jwe]
jwe
parents: 5196
diff changeset
329 @example
7081
503001863427 [project @ 2007-10-31 01:08:14 by jwe]
jwe
parents: 7018
diff changeset
330 warning: ANSI C++ prohibits conversion from `(int)'
503001863427 [project @ 2007-10-31 01:08:14 by jwe]
jwe
parents: 7018
diff changeset
331 to `(...)'
6670
14992092ab06 [project @ 2007-05-29 17:51:37 by jwe]
jwe
parents: 5196
diff changeset
332 @end example
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
333
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
334 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
335 while compiling @file{sighandlers.cc}, you may need to edit some files
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
336 in the @code{gcc} include subdirectory to add proper prototypes for functions
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
337 there. For example, Ultrix 4.2 needs proper declarations for the
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
338 @code{signal} function and the @code{SIG_IGN} macro in the file
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
339 @file{signal.h}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
340
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
341 On some systems the @code{SIG_IGN} macro is defined to be something like
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
342 this:
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
343
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
344 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
345 #define SIG_IGN (void (*)())1
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
346 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
347
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
348 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
349 when it should really be something like:
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
350
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
351 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
352 #define SIG_IGN (void (*)(int))1
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
353 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
354
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
355 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
356 to match the prototype declaration for the @code{signal} function. This
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
357 change should also be made for the @code{SIG_DFL} and @code{SIG_ERR}
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
358 symbols. It may be necessary to change the definitions in
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
359 @file{sys/signal.h} as well.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
360
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
361 The @code{gcc} @code{fixincludes} and @code{fixproto} scripts should
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
362 probably fix these problems when @code{gcc} installs its modified set of
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
363 header files, but I don't think that's been done yet.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
364
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
365 @strong{You should not change the files in @file{/usr/include}}. You
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
366 can find the @code{gcc} include directory tree by running the command
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
367
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
368 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
369 gcc -print-libgcc-file-name
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
370 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
371
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
372 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
373 The directory of @code{gcc} include files normally begins in the same directory
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
374 that contains the file @file{libgcc.a}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
375
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
376 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
377 Some of the Fortran subroutines may fail to compile with older versions
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
378 of the Sun Fortran compiler. If you get errors like
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
379
6670
14992092ab06 [project @ 2007-05-29 17:51:37 by jwe]
jwe
parents: 5196
diff changeset
380 @example
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
381 zgemm.f:
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
382 zgemm:
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
383 warning: unexpected parent of complex expression subtree
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
384 zgemm.f, line 245: warning: unexpected parent of complex
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
385 expression subtree
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
386 warning: unexpected parent of complex expression subtree
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
387 zgemm.f, line 304: warning: unexpected parent of complex
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
388 expression subtree
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
389 warning: unexpected parent of complex expression subtree
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
390 zgemm.f, line 327: warning: unexpected parent of complex
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
391 expression subtree
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
392 pcc_binval: missing IR_CONV in complex op
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
393 make[2]: *** [zgemm.o] Error 1
6670
14992092ab06 [project @ 2007-05-29 17:51:37 by jwe]
jwe
parents: 5196
diff changeset
394 @end example
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
395
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
396 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
397 when compiling the Fortran subroutines in the @file{libcruft}
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
398 subdirectory, you should either upgrade your compiler or try compiling
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
399 with optimization turned off.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
400
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
401 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
402 On NeXT systems, if you get errors like this:
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
403
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
404 @example
7081
503001863427 [project @ 2007-10-31 01:08:14 by jwe]
jwe
parents: 7018
diff changeset
405 /usr/tmp/cc007458.s:unknown:Undefined local
503001863427 [project @ 2007-10-31 01:08:14 by jwe]
jwe
parents: 7018
diff changeset
406 symbol LBB7656
503001863427 [project @ 2007-10-31 01:08:14 by jwe]
jwe
parents: 7018
diff changeset
407 /usr/tmp/cc007458.s:unknown:Undefined local
503001863427 [project @ 2007-10-31 01:08:14 by jwe]
jwe
parents: 7018
diff changeset
408 symbol LBE7656
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
409 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
410
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
411 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
412 when compiling @file{Array.cc} and @file{Matrix.cc}, try recompiling
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
413 these files without @code{-g}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
414
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
415 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
416 Some people have reported that calls to shell_cmd and the pager do not
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
417 work on SunOS systems. This is apparently due to having
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
418 @code{G_HAVE_SYS_WAIT} defined to be 0 instead of 1 when compiling
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
419 @code{libg++}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
420
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
421 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
422 On NeXT systems, linking to @file{libsys_s.a} may fail to resolve the
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
423 following functions
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
424
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
425 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
426 _tcgetattr
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
427 _tcsetattr
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
428 _tcflow
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
429 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
430
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
431 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
432 which are part of @file{libposix.a}. Unfortunately, linking Octave with
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
433 @code{-posix} results in the following undefined symbols.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
434
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
435 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
436 .destructors_used
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
437 .constructors_used
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
438 _objc_msgSend
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
439 _NXGetDefaultValue
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
440 _NXRegisterDefaults
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
441 .objc_class_name_NXStringTable
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
442 .objc_class_name_NXBundle
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
443 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
444
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
445 One kluge around this problem is to extract @file{termios.o} from
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
446 @file{libposix.a}, put it in Octave's @file{src} directory, and add it
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
447 to the list of files to link together in the makefile. Suggestions for
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
448 better ways to solve this problem are welcome!
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
449
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
450 @item
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
451 If Octave crashes immediately with a floating point exception, it is
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
452 likely that it is failing to initialize the IEEE floating point values
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
453 for infinity and NaN.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
454
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
455 If your system actually does support IEEE arithmetic, you should be able
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
456 to fix this problem by modifying the function @code{octave_ieee_init} in
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
457 the file @file{lo-ieee.cc} to correctly initialize Octave's internal
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
458 infinity and NaN variables.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
459
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
460 If your system does not support IEEE arithmetic but Octave's configure
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
461 script incorrectly determined that it does, you can work around the
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
462 problem by editing the file @file{config.h} to not define
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
463 @code{HAVE_ISINF}, @code{HAVE_FINITE}, and @code{HAVE_ISNAN}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
464
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
465 In any case, please report this as a bug since it might be possible to
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
466 modify Octave's configuration script to automatically determine the
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
467 proper thing to do.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
468
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
469 @end itemize