comparison 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
comparison
equal deleted inserted replaced
7090:47c1736d7371 7091:5608935ff522
57 of @var{prefix} is @file{/usr/local}. 57 of @var{prefix} is @file{/usr/local}.
58 58
59 @item --srcdir=@var{dir} 59 @item --srcdir=@var{dir}
60 Look for Octave sources in the directory @var{dir}. 60 Look for Octave sources in the directory @var{dir}.
61 61
62 @item --with-f2c 62 @item --enable-bounds-check
63 Use @code{f2c} even if a Fortran compiler is available. 63 Enable bounds checking for indexing operators in the internal array
64 64 classes. This option is primarily used for debugging Octave. Building
65 @item --with-f77 65 Octave with this option has a negative impact on performace and is not
66 Use @code{f77} to compile Fortran code. You may also specify the name 66 recommended for general use.
67 of the compiler to use as an optional argument. For example, 67
68 @code{--with-f77=g77} sets the name of the Fortran compiler to 68 @item --enable-64
69 @code{g77}. 69 This is an @strong{experimental} option to enable Octave to use 64-bit
70 integers for array dimensions and indexing on 64-bit platforms. You
71 probably don't want to use this option unless you know what you are
72 doing.
73
74 If you use @code{--enable-64}, you must ensure that your Fortran
75 compiler generates code with 8 byte signed @code{INTEGER} values, and
76 that your BLAS and LAPACK libraries are compiled to use 8 byte
77 signed integers for array dimensions and indexing.
70 78
71 @item --enable-shared 79 @item --enable-shared
72 Create shared libraries. If you are planning to use 80 Create shared libraries (this is the default). If you are planning to
73 @code{--enable-lite-kernel} or the dynamic loading features, you will 81 use the dynamic loading features, you will probably want to use this
74 probably want to use this option. It will make your @file{.oct} files 82 option. It will make your @file{.oct} files much smaller and on some
75 much smaller and on some systems it may be necessary to build shared 83 systems it may be necessary to build shared libraries in order to use
76 libraries in order to use dynamically linked functions. 84 dynamically linked functions.
77 85
78 You may also want to build a shared version of @code{libstdc++}, if your 86 You may also want to build a shared version of @code{libstdc++}, if your
79 system doesn't already have one. 87 system doesn't already have one.
80 88
81 @item --enable-dl 89 @item --enable-dl
82 Use @code{dlopen} and friends to make Octave capable of dynamically 90 Use @code{dlopen} and friends to make Octave capable of dynamically
83 linking externally compiled functions. This only works on systems that 91 linking externally compiled functions (this is the default if
84 actually have these functions. If you plan on using this feature, you 92 @code{--enable-shared} is specified). This option only works on systems
93 that actually have these functions. If you plan on using this feature, you
85 should probably also use @code{--enable-shared} to reduce the size of 94 should probably also use @code{--enable-shared} to reduce the size of
86 your @file{.oct} files. 95 your @file{.oct} files.
87
88 @item --enable-shl
89 Use @code{shl_load} and friends to make Octave capable of dynamically
90 linking externally compiled functions. This only works on systems that
91 actually have these functions (only HP-UX systems). If you plan on
92 using this feature, you should probably also use @code{--enable-shared}
93 to reduce the size of your @file{.oct} files.
94
95 @item --enable-lite-kernel
96 Compile smaller kernel. This currently requires the dynamic linking
97 functions @code{dlopen} or @code{shl_load} and friends so that Octave
98 can load functions at run time that are not loaded at compile time.
99 96
100 @item --without-blas 97 @item --without-blas
101 Compile and use the generic BLAS and LAPACK versions included with 98 Compile and use the generic BLAS and LAPACK versions included with
102 Octave. By default, configure first looks for BLAS and LAPACK matrix 99 Octave. By default, configure first looks for BLAS and LAPACK matrix
103 libraries on your system, including optimized BLAS implementations such 100 libraries on your system, including optimized BLAS implementations such
106 operations.) Only use this option if your system has BLAS/LAPACK 103 operations.) Only use this option if your system has BLAS/LAPACK
107 libraries that cause problems for some reason. You can also use 104 libraries that cause problems for some reason. You can also use
108 @code{--with-blas=lib} to specify a particular BLAS library 105 @code{--with-blas=lib} to specify a particular BLAS library
109 @code{-llib} that configure doesn't check for automatically. 106 @code{-llib} that configure doesn't check for automatically.
110 107
108 @item --without-ccolamd
109 Don't use CCOLAMD, disable some sparse matrix functionality.
110
111 @item --without-colamd
112 Don't use COLAMD, disable some sparse matrix functionality.
113
114 @item --without-curl
115 Don't use the cURL, disable the @code{urlread} and @code{urlwrite}
116 functions.
117
118 @item --without-cxsparse
119 Don't use CXSPARSE, disable some sparse matrix functionality.
120
121 @item --without-umfpack
122 Don't use UMFPACK, disable some sparse matrix functionality.
123
124 @item --without-fftw
125 Use the included fftpack library instead of the FFTW library.
126
127 @item --without-glpk
128 Don't use the GLPK library for linear programming.
129
130 @item --without-hdf5
131 Don't use the HDF5 library for reading and writing HDF5 files.
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
138 Compile and use the generic BLAS and LAPACK versions included with
139 Octave. By default, configure first looks for BLAS and LAPACK matrix
140 libraries on your system, including optimized BLAS implementations such
141 as the free ATLAS 3.0, as well as vendor-tuned libraries. (The use of
142 an optimized BLAS will generally result in several-times faster matrix
143 operations.) Only use this option if your system has BLAS/LAPACK
144 libraries that cause problems for some reason. You can also use
145 @code{--with-blas=lib} to specify a particular BLAS library
146 @code{-llib} that configure doesn't check for automatically.
147
111 @item --help 148 @item --help
112 Print a summary of the options recognized by the configure script. 149 Print a summary of the options recognized by the configure script.
113 @end table 150 @end table
114 151
115 See the file @file{INSTALL} for more information about the command line 152 See the file @file{INSTALL} for more information about the command line
127 Gnuplot is a command-driven interactive function plotting program. 164 Gnuplot is a command-driven interactive function plotting program.
128 Gnuplot is copyrighted, but freely distributable. The `gnu' in gnuplot 165 Gnuplot is copyrighted, but freely distributable. The `gnu' in gnuplot
129 is a coincidence---it is not related to the GNU project or the FSF in 166 is a coincidence---it is not related to the GNU project or the FSF in
130 any but the most peripheral sense. 167 any but the most peripheral sense.
131 168
132 To compile Octave, you will need a recent version of GNU Make. You 169 To compile Octave, you will need a recent version of GNU Make. You will
133 will also need @code{g++} 2.7.2 or later. Version 2.8.0 or @code{egcs} 170 also need a recent version of @code{g++} or other ANSI C++ compiler. You
134 1.0.x should work. Later versions may work, but C++ is still evolving, 171 will also need a Fortran 77 compiler or @code{f2c}. If you use
135 so don't be too surprised if you run into some trouble. 172 @code{f2c}, you will need a script like @code{fort77} that works like a
136 173 normal Fortran compiler by combining @code{f2c} with your C compiler in
137 It is no longer necessary to have @code{libg++}, but you do need to have 174 a single script.
138 the GNU implementation of @code{libstdc++}. If you are using @code{g++}
139 2.7.2, @code{libstdc++} is distributed along with @code{libg++}, but for
140 later versions, @code{libstdc++} is distributed separately. For
141 @code{egcs}, @code{libstdc++} is included with the compiler
142 distribution.
143 175
144 If you plan to modify the parser you will also need GNU @code{bison} and 176 If you plan to modify the parser you will also need GNU @code{bison} and
145 @code{flex}. If you modify the documentation, you will need GNU 177 @code{flex}. If you modify the documentation, you will need GNU
146 Texinfo, along with the patch for the @code{makeinfo} program that is 178 Texinfo, along with the patch for the @code{makeinfo} program that is
147 distributed with Octave. 179 distributed with Octave.
151 anonymous ftp archives. The primary site is @url{ftp.gnu.org}, but it 183 anonymous ftp archives. The primary site is @url{ftp.gnu.org}, but it
152 is often very busy. A list of sites that mirror the software on 184 is often very busy. A list of sites that mirror the software on
153 @url{ftp.gnu.org} is available by anonymous ftp from 185 @url{ftp.gnu.org} is available by anonymous ftp from
154 @url{ftp://ftp.gnu.org/pub/gnu/GNUinfo/FTP}. 186 @url{ftp://ftp.gnu.org/pub/gnu/GNUinfo/FTP}.
155 187
156 If you don't have a Fortran compiler, or if your Fortran compiler 188 You will need about 925 megabytes of disk storage to work with when
157 doesn't work like the traditional Unix f77, you will need to have the 189 building Octave from source (considerably less if you don't compile with
158 Fortran to C translator @code{f2c}. You can get @code{f2c} from any 190 debugging symbols). To do that, use the command
159 number of anonymous ftp archives. The most recent version of @code{f2c}
160 is always available from @url{netlib.att.com}.
161
162 On an otherwise idle Pentium 133 running Linux, it will take somewhere
163 between 1-1/2 to 3 hours to compile everything, depending on whether you
164 are building shared libraries. You will need about 100 megabytes of disk
165 storage to work with (considerably less if you don't compile with debugging
166 symbols). To do that, use the command
167 191
168 @example 192 @example
169 make CFLAGS=-O CXXFLAGS=-O LDFLAGS= 193 make CFLAGS=-O CXXFLAGS=-O LDFLAGS=
170 @end example 194 @end example
171 195