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