X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=INSTALL;h=7c6258f3889723389732d7913c2cab8e3b229589;hp=5e300b5e0252fc67a3e59efdc6414e7fa32deccb;hb=427388b46ece3de8af727032f0801e0d5805b78e;hpb=7d5599da087670e2ce1229789a847acd73fe8e0a diff --git a/INSTALL b/INSTALL index 5e300b5e..7c6258f3 100644 --- a/INSTALL +++ b/INSTALL @@ -1,13 +1,19 @@ -Prerequisites +PREREQUISITES ============= -GiNaC requires the CLN library by Bruno Haible, available at - or . -You will also need a 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, 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 +name-mangling schemes. -Installation +INSTALLATION ============ As with any autoconfiguring GNU software, installation is as easy as this: @@ -16,13 +22,12 @@ As with any autoconfiguring GNU software, installation is as easy as this: $ make $ make check [become root if necessary] - $ make install + # make install Known to work with: - - Linux/x86, EGCS-1.1.2 or GCC 2-95. - -The "make" step takes about 10 minutes, on a 586 DX / 133 MHz / 64 MB or -about 2 minutes on a P-III /550 MHz / 512 MB. + - 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. The "configure" script can be given a number of options to enable and disable various features. For a complete list, type: @@ -40,11 +45,53 @@ A few of the more important ones: 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: + +step | GCC optimization | comment + | -O1 | -O2 | +--------------+---------+---------+---------------------------------------- +make | ~6m | ~8m | shared and static library +make check | ~8m | ~12m | largely due to compilation + + +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. + +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 +and compile it yourself. + +Problems with missing standard header files +------------------------------------------- -You should use at least CLN V1.0.2, since all earlier ones are -somewhat buggy. Even V1.0.1 has a few problems and GiNaC will not -support older versions. Please install it properly on your system -before continuing with GiNaC. +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: +.