]> www.ginac.de Git - ginac.git/blobdiff - INSTALL
[PATCH] numeric, ex: added constructors taking `long long`. Fixes MinGW64 build.
[ginac.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 1fda652a1a0cf6a862f8d38849538f415bc1222f..d506b79a311f22b6a70e851e5fa3b2974fd30a31 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -2,46 +2,39 @@ PREREQUISITES
 =============
 
 GiNaC requires the CLN library by Bruno Haible installed on your system.
 =============
 
 GiNaC requires the CLN library by Bruno Haible installed on your system.
-It is available from <ftp://ftpthep.physik.uni-mainz.de/pub/gnu/>.
+It is available from <http://www.ginac.de/CLN/>.
 
 
-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
+You will also need a decent ISO C++-11 compiler. We recommend the C++
+compiler from the GNU compiler collection, GCC >= 4.8. 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.
 
 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.
 
+The pkg-config utility is required for configuration, it can be downloaded
+from <http://pkg-config.freedesktop.org/>. Also, Python 3 is required.
+
 To build the GiNaC tutorial and reference manual the doxygen utility
 (it can be downloaded from http://www.stack.nl/~dimitri/doxygen) and
 TeX are necessary.
 
 Known to work with:
 To build the GiNaC tutorial and reference manual the doxygen utility
 (it can be downloaded from http://www.stack.nl/~dimitri/doxygen) and
 TeX are necessary.
 
 Known to work with:
- - Linux on x86, Alpha and Sparc using GCC 3.x and 4.0.
+ - Linux on x86 and x86_64 using
+   - GCC 4.8, 4.9, 5.1, 5.2, 5.3, and 6.1
+   - Clang 3.5, 3.6, 3.7, 3.8
 
 Known not to work with:
 
 Known not to work with:
- - GCC 2.96 or earlier because proper exception and standard library support
-   is missing there.
+ - Clang 2.7 and earlier due to poor C++ support.
+ - GCC < 4.6.0 due to missing C++-11 support
 
 
-If you install from CVS, you also need GNU autoconf (>=2.59) and
-automake (>=1.7) to be installed.
+If you install from git, you also need GNU autoconf (>=2.59), automake (>=1.8),
+libtool (>= 1.5), python3, bison (>= 2.3), flex (>= 2.5.33) to be installed.
 
 
 INSTALLATION
 ============
 
 
 
 INSTALLATION
 ============
 
-To install from a source .tar.bz2 distribution:
-
- $ ./configure
- $ make
- [become root if necessary]
- # make install
-
-To install from CVS:
+To install from an unpacked source .tar.bz2 distribution:
 
 
- $ cvs -d :pserver:anoncvs@cvs.ginac.de:/home/cvs/GiNaC login
- [enter "anoncvs" as the password]
- $ cvs -d :pserver:anoncvs@cvs.ginac.de:/home/cvs/GiNaC co GiNaC
- $ cd GiNaC
- $ autoreconf -i
  $ ./configure
  $ make
  [become root if necessary]
  $ ./configure
  $ make
  [become root if necessary]
@@ -77,18 +70,35 @@ A few of the more important ones:
 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.
 
-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:
+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 
+===================
 
 
-step          | GCC optimization  | comment
-              |   -O1   |   -O2   |
---------------+---------+---------+----------------------------------------
-make          |   ~6m   |   ~8m   | shared and static library
-make check    |   ~8m   |  ~12m   | largely due to compilation
+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:
+<http://www.ginac.de/pipermail/ginac-list/2007-November/001263.html>
+
+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
 ===============
 
 COMMON PROBLEMS
 ===============
@@ -96,19 +106,28 @@ COMMON PROBLEMS
 Problems with CLN
 -----------------
 
 Problems with CLN
 -----------------
 
-You should use at least CLN-1.1, since during the development of GiNaC
+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
 -----------------------
 
 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 most common reason why this doesn't succeed is the absence of GNU
-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. Note that non-GNU versions of libreadline (in particular
+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 <ftp://ftp.gnu.org/gnu/readline/> 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.
 
 Problems with missing standard header files
 one shipped with Mac OS X) are not supported at the moment.
 
 Problems with missing standard header files