PREREQUISITES ============= GiNaC requires the CLN library by Bruno Haible installed on your system. It is available from . You will also need a decent C++ compiler (ISO C++-11 or higher). We recommend the C++ compiler from the GNU compiler collection or the one from the LLVM project. 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 for compatibility. The pkgconf utility is required for configuration: . Alternatively, pkg-config works as well. To build the GiNaC tutorial and reference manual, the doxygen utility (it can be downloaded from ) and TeX are necessary. If you install from git, you also need GNU autoconf (>=2.59), automake (>=1.8), libtool (>= 1.5), python (version 2.7 or 3.x), bison (>= 2.3), flex (>= 2.5.33) to be installed. INSTALLATION ============ To install from an unpacked source .tar.bz2 distribution: $ ./configure $ make [become root if necessary] # make install To build the GiNaC tutorial and reference manual in HTML, DVI, PostScript, or PDF formats, use one of $ make html $ make dvi $ make ps $ make pdf To compile and run GiNaC's test and benchmark suite and check whether the library works correctly you can use $ make check 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 --disable-static suppress the creation of a static version of libginac More detailed installation instructions can be found in the documentation, in the doc/ directory. The time to build the library depends to a large degree on optimization levels. Using the default high optimization, 'make' takes a few minutes on a fast machine and 'make check' takes some more minutes. You can speed this up with a parallel build with 'make -j2' or higher, depending on the number of available CPU cores. To install from git =================== First, download the code: $ git clone git://www.ginac.de/ginac.git ginac $ cd ginac Secondly, make sure all required software is installed. This is *really* important step. If some package is missing, the `configure' script might be misgenerated, see e.g. this discussion: Finally, run $ autoreconf -i to generate the `configure' script, and proceed in a standard way, i.e. $ ./configure $ make [become root if necessary] # make install COMMON PROBLEMS =============== Problems with CLN ----------------- You should use at least CLN-1.2.2, 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. Problems building ginsh ----------------------- The GiNaC interactive shell, ginsh, makes use of GNU readline to provide command line editing and history. If readline library and/or headers are missing on your system, the configure script will issue a warning. In this case you have two options: 1) (the easiest) If you don't intend to use ginsh (i.e. if you need GiNaC library to compile some piece of software), ignore it. ginsh builds just fine without readline (obviously, it won't support the command line history and editing). 2) Install GNU readline and run the configure script once again. Depending on what your system/distribution is, you will have to install a package called libreadline and libreadline-dev (or readline-devel). If your system's vendor doesn't supply such packages, go to and compile it yourself. Note that non-GNU versions of libreadline (in particular one shipped with Mac OS X) are not supported at the moment.