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