PREREQUISITES ============= GiNaC requires the CLN library by Bruno Haible, available at 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. Optionally, GiNaC may work together with Masaharu Goto's C++ interpreter cint (which requires that you register for commercial use). You may obtain it from * . Install it by following the instructions included in Cint's distribution before trying to compile GiNaC-cint. (See section `Working with the Cint C++ interpreter' below.) 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/x86, EGCS-1.1.x and GCC 2-95.x 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 a P-III/500MHz with "enough" memory: step: | GCC optimization level: | comment: | -O0 | -O1 | -O2 | --------------+--------+--------+--------+------------------------------- make | ~4m | ~6m | ~10m | building shared and static lib make check | ~3m | ~3m | ~7m | mostly due to compilation COMMON PROBLEMS =============== Problems with CLN ----------------- You should use at least CLN V1.0.3, since during the development of GiNaC various bugs have been discovered and fixed in earlier versions. To protect you, the "configure" script checks for a feature that was added in V1.0.3 so it won't continue with earlier versions anyhow. Please install CLN properly on your system before continuing with GiNaC. 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. After that it should work fine. If you want to build a completely static ginsh and your compiler still complains about unresolved objects try linking with libncurses, too. Working with the Cint C++ interpreter ===================================== Please see to learn about Cint and install it prior to installing ginaccint. For the interpreter- compiler `makecint' to work properly, the Makefiles need to know where Cint has its system directory. This is usually done by exporting $CINTSYSDIR to point to the proper place. With GiNaC you may either try to export that variable and type $ ./configure --with-cint or specify it directly on the command line by saying $ ./configure --with-cint=/my/path/to/cintsysdir Enjoy! Here is an overview to gives you an idea if you can expect GiNaCcint to compile, install and work properly: Cint version | is known to work with | is known not to work with --------------+---------------------------+----------------------------- < 5.14.37 | | (incompatible with GiNaC) 5.14.38 | egcs 1.1.1 (problematic) | gcc.2.95.2 5.14.39 | egcs 1.1.1, gcc.2.95.2 | gcc <= 2.7.2.3