]> www.ginac.de Git - ginac.git/blobdiff - INSTALL
* Li2_do_sum_Xn: Optimize (avoid repeated multiplication).
[ginac.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 656fd7ef89d1ba62bef154f3ce15f734d432986d..893d091723a9d400121189a2307662814f6a3c77 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,14 +1,17 @@
-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).
+GiNaC requires the CLN library by Bruno Haible installed on your system.
+It is available from <ftp://ftpthep.physik.uni-mainz.de/pub/gnu/>.
 
 
+You will also need a decent ANSI-compliant C++-compiler.  We recommend
+the C++ compiler from the GNU compiler collection, GCC >= 3.0.  If you
+have a different or older 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
+
+INSTALLATION
 ============
 
 As with any autoconfiguring GNU software, installation is as easy as this:
 ============
 
 As with any autoconfiguring GNU software, installation is as easy as this:
@@ -17,10 +20,21 @@ As with any autoconfiguring GNU software, installation is as easy as this:
  $ make
  $ make check
 [become root if necessary]
  $ make
  $ make check
 [become root if necessary]
$ make install
# make install
 
 Known to work with:
 
 Known to work with:
-  - Linux/x86, EGCS-1.1.2 or GCC 2-95.1/2-95.2
+  - Linux on x86, Alpha and Sparc using GCC 3.0.x, 3.1 and 3.2.
+Known not to work with:
+  - GCC 2.96 or earlier because proper exception and standard library support
+    is missing there.
+
+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
 
 The "configure" script can be given a number of options to enable and
 disable various features. For a complete list, type:
 
 The "configure" script can be given a number of options to enable and
 disable various features. For a complete list, type:
@@ -34,6 +48,7 @@ A few of the more important ones:
  --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
  --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.
 
 More detailed installation instructions can be found in the documentation,
 in the doc/ directory.
@@ -42,21 +57,40 @@ 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
 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:
+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
 
 
-step:         | GCC optimization level:  | comment:
-              |  -O0   |  -O1   |  -O2   |
---------------+--------+--------+--------+-------------------------------
-make          |  ~4m   |  ~6m   |  ~10m  | building shared and static lib
-make check    |  ~2m   |  ~2m   |  ~7m   | mostly due to compilation
 
 
+COMMON PROBLEMS
+===============
 
 Problems with CLN
 
 Problems with CLN
-=================
+-----------------
 
 
-You should use at least CLN V1.0.3, since during the development of
+You should use at least CLN-1.1, since during the development of
 GiNaC various bugs have been discovered and fixed in earlier versions.
 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.
 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.
+
+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.