source: tags/release-0.5/INSTALL @ 704

Revision 269, 8.0 KB checked in by dcarter, 5 years ago (diff)

Updated release notes and install instructions

Line 
1Upgrade Instructions
2====================
3
4    Release 0.5 introduces many significant and incompatible changes to
5the Berkeley database formats and shared memory. There is no upgrade path.
6Before you upgrade, be sure remove the previous shared memory segments and
7databases first by running 'arm4_daemon -vrc'.
8
9    Installation at this point proceeds as normal.
10
11Basic Installation
12==================
13
14    For more information specific to this package, please read the README
15file. This source code distribution  is autoconfiguring and you should be
16able to compile it and install it without manual interventions such as
17editing Makefiles, configuration files, and so on. These are generic
18instructions for people who are not familiar with installing autoconfiguring
19software.
20
21The simplest way to compile this package is to enter the source code
22main directory and do the following:
23   
24  1. Configure the source code by typing:
25        % sh ./configure
26
27     If you're planning to install the package into your home directory
28     or to a location other than `/usr/local' then add the flag
29     `--prefix=PATH' to `configure'. For example, if your home directory 
30     is `/home/luser' you can configure the package to install itself there
31     by invoking:
32        % sh ./configure --prefix=/home/luser
33     
34     While running, `configure' prints some messages telling which
35     features is it checking for.
36
37  2. Compile the package by typing:
38        % make
39     Running `make' takes a while. If this is a very large package, now
40     is the time to go make some coffee.
41     
42  3. Some packages are bundled with self-tests for source-code
43     verification. If this package includes such tests, you can
44     optionally run them after compilation by typing
45        % make check
46
47  4. Type `make install' to install the programs and any data files and
48     documentation. Type `make uninstall' to undo the installation.
49     During installation, the following files go to the following directories:
50        Executables          -> /prefix/bin
51        Libraries            -> /prefix/lib
52        Public header files  -> /prefix/include
53        Man pages            -> /prefix/man/man?
54        Info files           -> /prefix/info
55     where `prefix' is either `/usr/local' or the PATH that you specified
56     in the `--prefix' flag.
57
58     If any of these directories do not presently exist, they will be
59     created on demand.
60
61     If you are installing in your home directory make sure that
62     `/home/luser/bin' is in your path. If you're using the bash shell
63     add this line at the end of your .cshrc file:
64        PATH="/home/luser/bin:${PATH}"
65        export PATH
66     If you are using csh or tcsh, then use this line instead:
67        setenv PATH /home/luser/bin:${PATH}
68     By prepending your home directory to the rest of the PATH you can
69     override systemwide installed software with your own custom installation.
70
71  5. You can remove the program binaries and object files from the
72     source code directory by typing `make clean'.  To also remove the
73     files that `configure' created (so you can compile the package for
74     a different kind of computer), type `make distclean'.
75
76Compiler configuration
77======================
78
79   The `configure' shell script is responsible for choosing and configuring
80the compiler(s).
81
82The following options allow you to specify whether you
83want to enable or disable various debugging mechanisms:
84
85`--with-warnings'
86      Make the compilers very picky about warnings. Try this whenever you
87      write new code since it may catch a few bugs. This is not active by
88      default because all too often warnings can be too picky and scare
89      the end-user.
90
91`--disable-assert'
92      Compile without using assertions. This results in faster code,
93      but should not be used during developerment, or to run `make check'
94      which depends on assertions. It should only be used for production
95      runs on code that you believe is bug free.
96
97All programs are compiled with optimization level 2 by default (-O2).
98Occasionally that confuses the debugger when code is inlined. To disable
99optimization and enable debugging, set the shell environment variables
100CFLAGS, CXXFLAGS, FFLAGS to `-g'. On the bash shell, you can do this
101like this:
102  $ export CFLAGS="-g"
103  $ export CXXFLAGS="-g"
104  $ export FFLAGS="-g"
105On the tcsh shell, use the `setenv' command instead:
106  % setenv CFLAGS "-g"
107  ...etc...
108For other shell, please consult your shell's documentation.
109
110Similarly, you can increase the optimization level by assigning these
111variables to "-g -O3".
112
113The following options allow you to reconsider the `configure' shell script's
114choice of Fortran compilers.
115
116`--with-f2c'
117      Compile the Fortran code by translating it to C, even if a native
118      Fortran compiler is available. A copy of the f2c translator should be
119      bundled in the distribution. It will be compiled and then used to
120      compile your Fortran code.
121`--with-g77'
122      Compile the Fortran code with g77 even if a proprietary Fortran 
123      compiler is available
124`--with-f77=F77'
125      Compile the Fortran code with the specified Fortran compiler.
126
127Depending on what languages the package uses, some of these options may
128or may not be available. To see what is available, type:
129    % sh ./configure --help
130
131About the configure script
132==========================
133 
134   The `configure' shell script attempts to guess correct values for
135various system-dependent variables used during compilation.  It uses
136those values to create a `Makefile' in each directory of the package.
137It may also create one or more `.h' files containing system-dependent
138definitions.  Finally, it creates a shell script `config.status' that
139you can run in the future to recreate the current configuration, a file
140`config.cache' that saves the results of its tests to speed up
141reconfiguring, and a file `config.log' containing compiler output
142(useful mainly for debugging `configure').
143
144   If you need to do unusual things to compile the package, please try
145to figure out how `configure' could check whether to do them, and mail
146diffs or instructions to the address given in the `README' so they can
147be considered for the next release.  If at some point `config.cache'
148contains results you don't want to keep, you may remove or edit it.
149
150   The file `configure.in' is used to create `configure' by a program
151called `autoconf'.  You only need `configure.in' if you want to change
152it or regenerate `configure' using a newer version of `autoconf'.
153
154Advanced installation options.
155==============================
156
157   The `configure' script also understands the following more advanced
158options, to handle situations for which `--prefix' alone is not sufficient.
159
160   You can specify separate installation prefixes for
161architecture-specific files and architecture-independent files.  If you
162give `configure' the option `--exec-prefix=PATH', the package will use
163PATH as the prefix for installing programs and libraries.
164Documentation and other data files will still use the regular prefix.
165
166   In addition, if you use an unusual directory layout you can give
167options like `--bindir=PATH' to specify different values for particular
168kinds of files.  Run `configure --help' for a list of the directories
169you can set and what kinds of files go in them.
170
171   If the package supports it, you can cause programs to be installed
172with an extra prefix or suffix on their names by giving `configure' the
173option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
174
175Optional Features
176=================
177
178   Some packages pay attention to `--enable-FEATURE' options to
179`configure', where FEATURE indicates an optional part of the package.
180They may also pay attention to `--with-PACKAGE' options, where PACKAGE
181is something like `gnu-as' or `x' (for the X Window System).  The
182`README' should mention any `--enable-' and `--with-' options that the
183package recognizes.
184
185   For packages that use the X Window System, `configure' can usually
186find the X include and library files automatically, but if it doesn't,
187you can use the `configure' options `--x-includes=DIR' and
188`--x-libraries=DIR' to specify their locations.
189
Note: See TracBrowser for help on using the repository browser.