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