source: tags/release-0.6/INSTALL @ 704

Revision 369, 8.2 KB checked in by dcarter, 4 years ago (diff)

merge of development-0.6 branch

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