File: INSTALL

package info (click to toggle)
octave2.1-forge 2006.03.17%2Bdfsg1-7
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 16,672 kB
  • ctags: 6,047
  • sloc: cpp: 49,610; ansic: 14,035; perl: 2,789; sh: 2,087; makefile: 1,560; lex: 1,219; tcl: 799; fortran: 422; objc: 202
file content (284 lines) | stat: -rw-r--r-- 10,305 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
=======================================================================
Prerequisites

Octave must be installed before building octave-forge.

Some functions in octave-forge depend on external libraries:

   * convhull, voronoi and delaunay need Qhull.  If you need these functions,
     then see main/geometry/README for instructions on downloading,
     building and installing libqhull.so and <qhull/*.h>.

   * symbolic expressions and variable precision arithmetic need GiNaC, 
     which in turn depends on cln and gmp.  If you need these functions,
     then see http://www.ginac.de for instructions for installing
     GiNaC, cln and gmp.

   * GNU Scientific Library functions need GSL.  Download and install
     as per the instructions in the GSL library.

=======================================================================
Simple user installation

$ tar xzf octave-forge-<ver>.tar.gz
$ cd octave-forge-<ver>
$ find . -name NOINSTALL -print

This lists the packages that won't be installed by default.  For
explanations, see the end of this file.  Remove NOINSTALL for each 
one that you do indeed want to install.

$ ./configure --with-path=$HOME/octave-forge --prefix=$HOME
$ make -k
$ make check
$ make icheck
$ make install

Remove anything from ~/octave-forge/FIXES that are superceded by recent 
versions of Octave.  Read ~/octave-forge/FIXES/README for notes on how 
the new behaviour differs from the pre-existing Octave behaviour.

Add the following to ~/.octaverc:

    LOADPATH = [ getenv("HOME"), "/octave-forge//:", LOADPATH ];
    EXEC_PATH = [ getenv("HOME"), "/octave-forge/bin:", EXEC_PATH ];

If you are using Octave 2.0.x, copy extra/ver20 to ~/octave-forge/ver20
and add 
    LOADPATH = [ getenv("HOME"), "/octave-forge/ver20:", LOADPATH ];
after the previous LOADPATH update statement.

If you are using mex files, make sure that ~/bin is on your path.
The [much too terse] man page for the mex program is in ~/man/man1.  
You can read it with "nroff -man ~/man/man1/mex.1 | more"

=======================================================================
Simple system installation

$ tar xzf octave-forge-<ver>.tar.gz
$ cd octave-forge-<ver>
$ find . -name NOINSTALL -print

This lists the packages that won't be installed by default.  For
explanations, see the end of this file.  Remove NOINSTALL for each 
one that you do indeed want to install.

$ ./configure
$ make -k
$ make check
$ make icheck
$ su
root$ cd <path-to>/octave-forge-<ver>
root$ make install

Remove anything from <site-m-files>/octave-forge/FIXES and <site-oct-files>
that are superceded by recent versions of Octave.

If you are using Octave 2.0.x, copy extra/ver20 to <site-m-files>/ver20,
and make sure that <site-m-files>/ver20 is listed first on you system
LOADPATH.  You can set this up in
	/usr/local/share/octave/<version>/m/startup/octaverc.m
or whatever the system startup file is on your site. 

=======================================================================
Details

The source archive is compiled using tar and compressed using gzip.
Unpack the archive using
	$ tar xzf octave-forge-<ver>.tar.gz
or if you are not using GNU tar
	$ gunzip -c octave-forge-<ver>.tar.gz | tar xf -
Then change to the octave-forge directory
	$ cd octave-forge-<ver>

This assumes you have a file octave-forge-<ver>.tar.gz.  If you are
building from CVS sources, you will need to login to the server 
	$ cvs -z3 -d:pserver:anonymous@cvs.octave.sf.net:/cvsroot/octave co \
		octave-forge
If you want a specific version yyyy.mm.dd, then specify "-r Ryyyy-mm-dd".
Next change to the octave-forge directory
	$ cd octave-forge
and build the configure script
	$ ./autogen.sh

Packages containing the file NOINSTALL will not be built or installed.
    $ find . -name NOINSTALL -print
Remove any NOINSTALL files from packages that you actually want to install.

Environment variables:

    Some configuration options are taken from the environment.  These 
    may be specified using
	$ var1=val1 var2=val2 ... ./configure
    or if you are not using the borne shell
	$ env var1=val1 var2=val2 ... ./configure

    OCTAVE=...
    MKOCTFILE=...
	Override the default mkoctfile used to build oct-files.  Normally
	you will not need to specify them, but if you are maintaining
	separate versions of Octave on your system (e.g., a patched
	version in addition to the normal version, or version 2.0 in
	addition to version 2.1), you will need to specify which version
	you are building for directly.

    CFLAGS=...
    CC=...
    CXX=...
    CXXFLAGS=...
    etc.
	Override the compiler options

Configure options:

    --with-path=...
	Base install directory.  m-files will be installed in
	mpath=<prefix>/<package>, where <package> is the name 
	of the directory containing the m-file. oct-files will be 
	installed in opath=<prefix>/oct.  Supporting executables 
	will be installed in xpath=<prefix>/bin.  

        The default path, opath, and xpath are extracted from 
        <octave/defaults.h> and will depend on how your version of 
        Octave was built.  Watch the output of make install to see 
        which paths it uses.  If your system is set up correctly, you 
	will not need to specify --prefix, and upon install all the 
        scripts will be available to you.  Note that by default the
        scripts are all placed in the version-specific directories 
        of Octave, so if you upgrade to a new version of Octave, you 
        will need to rebuild and reinstall octave-forge.  Any data files 
        (e.g., main/audio/data/sample.wav) are in the mpath.

	If you are not using the default, you may need to point your 
        load and exec paths to the new directories.  If you are 
        installing in a system-wide directory, then update the octave 
        startup file to set LOADPATH and EXEC_PATH. This is usually
           /usr/local/share/octave/<version>/m/startup/octaverc.m
        or something similar.  

	If you are installing as an end user set the loadpath in 
	your .octaverc file.

    --with-mpath=...
    --with-opath=...
    --with-xpath=...
	Override the default install path for m-files, oct-files
	and executables.

    --prefix=/usr/local
    --mandir=$prefix/man
    --bindir=$prefix/bin
    --libdir=$prefix/lib
	Where to put things to be found by the shell, such as the
	mex command.
	

    --x-includes=...
    --x-libraries=...
	Location of the X11 headers and libraries.  ./configure will
	usually find these automatically.

    --enable-nonfree
    --disable-nonfree
	*** NOT YET IMPLEMENTED ***
	Include or exclude the non-free software from the build.  The
	default is to exclude it. 

    --enable-extra
    --disable-extra
	*** NOT YET IMPLEMENTED ***
	Include or exclude the extra software from the build.  The
	default is to include some of it, but not all.

Make targets:

    make -k
	Build the supporting executables and the oct-files.  The
	option -k ignores functions which will not build.  Obviously
	these functions won't be available, but most of the rest of
	the package will work.  Make check will indicate problems.
    make check
	Check that the functions in the repository work as expected.
	Some functions don't.  Please send patches.
    make icheck
	Demonstrate that the interactive functions work
    make clean
	Remove all the temporary files and constructed files
    make install
	Install files to the appropriate path


Functions which are fixes to m-files distributed with Octave are
included in the directory octave-forge-<ver>/FIXES.  If you have a 
bleeding edge version of Octave, then the fixes may have already been
incorporated and you can simply delete them from the installed tree
<mpath>/FIXES and <opath>.  Or you can leave them in place and live 
with a potentially out of date function.  If you find a bug in a 
function in FIXES, check if it has been fixed in the latest 
distribution of Octave before reporting it.

*** NOTE *** If/when functions move from octave-forge into Octave proper,
we are going to have trouble keeping track of stuff in FIXES.  Perhaps
if we list which version of Octave incorporates the fixes, then we can
using octave -v to check if the target installation version already
includes it and customize the installation accordingly.

Sorry, there is no uninstall target.  make install will tell you where
it put things.  Remember it, so you can remove them later when you
upgrade octave or octave-forge.

========================================================================
Uninstalled packages

Not all packages will be installed by default.  To find out which are not,
run the following command from the octave-forge root:

    $ find . -name NOINSTALL -print

As of this writing, you will see:

nonfree/gpc
	this package has its own configure script.  Execute that before
	removing NOINSTALL and running make from the top level.

nonfree/splines
	nonfree packages will not be installed by default

extra/tk_octave
	This version of tk_octave depends on octave compiled with
	pthreads.  Since it isn't usually, this will not be installed
	by default.

extra/patches
	The build process does not modify octave itself, but there 
	are a number of patches included in extra/patches which 
	you could apply to the octave sources by hand.  Some of the 
	patches may have already been applied if you are using the 
	bleeding-edge octave.  Most of them will not apply if you 
	are using the 2.0 series.  The patches may not apply cleanly 
	to the bleeding-edge octave and may even conflict with each 
	other.  Patches should include the Octave version number on
	which they are based.

extra/ver20
	Backported functions on which functions in main depend, or
	backported versions of functions in main.  These were mentioned
	above

extra/Windows
	Functions specific to windows. These are things like image, 
	which load a different image display program than the default 
	unix image display programs.  Copy this directory somewhere 
	and put it ahead of all the Octave system directories in 
	LOADPATH.

extra/engine
	No installation scripts written yet.

extra/fake-sparse
	Real sparse routines are included in main, but you may want
	these if you can't use DLD functions

extra/testfun
	functions for embedding demo and test scripts in m-files; not
	sure if we want to use them