File: INSTALL

package info (click to toggle)
form 4.1-1
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 5,880 kB
  • ctags: 4,927
  • sloc: ansic: 91,660; cpp: 7,026; sh: 4,184; ruby: 1,238; makefile: 433
file content (193 lines) | stat: -rw-r--r-- 5,954 bytes parent folder | download
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
Overview
========

FORM uses the GNU autoconf tools to configure and install. In principle, the
three-step invocation

    ./configure
    make
    make install

should be enough to configure, compile, and install FORM with default settings
into the default path "/usr/bin". Nevertheless, you are strongly advised to
carefully read the following sections in order to prevent common mistakes and to
be able to choose the best configuration settings for your system.


Prerequisites
=============

In case you need to (re-)generate the script "configure" (see next section), you
have to have the GNU autoconf/automake programs installed on your system. You
should have at least autoconf version >= 2.59 and automake version >= 1.7.

To compile the sources you need reasonably modern C and C++ compilers, like for
example the GNU compiler collection (GCC) or the Intel C compiler. The
facilities in FORM for external communication need a POSIX compliant C library,
like the GNU glibc.

The threaded version of FORM needs a Posix compliant implementation of threads
(pthreads). The parallel version ParFORM needs an MPI implementation.

The manual needs a LaTeX installation with the commands "latex" and "dvips" or
"pdflatex" available. For the html format the command "latex2html" is needed.
The source code documentation needs Doxygen, at least in version 1.3.

As a default, FORM tries to use the GMP library and the zlib library for fast
numerics and compression, respectively. If any of these libraries is not
available, the corresponding feature will be deactivated. GMP should be at least
version 4.2. The zlib library should be a recent version, >= 1.2.


Preparations
============

If you have acquired the FORM sources via CVS or GIT, several files will be
missing, especially the script "configure". To generate these files you have to
issue the command

    autoreconf -i

If you have downloaded and extracted the tar-file distribution, these files are
already there and the above step is not necessary. But in case you experience
problems related to the GNU autoconf files, it can be a good idea to recreate
all these files with the command "autoreconf", maybe with the option "-f" to
force a recreation.


Configuration
=============

Running

    ./configure

will check your system and activate the available default settings. The chosen
configuration will be printed at the end of the running. To change the default
installation path use the "--prefix" option:

    ./configure --prefix=<path>

The FORM executables will then be installed into the directory "<path>/bin".

As a default, the sequential version (form) and the threaded version (tform) of
FORM will be selected for compilation. To prevent a flavor from being build, use
one of the following options:

    ./configure --disable-scalar
    ./configure --disable-threaded

If you want to build the parallel version ParFORM, then add the option:

    ./configure --enable-parform

If you want to build the debugging versions of these flavors, then add the
option:

    ./configure --enable-debug

Use one of the following options

    ./configure --without-gmp
    ./configure --without-zlib

to prevent FORM from using one of these libraries. The executable will not be
linked against this library then and the functionality will be provided by
internal code. Usually, you don't need to care about these options.

The option

    ./configure --disable-largefile

forces FORM not to use large file support, i.e. to use _FILE_OFFSET_BITS==32 and
thereby restrict files to be less than 4GB in size on 32bit machines. Usually,
you don't need to care about this option.

To choose a compiler that is different from the one "configure" automatically
determines, you can set the environment variables "CC" and "CXX" on the command
line:

    ./configure CC=icc CXX=icpc CFLAGS=-Werror CXXFLAGS=-Werror

The above example shows also how to set additional compiler flags.

The configure script creates a file "config.h" in which several options and
settings are passed on to the source code files via preprocessor definitions.
For short-term adjustments you can alter these settings manually, but beware
that they will be overwritten the next time "configure" runs.

Finally, the option "--help" shows the available options together with a short
explanation:

    ./configure --help


Compilation
===========

Issue the command

    make

to build all activated FORM flavors (form, tform, ...). The compilation will
result in the executables sitting in the sources directory of the distribution.
To compile only a specific flavor of FORM, name it as a parameter:

    make form
    make tform
    make vorm
    make tvorm
    make parform
    make parvorm

Additional flags for the compiler or linker can be given at the command line,
for example:

    make vorm CFLAGS=-O1 CXXFLAGS=-O1

To cleanup the distribution directory, the command

    make clean

can be used.

The production date printed by the executable will be set to the time of the
release of the tar-file distribution, or the time of the compilation if you
use the sources acquired from CVS or GIT. If one wants to have another date
printed one can give the DATE option to the make command like

    make vorm DATE="11 Nov 2011"


Documentation
=============

You need to change into the directory "doc" to build the documentation. There
you can choose to run one of the commands

    make dvi
    make ps
    make pdf
    make html

to build all documentation in the specified format. If you want to build only
the manual or the source code documentation, you need to change directory into
"doc/manual" or "doc/doxygen" before you issue the make commands. The DATE
option can be used if necessary.


Installation
============

With the command

    make install

the compiled executables will be copied into the configured path ("/usr/bin" as
the default).


Troubleshooting
===============

No troubles to be shot, yet.