-Prerequisites
+PREREQUISITES
=============
-GiNaC requires the CLN library by Bruno Haible, available at
-<ftp://ftp.santafe.eu/pub/gnu/> or <ftp://ftp.ilog.fr/pub/Users/haible/gnu/>.
-You will also need a good C++ compiler adhering to the ANSI standard (we
-used gcc for development so if you have a different compiler you are on
-your own).
-
-
-Installation
+GiNaC requires the CLN library by Bruno Haible, available from either
+one of the following FTP-sites:
+ * <ftp://ftp.santafe.edu/pub/gnu/>,
+ * <ftp://ftp.ilog.fr/pub/Users/haible/gnu/> or
+ * <ftp://ftpthep.physik.uni-mainz.de/pub/gnu/>.
+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 free C++
+interpreter Cint. You may obtain it from
+ * <ftp://root.cern.ch/root/>.
+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:
$ make install
Known to work with:
- - Linux/x86, EGCS-1.1.2 or GCC 2-95.1/2-95.2
+ - Linux/x86, EGCS-1.1.x and 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:
| -O0 | -O1 | -O2 |
--------------+--------+--------+--------+-------------------------------
make | ~4m | ~6m | ~10m | building shared and static lib
-make check | ~2m | ~2m | ~7m | mostly due to compilation
+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.
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 <ftp://ftp.gnu.org/gnu/readline/>
+and compile it yourself.
+
+
+Working with the Cint C++ interpreter
+=====================================
+
+Please see <http://root.cern.ch/root/Cint.html> 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
+This variable does not have to be exported for running the installed
+binary: since the actual program is started by a launcher that sets it.
+Enjoy!
+
+Here is an overview to gives you an idea if you can expect GiNaC-cint
+to compile, install and work properly:
+
+ Cint version | how it works
+--------------+----------------------------------------------------------
+ < 5.14.39 | `VERBOTEN' by license (please bite your favorite lawyer)
+ < 5.14.39,40 | compiles but does not feel happy at all (inconsistent!)
+ 5.14.41 | tested on egcs 1.1.1, gcc 2.95.2: only minor weirdnesses