X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=INSTALL;h=f4c98b7e0b5ef5cb208e96f18d94fac2686ad2a2;hp=d79649f4c6ce6df76195c038c407ce4dbb797c02;hb=c7d9b624cb4bd5658a36fbcac2f73dbdb99edd5f;hpb=fbdd5eefb7188778ca9c04b5bee08223609b880f diff --git a/INSTALL b/INSTALL index d79649f4..f4c98b7e 100644 --- a/INSTALL +++ b/INSTALL @@ -1,33 +1,61 @@ PREREQUISITES ============= -GiNaC requires the CLN library by Bruno Haible, available from 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 +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. +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 git, you also need GNU autoconf (>=2.59), automake (>=1.7), +libtool (>= 1.5), bison (>= 2.3), flex (>= 2.5.33), autogen (>= 5.6.0) 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] + [become root if necessary] # make install -Known to work with: - - Linux on x86, Alpha and Sparc using GCC 2-95.x. -Known not to work with: - - GCC 2.7.x or earlier because proper exception 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 + +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: @@ -41,22 +69,46 @@ 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 -an Athlon/800MHz 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 git +=================== + +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: + + +Finally, run -step: | GCC optimization level: | comment: - | -O0 | -O1 | -O2 | ---------------+--------+--------+--------+------------------------------- -make | ~4m | ~5m | ~6m | building shared and static lib -make check | ~20m | ~11m | ~12m | largely due to compilation + $ 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 =============== @@ -64,34 +116,33 @@ COMMON PROBLEMS Problems with CLN ----------------- -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. When using GCC3 as compiler please use at least CLN-1.1.1 -since some parts of GiNaC won't build with CLN-1.1. +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: -Problems with building ginsh ----------------------------- +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). -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. +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. If the only file missing is , however, there is -a solution. GCC-2.95.2 and earlier don't ship with this file. A -working implementation has been available since GCC-2.95.3. GCC-3.0 -and later have an even better, fully standard-conforming -implementation, by default. If you are stuck with GCC-2.95.2 or -earlier and you cannot upgrade your compiler we recommend obtaining -the libstdc++-v2 header written by Magnus Fromreide. It was -posted to the gcc-patches mailing list on November 21 2000: -. +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.