PREREQUISITES
=============
GiNaC requires the CLN library by Bruno Haible, available from either
one of the following FTP-sites:
* ,
* or
* .
You will also need a decent ANSI-compliant C++-compiler. We use
`post-EGCS' GCC, i.e GCC >= 2.95 for development so if you have a
different compiler you are on your own. Note that you may have to use
the same compiler you compiled CLN with because of differing
name-mangling schemes.
INSTALLATION
============
As with any autoconfiguring GNU software, installation is as easy as this:
$ ./configure
$ make
$ make check
[become root if necessary]
# make install
Known to work with:
- Linux on x86, Alpha and Sparc using GCC 2-95.x.
Known not to work with:
- GCC 2.7.x or earlier because proper exception support is missing there.
The "configure" script can be given a number of options to enable and
disable various features. For a complete list, type:
$ ./configure --help
A few of the more important ones:
--prefix=PREFIX install architecture-independent files in PREFIX
[defaults to /usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[defaults to the value given to --prefix]
--disable-shared suppress the creation of a shared version of libginac
More detailed installation instructions can be found in the documentation,
in the doc/ directory.
The time the "make" step takes depends heavily on optimization levels.
Large amounts of memory (>128MB) will be required by the compiler,
also depending on optimization. To give you a rough idea of what you
have to expect the following table may be helpful. It was measured on
an Athlon/800MHz with "enough" memory:
step | GCC optimization | comment
| -O1 | -O2 |
--------------+---------+---------+----------------------------------------
make | ~6m | ~8m | shared and static library
make check | ~8m | ~12m | largely due to compilation
COMMON PROBLEMS
===============
Problems with CLN
-----------------
You should use at least CLN-1.1, since during the development of
GiNaC various bugs have been discovered and fixed in earlier versions.
Please install CLN properly on your system before continuing with
GiNaC. When using GCC3 as compiler please use at least CLN-1.1.1
since some parts of GiNaC won't build with CLN-1.1.
Problems with building ginsh
----------------------------
The most common reason why this doesn't succeed is the absence of
libreadline and/or the corresponding header files. Depending on what
your system/distribution is, you will have to install a package called
libreadline and maybe libreadline-dev. If your system's vendor
doesn't supply such packages, go to
and compile it yourself.
Problems with missing standard header files
-------------------------------------------
Building GiNaC requires many standard header files. If you get a
configure error complaining about such missing files your compiler and
library are probably not up to date enough and it's no worth
continuing. If the only file missing is , however, there is
a solution. GCC-2.95.2 and earlier don't ship with this file. A
working implementation has been available since GCC-2.95.3. GCC-3.0
and later have an even better, fully standard-conforming
implementation, by default. If you are stuck with GCC-2.95.2 or
earlier and you cannot upgrade your compiler we recommend obtaining
the libstdc++-v2 header written by Magnus Fromreide. It was
posted to the gcc-patches mailing list on November 21 2000:
.