X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=INSTALL;h=fadf8baeef4837b4e781ed156ec82f9d06c70c76;hp=750d5164c0a134a983143513b0b0fd2d407750aa;hb=bb71d4ec6a8a8bd05c6f6e93671e5d68e45771e7;hpb=5c0989497994b35faa9c17b18f936c21dbb22d78 diff --git a/INSTALL b/INSTALL index 750d5164..fadf8bae 100644 --- a/INSTALL +++ b/INSTALL @@ -1,27 +1,114 @@ -Installation: +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 +name-mangling schemes. + +Optionally, GiNaC may work together with Masaharu Goto's free C++ +interpreter Cint. You may obtain it from + * . +Install it by following the instructions included in Cint's +distribution before trying to compile GiNaC-cint. (See section +`Working with the Cint C++ interpreter' below.) + + +INSTALLATION +============ + As with any autoconfiguring GNU software, installation is as easy as this: -sysprompt> ./configure -sysprompt> make -sysprompt> make check -sysprompt> make install + $ ./configure + $ make + $ make check +[become root if necessary] + # make install Known to work with: - - Linux/x86, EGCS-1.1.2 or GCC 2-95. + - Linux/x86, EGCS-1.1.x and 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: -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. + $ ./configure --help + +A few of the more important ones: + + --prefix=PREFIX install architecture-independent files in PREFIX + [defaults to /usr/local] + --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 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 level: | comment: + | -O0 | -O1 | -O2 | +--------------+--------+--------+--------+------------------------------- +make | ~4m | ~5m | ~6m | building shared and static lib +make check | ~20m | ~11m | ~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. + + +Working with the Cint C++ interpreter +===================================== + +Please see to learn about Cint +and install it prior to installing ginaccint. For the interpreter- +compiler `makecint' to work properly, the Makefiles need to know where +Cint has its system directory. This is usually done by exporting +$CINTSYSDIR to point to the proper place. With GiNaC you may either +try to export that variable and type + $ ./configure --with-cint +or specify it directly on the command line by saying + $ ./configure --with-cint=/my/path/to/cintsysdir +This variable does not have to be exported for running the installed +binary: since the actual program is started by a launcher that sets it. +Enjoy! -Problems with CLN: -================== +Here is an overview to gives you an idea if you can expect GiNaC-cint +to compile, install and work properly: -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. + Cint version | how it works +--------------+---------------------------------------------------------- + < 5.14.39 | `VERBOTEN' by license (please bite your favorite lawyer) + < 5.14.60 | since GiNaC version 0.7, these do not compile any more + 5.14.62-79 | compiles fine, works well with GCC 2.95.x. GCC3 no go.