X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=INSTALL;h=fadf8baeef4837b4e781ed156ec82f9d06c70c76;hp=5e300b5e0252fc67a3e59efdc6414e7fa32deccb;hb=c9282804ff4127fc84bb01b2b8707fbb6724b003;hpb=7d5599da087670e2ce1229789a847acd73fe8e0a diff --git a/INSTALL b/INSTALL index 5e300b5e..fadf8bae 100644 --- a/INSTALL +++ b/INSTALL @@ -1,13 +1,26 @@ -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. +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 + +INSTALLATION ============ As with any autoconfiguring GNU software, installation is as easy as this: @@ -16,13 +29,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/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: @@ -40,11 +52,63 @@ 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 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! + +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.