X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=INSTALL;h=a7ef9beb7766a483be1d610954054b77adb93204;hp=750d5164c0a134a983143513b0b0fd2d407750aa;hb=aff6beb8e799e6827c40975ed2f22b51976b1cb8;hpb=5c0989497994b35faa9c17b18f936c21dbb22d78 diff --git a/INSTALL b/INSTALL index 750d5164..a7ef9beb 100644 --- a/INSTALL +++ b/INSTALL @@ -1,27 +1,112 @@ -Installation: +PREREQUISITES ============= +GiNaC requires the CLN library by Bruno Haible, available at 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 C++ +interpreter cint (which requires that you register for commercial +use). 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.2 or GCC 2-95.1/2-95.2 + +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 +a P-III/500MHz with "enough" memory: + +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 + + +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. + +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. After that it should work fine. + +If you want to build a completely static ginsh and your compiler still +complains about unresolved objects try linking with libncurses, too. + + +Working with the Cint C++ interpreter +===================================== + +The interface to the Cint C++ interpreter is currently in an alpha +state. Please see to learn about +Cint and install it before installing ginaccint. For the tool +makecint to work properly it must 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 on the command line saying + $ ./configure --with-cint=/my/path/to/cintsysdir +Good luck! -Problems with CLN: -================== + Known to work with: | Known not to work with: +-----------------------+---------------------------- + Cint 5.14.31 | Cint before 5.14.29 -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.