Skip to content

Commit c229212

Browse files
committed
Initial commit. Based on NEST 2.6.1
0 parents  commit c229212

File tree

1,250 files changed

+275184
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,250 files changed

+275184
-0
lines changed

INSTALL

+293
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,293 @@
1+
This file contains a brief summary or the steps needed to install NEST. More
2+
detailed information is available on the homepage of the NEST Initiative at
3+
http://www.nest-initiative.org/index.php/NEST_installation
4+
5+
Introduction
6+
============
7+
8+
NEST is installed in the standard Unix way: In the simplest case, the commands
9+
10+
./configure
11+
make
12+
make install
13+
14+
should build and install NEST to your operating system's standard location for
15+
third pary programs. Detailed installation instuctions can be found below, in
16+
the chapter `Generic Installation Instructions'.
17+
18+
19+
Choice of compiler
20+
==================
21+
22+
NEST has successfully been compiled with a range of compilers, including
23+
GNU gcc/g++, Intel icc/icpc, Pathscale, Portland and IBM compilers.
24+
25+
One caveat: you should compile NEST with the same compiler and version as
26+
your Python. Strange crashes have been observed on importing NEST when
27+
compiling NEST with g++ 4.3 or later on OSX and importing it into Python
28+
compiled with the standard gcc 4.0 compiler.
29+
30+
31+
Configuring NEST for Distributed Simulation with MPI
32+
====================================================
33+
34+
Non-Scali MPI
35+
-------------
36+
37+
1. Try --with-mpi as argument for configure. If it works, fine.
38+
2. If 1 does not work, or you want to use a non-standard MPI,
39+
try --with-mpi=/path/to/my/mpi.
40+
Directory mpi should contain include, lib, bin subdirectories for MPI.
41+
3. If that does not work, but you know the correct compiler wrapper for
42+
your machine, try configure CXX=myCompilerWrapper --with-mpi
43+
4. Sorry, you need to fix your MPI installation.
44+
45+
Scali MPI
46+
---------
47+
48+
1. Make sure all necessary environement variables
49+
(PATH, LD_LIBRARY_PATH, etc) required on your machine are set.
50+
2. Try configure with --with-scali as argument. If it works, fine.
51+
3. If 2 does not work, or your Scali installation is not in /opt/scali,
52+
try --with-scali=/path/to/my/scali. Directory scali should contain
53+
include, lib, bin subdirectories for Scali.
54+
4. Sorry, you need to fix your MPI installation.
55+
56+
57+
Disabling the Python Bindings (PyNEST)
58+
======================================
59+
60+
Please see also the file pynest/README in the documentation directory. If you
61+
are impatient, use
62+
63+
--without-python
64+
65+
as argument to configure.
66+
67+
68+
Generic Installation Instructions
69+
=================================
70+
71+
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
72+
Foundation, Inc.
73+
74+
This file is free documentation; the Free Software Foundation gives
75+
unlimited permission to copy, distribute and modify it.
76+
77+
The `configure' shell script attempts to guess correct values for
78+
various system-dependent variables used during compilation. It uses
79+
those values to create a `Makefile' in each directory of the package.
80+
It may also create one or more `.h' files containing system-dependent
81+
definitions. Finally, it creates a shell script `config.status' that
82+
you can run in the future to recreate the current configuration, and a
83+
file `config.log' containing compiler output (useful mainly for
84+
debugging `configure').
85+
86+
It can also use an optional file (typically called `config.cache'
87+
and enabled with `--cache-file=config.cache' or simply `-C') that saves
88+
the results of its tests to speed up reconfiguring. (Caching is
89+
disabled by default to prevent problems with accidental use of stale
90+
cache files.)
91+
92+
If you need to do unusual things to compile the package, please try
93+
to figure out how `configure' could check whether to do them, and mail
94+
diffs or instructions to the address given in the `README' so they can
95+
be considered for the next release. If you are using the cache, and at
96+
some point `config.cache' contains results you don't want to keep, you
97+
may remove or edit it.
98+
99+
The file `configure.ac' (or `configure.in') is used to create
100+
`configure' by a program called `autoconf'. You only need
101+
`configure.ac' if you want to change it or regenerate `configure' using
102+
a newer version of `autoconf'.
103+
104+
The simplest way to compile this package is:
105+
106+
1. `cd' to the directory containing the package's source code and type
107+
`./configure' to configure the package for your system. If you're
108+
using `csh' on an old version of System V, you might need to type
109+
`sh ./configure' instead to prevent `csh' from trying to execute
110+
`configure' itself.
111+
112+
Running `configure' takes awhile. While running, it prints some
113+
messages telling which features it is checking for.
114+
115+
2. Type `make' to compile the package.
116+
117+
3. Optionally, type `make check' to run any self-tests that come with
118+
the package.
119+
120+
4. Type `make install' to install the programs and any data files and
121+
documentation.
122+
123+
5. You can remove the program binaries and object files from the
124+
source code directory by typing `make clean'. To also remove the
125+
files that `configure' created (so you can compile the package for
126+
a different kind of computer), type `make distclean'. There is
127+
also a `make maintainer-clean' target, but that is intended mainly
128+
for the package's developers. If you use it, you may have to get
129+
all sorts of other programs in order to regenerate files that came
130+
with the distribution.
131+
132+
Compilers and Options
133+
=====================
134+
135+
Some systems require unusual options for compilation or linking that
136+
the `configure' script does not know about. Run `./configure --help'
137+
for details on some of the pertinent environment variables.
138+
139+
You can give `configure' initial values for configuration parameters
140+
by setting variables in the command line or in the environment. Here
141+
is an example:
142+
143+
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
144+
145+
*Note Defining Variables::, for more details.
146+
147+
Compiling For Multiple Architectures
148+
====================================
149+
150+
You can compile the package for more than one kind of computer at the
151+
same time, by placing the object files for each architecture in their
152+
own directory. To do this, you must use a version of `make' that
153+
supports the `VPATH' variable, such as GNU `make'. `cd' to the
154+
directory where you want the object files and executables to go and run
155+
the `configure' script. `configure' automatically checks for the
156+
source code in the directory that `configure' is in and in `..'.
157+
158+
If you have to use a `make' that does not support the `VPATH'
159+
variable, you have to compile the package for one architecture at a
160+
time in the source code directory. After you have installed the
161+
package for one architecture, use `make distclean' before reconfiguring
162+
for another architecture.
163+
164+
Installation Names
165+
==================
166+
167+
By default, `make install' will install the package's files in
168+
`/usr/local/bin', `/usr/local/man', etc. You can specify an
169+
installation prefix other than `/usr/local' by giving `configure' the
170+
option `--prefix=PATH'.
171+
172+
You can specify separate installation prefixes for
173+
architecture-specific files and architecture-independent files. If you
174+
give `configure' the option `--exec-prefix=PATH', the package will use
175+
PATH as the prefix for installing programs and libraries.
176+
Documentation and other data files will still use the regular prefix.
177+
178+
In addition, if you use an unusual directory layout you can give
179+
options like `--bindir=PATH' to specify different values for particular
180+
kinds of files. Run `configure --help' for a list of the directories
181+
you can set and what kinds of files go in them.
182+
183+
If the package supports it, you can cause programs to be installed
184+
with an extra prefix or suffix on their names by giving `configure' the
185+
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
186+
187+
Optional Features
188+
=================
189+
190+
Some packages pay attention to `--enable-FEATURE' options to
191+
`configure', where FEATURE indicates an optional part of the package.
192+
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
193+
is something like `gnu-as' or `x' (for the X Window System). The
194+
`README' should mention any `--enable-' and `--with-' options that the
195+
package recognizes.
196+
197+
For packages that use the X Window System, `configure' can usually
198+
find the X include and library files automatically, but if it doesn't,
199+
you can use the `configure' options `--x-includes=DIR' and
200+
`--x-libraries=DIR' to specify their locations.
201+
202+
Specifying the System Type
203+
==========================
204+
205+
There may be some features `configure' cannot figure out
206+
automatically, but needs to determine by the type of machine the package
207+
will run on. Usually, assuming the package is built to be run on the
208+
_same_ architectures, `configure' can figure that out, but if it prints
209+
a message saying it cannot guess the machine type, give it the
210+
`--build=TYPE' option. TYPE can either be a short name for the system
211+
type, such as `sun4', or a canonical name which has the form:
212+
213+
CPU-COMPANY-SYSTEM
214+
215+
where SYSTEM can have one of these forms:
216+
217+
OS KERNEL-OS
218+
219+
See the file `config.sub' for the possible values of each field. If
220+
`config.sub' isn't included in this package, then this package doesn't
221+
need to know the machine type.
222+
223+
If you are _building_ compiler tools for cross-compiling, you should
224+
use the `--target=TYPE' option to select the type of system they will
225+
produce code for.
226+
227+
If you want to _use_ a cross compiler, that generates code for a
228+
platform different from the build platform, you should specify the
229+
"host" platform (i.e., that on which the generated programs will
230+
eventually be run) with `--host=TYPE'.
231+
232+
Sharing Defaults
233+
================
234+
235+
If you want to set default values for `configure' scripts to share,
236+
you can create a site shell script called `config.site' that gives
237+
default values for variables like `CC', `cache_file', and `prefix'.
238+
`configure' looks for `PREFIX/share/config.site' if it exists, then
239+
`PREFIX/etc/config.site' if it exists. Or, you can set the
240+
`CONFIG_SITE' environment variable to the location of the site script.
241+
A warning: not all `configure' scripts look for a site script.
242+
243+
Defining Variables
244+
==================
245+
246+
Variables not defined in a site shell script can be set in the
247+
environment passed to `configure'. However, some packages may run
248+
configure again during the build, and the customized values of these
249+
variables may be lost. In order to avoid this problem, you should set
250+
them in the `configure' command line, using `VAR=value'. For example:
251+
252+
./configure CC=/usr/local2/bin/gcc
253+
254+
will cause the specified gcc to be used as the C compiler (unless it is
255+
overridden in the site shell script).
256+
257+
`configure' Invocation
258+
======================
259+
260+
`configure' recognizes the following options to control how it
261+
operates.
262+
263+
`--help'
264+
`-h'
265+
Print a summary of the options to `configure', and exit.
266+
267+
`--version'
268+
`-V'
269+
Print the version of Autoconf used to generate the `configure'
270+
script, and exit.
271+
272+
`--cache-file=FILE'
273+
Enable the cache: use and save the results of the tests in FILE,
274+
traditionally `config.cache'. FILE defaults to `/dev/null' to
275+
disable caching.
276+
277+
`--config-cache'
278+
`-C'
279+
Alias for `--cache-file=config.cache'.
280+
281+
`--quiet'
282+
`--silent'
283+
`-q'
284+
Do not print messages saying which checks are being made. To
285+
suppress all normal output, redirect it to `/dev/null' (any error
286+
messages will still be shown).
287+
288+
`--srcdir=DIR'
289+
Look for the package's source code in directory DIR. Usually
290+
`configure' can determine that directory automatically.
291+
292+
`configure' also accepts some other, not widely useful, options. Run
293+
`configure --help' for more details.

0 commit comments

Comments
 (0)