]> www.ginac.de Git - ginac.git/blob - INSTALL
Documentation for generalized clifford algebra.
[ginac.git] / INSTALL
1 PREREQUISITES
2 =============
3
4 GiNaC requires the CLN library by Bruno Haible installed on your system.
5 It is available from <ftp://ftpthep.physik.uni-mainz.de/pub/gnu/>.
6
7 You will also need a decent ANSI-compliant C++-compiler. We recommend the
8 C++ compiler from the GNU compiler collection, GCC >= 3.0. If you have a
9 different or older compiler you are on your own. Note that you may have to
10 use the same compiler you compiled CLN with because of differing
11 name-mangling schemes.
12
13 Known to work with:
14  - Linux on x86, Alpha and Sparc using GCC 3.0.x, 3.1 and 3.2.
15
16 Known not to work with:
17  - GCC 2.96 or earlier because proper exception and standard library support
18    is missing there.
19
20
21 INSTALLATION
22 ============
23
24 To install from a source .tar.bz2 distribution:
25
26  $ ./configure
27  $ make
28  [become root if necessary]
29  # make install
30
31 To install from CVS:
32
33  $ cvs -d :pserver:anoncvs@cvsthep.physik.uni-mainz.de:/home/cvs login
34  [enter "anoncvs" as the password]
35  $ cvs -d :pserver:anoncvs@cvsthep.physik.uni-mainz.de:/home/cvs co GiNaC
36  $ cd GiNaC
37  $ ./autogen.sh
38  $ make
39  [become root if necessary]
40  # make install
41
42 To build the GiNaC tutorial and reference manual in HTML, DVI, PostScript,
43 or PDF formats, use one of
44
45  $ make html
46  $ make dvi
47  $ make ps
48  $ make pdf
49
50 To compile and run GiNaC's test and benchmark suite and check whether the
51 library works correctly you can use
52
53  $ make check
54
55 The "configure" script (and "autogen.sh", which invokes "configure") can be
56 given a number of options to enable and disable various features. For a
57 complete list, type:
58
59  $ ./configure --help
60
61 A few of the more important ones:
62
63  --prefix=PREFIX        install architecture-independent files in PREFIX
64                         [defaults to /usr/local]
65  --exec-prefix=EPREFIX  install architecture-dependent files in EPREFIX
66                         [defaults to the value given to --prefix]
67  --disable-shared       suppress the creation of a shared version of libginac
68  --disable-static       suppress the creation of a static version of libginac
69
70 More detailed installation instructions can be found in the documentation,
71 in the doc/ directory.
72
73 The time the "make" step takes depends heavily on optimization levels. Large
74 amounts of memory (>128MB) will be required by the compiler, also depending
75 on optimization. To give you a rough idea of what you have to expect the
76 following table may be helpful. It was measured on an Athlon/800MHz with
77 "enough" memory:
78
79 step          | GCC optimization  | comment
80               |   -O1   |   -O2   |
81 --------------+---------+---------+----------------------------------------
82 make          |   ~6m   |   ~8m   | shared and static library
83 make check    |   ~8m   |  ~12m   | largely due to compilation
84
85
86 COMMON PROBLEMS
87 ===============
88
89 Problems with CLN
90 -----------------
91
92 You should use at least CLN-1.1, since during the development of GiNaC
93 various bugs have been discovered and fixed in earlier versions. Please
94 install CLN properly on your system before continuing with GiNaC.
95
96 Problems building ginsh
97 -----------------------
98
99 The most common reason why this doesn't succeed is the absence of
100 libreadline and/or the corresponding header files. Depending on what your
101 system/distribution is, you will have to install a package called
102 libreadline and maybe libreadline-dev. If your system's vendor doesn't
103 supply such packages, go to <ftp://ftp.gnu.org/gnu/readline/> and compile
104 it yourself.
105
106 Problems with missing standard header files
107 -------------------------------------------
108
109 Building GiNaC requires many standard header files. If you get a configure
110 error complaining about such missing files your compiler and library are
111 probably not up to date enough and it's no worth continuing.