X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=INSTALL;h=b542d9e647d331a1b6b4c46dd836da129243a09f;hp=656fd7ef89d1ba62bef154f3ce15f734d432986d;hb=fb45203612dcfd2e30f6e7a43273597bcd13f026;hpb=fbbe1ab90e68928ad26156221b1033fa115d3aea diff --git a/INSTALL b/INSTALL index 656fd7ef..b542d9e6 100644 --- a/INSTALL +++ b/INSTALL @@ -1,26 +1,60 @@ -Prerequisites +PREREQUISITES ============= -GiNaC requires the CLN library by Bruno Haible, available at - or . -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 . +You will also need a decent ANSI-compliant C++-compiler. We recommend the +C++ compiler from the GNU compiler collection, GCC >= 3.4. 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 +The pkg-config utility is required for configuration, it can be downloaded +from . + +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 and x86_64 using GCC 3.4, 4.0, 4.1, and 4.2. + - Linux on Alpha using GCC 3.4. + - Solaris on Sparc using GCC 3.4. + - Windows on x86 using GCC 3.4 (MinGW) + +Known not to work with: + - GCC 4.3.0 due to the compiler bug, + see . + - GCC 2.96 or earlier because proper exception and standard library support + is missing there. + +If you install from CVS, you also need GNU autoconf (>=2.59), automake (>=1.7), +libtool (>= 1.5), bison (>= 2.3), flex (>= 2.5.33) to be installed. + + +INSTALLATION ============ -As with any autoconfiguring GNU software, installation is as easy as this: +To install from a source .tar.bz2 distribution: $ ./configure $ make - $ make check -[become root if necessary] - $ make install + [become root if necessary] + # make install -Known to work with: - - Linux/x86, EGCS-1.1.2 or GCC 2-95.1/2-95.2 +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: @@ -34,29 +68,83 @@ 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 + --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 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: +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: + +step | GCC optimization | comment + | -O1 | -O2 | +--------------+---------+---------+---------------------------------------- +make | ~6m | ~8m | shared and static library +make check | ~8m | ~12m | largely due to compilation + + +To install from CVS +=================== + +First, download the code: + + $ 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 -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 +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 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. +----------------- + +You should use at least CLN-1.1, 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. + +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.