source: git/INSTALL @ 4a81ec

Last change on this file since 4a81ec was 9f226d, checked in by Olaf Bachmann <obachman@…>, 27 years ago
* Updated README files to reflect smallgmp changes git-svn-id: file:///usr/local/Singular/svn/trunk@383 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 14.1 KB
1                         Singular version 1.0
2                     University of Kaiserslautern
3     Department of Mathematics (or, Centre for Computer Algebra)
4          Authors: G.-M. Greuel, G. Pfister, H. Schoenemann
5                  (C) 1986-1997 All Rights Reserved
8  =================================================================
10This file contains instructions on how to compile and install the
11complete source distribution of Singular. For general information
12about Singular, see the file 'README' contained in this directory. For
13copying informations, see the file 'COPYING' contained in this
14directory. For comments, problems or bugs, please send mail to For more detailed information on the
16packages contained in this distribution (i.e., on gmp, MP, factory,
17and libfac) see the README files contained in the subdirectories
18of this distribution.
20Installation for the Impatient
22Being in the directory which contains this file and supposing that you
23have GNU make (gmake) installed on your system, type
25  ./configure; gmake install
27and get a cup of coffee (or, tea, if you prefer).
29Notice the 'gmake install' (and not just 'gmake' !!). For more
30explanations and details, see below.
33Basic Installation
36The full source distribution of Singular consists of the following
37four independent library packages
39        smallgmp A minimal version of the gmp library
40        MP       The Multi Protocol library
41        factory  The factory library for polynomial factorization
42        libfac   The libfac library for characteristic set computations
44and the Singular kernel source code itself (which is contained in the
45'Singular' subdirectory). It is possible to install these four
46packages and the Singular kernel independently. For more information
47on installing a particular package, see the INSTALL files contained in
48the respective directories.
50Singular can be built including almost any combination of these four
51packages. However, some Singular functionality will be disabled if you
52do not built Singular with all of them. You do not need any additional
53add-on packages to install Singular. However, for better performance,
54we strongly recommend that you install the gmp library at a standard
55place on your system.
58You can use the `configure' shell script in this directory to control
59which packages are included or not. If given no special options, the
60'configure' script determines the "maximal" Singular configuration
61which can be build on your system, and subsequently calls the
62'configure' scripts of the independent packages and the Singular
63kernel. It furthermore creates a top-level 'Makefile' from the file
64'' and a shell script `config.status' that you can run in
65the future to recreate the current configuration, a file
66`config.cache' that saves the results of its tests to speed up
67reconfiguring, and a file `config.log' containing compiler output
68(useful mainly for debugging `configure').
70The file `' is used to create `configure' by a program
71called `autoconf'.  You only need `' if you want to change
72it or regenerate `configure' using a newer version of `autoconf'.
74The simplest way to compile a full Singular containing all packages is:
76  1. `cd' to the top-level directory of the full distribution and type
77     `./configure' to configure the package for your system.  If you're
78     using `csh' on an old version of System V, you might need to type
79     `sh ./configure' instead to prevent `csh' from trying to execute
80     `configure' itself.
82     Running `configure' takes quite awhile.  While running, it prints
83     some messages telling which package it is configuring and which
84     features it is checking for.
86  2. Type `gmake install' to compile Singular.
88     This will create the subdirectories (of the top-level directory)
89     'bin', 'include', 'lib', 'info', and 'share' containing the
90     Singular executable program (in 'bin'), the header files of the
91     distributed packages (in 'include'), the compiled libraries (in
92     'lib'), info documentation files (in 'info'), and Singular data
93     (i.e. architecture independent) files (in 'share').
95     NOTE: You need to do a 'make install' (and _not_ simply a
96     'make'), since a compilation of the Singular kernel supposes that
97     the supporting library packages are installed, _before_ Singular
98     itself is compiled.
100  3. Optionally, type `make check' to run the self-tests that come with
101     Singular (contained in the subdirectory Singular/tests).
103  5. You can remove the program binaries and object files from the
104     source code directory by typing `make clean'.  To also remove the
105     files that `configure' created (so you can compile the package for
106     a different kind of computer), type `make distclean'.  There is
107     also a `make maintainer-clean' target, but that is intended mainly
108     for the package's developers.  If you use it, you may have to get
109     all sorts of other programs in order to regenerate files that came
110     with the distribution.
112  6. Other make targets include:
113     'dist'      : Creates a distribution of all source files of
114                   Singular.
115     'info'      : Regenerates Info files.
116     'dvi'       : Generates the file Singular/docs/Singular.dvi -- a DVI file
117                   of Singular's user manual
118     'uninstall' : Deletes all files that the 'install'
119                   target created
120     'check'     : Tests basic Singular functionality
123Compilers and Options
126You need an ANSI-C++ and ANSI-C compiler for compiling Singular. We
127strongly recommend that you use the GNU C/C++ (gcc) compiler. If you
128have gcc installed on your system, configure will automatically find
129and use it for building Singular. Otherwise, configure will try to
130find another ANSI-C and ANSI-C++ compiler. To explicitly use an
131alternative compiler, or to set some unusual options for compilation
132or linking that the `configure' script does not know about, you can
133give `configure' initial values for variables by setting them in the
134environment.  Using a Bourne-compatible shell, you can do that on the
135command line like this:
136     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
137     CXX=CC CXXFLAGS=+O3 LIBS=-liostream ./configure
139Or on systems that have the `env' program, you can do it like this:
140     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
143Installation Names
146By default, `gmake install' will install the Singular program in
147`${top_srcdir}/bin', Singular's info files in `${top_srcdir}/info',
148Singular's program libraries in '${top_srcdir}/share', the header
149files of the supporting packages in '${top_srcdir}/include' and the
150libraries of the supporting packages in '${top_srcdir}/include' where
151'${top_srcdir}' refers to the top-level directory of the full Singular
152distribution.  You can specify an installation prefix other than
153`${top_srcdir}' by giving `configure' the option
154`--prefix=PATH'. Furthermore, you can specify an alternative directory
155where the Singular program is installed by giving configure the option
156`--bindir=PATH'. For Singular's info files, use '--infodir=PATH'; for
157Singular's program libraries, use '--datadir=PATH'; for header files,
158use '--includedir=PATH'; and for libraries use '--libdir=PATH'. Make
159sure that PATH is an _absolute_ (i.e. not relative) pathname.
162Optional Features
165Singular's top-level configure script pays attention to the following
166'--enable-PACKAGE' (resp. '--disable-PACKAGE') options where PACKAGE
167can be 'MP', 'factory', and 'libfac', 'smallgmp'.
169Giving an '-enable-PACKAGE' (resp. '--disable-PACKAGE;) option means
170that the respective PACKAGE is configured and built (resp. is not
171configured and built).
173Furthermore, the following '--with-PACKAGE' (resp. --without-PACKAGE')
174options are recognized: 'MP', 'factory', and 'libfac'.
176Giving an '--with-PACKAGE' (resp. `--without-PACKAGE') option means
177that Singular itself is built with (resp. without)  PACKAGE and the
178functionality provided by PACKAGE.
180Without explicit options, configure runs as if it had given all
181'--enable-PACKAGE' options except for:
182    * the library and header files of PACKAGE are already installed on
183      your system
184or, * the respective '--without-PACKAGE' option was given
185or, * a directory of the name of the PACKAGE does not exist.
187Furthermore, without explicit options, configure runs as if it had given all
188'--with-PACKAGE' options except for
189    * the respective '--disable-PACKAGE' option was given _and_ the
190      library and header files of PACKAGE are _not_ already installed
191      on your system.
193Singular's arbitrary precision arithmetic can be realized using the
194GNU multiple precision library, or the smallgmp library contained in
195this distribution, or using Singular build-in routines. Using the GNU
196multiple precision (GMP) library results in the best performance. The
197smallgmp library contained in this distribution is a subset of GMP
198which is written in C, only. Its performance is usually not quite as
199good as that of the original gmp library. Singular's build-in
200arbitrary precision routines are the least efficient.
202You can specify which arbitrary precision routines are used in
203Singular by giving configure the option '--with_apint=PACKAGE' where
204PACKAGE can be
205  'gmp'         requires that gmp.h and libgmp.a are installed at a
206                standard place on your system
207  'smallgmp'    requires that smallgmp.h and libsmallgmp.a are
208                installed at a standard place on your system (or, that
209                a the top-level 'make install' is used for building
210                Singular.
211  'buildin'     disables that Singular can be build with MP, factory,
212                or libfac
213Notice that MP, factory, and libfac, can only be built (and,
214consequently used by Singular) if the used arbitrary precision
215packages is either gmp or smallgmp.
218System Requirements
221The following requirements have to be met by your system, so that you
222can build a full Singular:
223  0. You need GNU make.
224  1. The condition (sizeof(int) == 4) has to be true.
225  2. The condition (sizeof(void*) == sizeof(long)) has to be true.
226  3. The condition (-2 >> 1 == -1) has to be true.
227  4. The standard C headers and libraries have to be installed.
230Operation Controls
233   `configure' recognizes the following options to control how it
237     Use and save the results of the tests in FILE instead of
238     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
239     debugging `configure'.
245     Do not print messages saying which checks are being made.
248     Print the version of Autoconf used to generate the `configure'
249     script, and exit.
252     Prints  the following summary of the options to `configure', and exits.
254Usage: configure [options] [host]
255Options: [defaults in brackets after descriptions]
257  --cache-file=FILE       cache test results in FILE
258  --help                  print this message
259  --no-create             do not create output files
260  --quiet, --silent       do not print `checking...' messages
261  --version               print the version of autoconf that created configure
262Directory and file names:
263  --prefix=PREFIX         install architecture-independent files in PREFIX
264                          [/mnt/amd/users/urmel/singular/obachman/Singular]
265  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
266                          [same as prefix]
267  --bindir=DIR            user executables in DIR [EPREFIX/bin]
268  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
269  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
270  --datadir=DIR           read-only architecture-independent data in DIR
271                          [PREFIX/share]
272  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
273  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
274                          [PREFIX/com]
275  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
276  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
277  --includedir=DIR        C header files in DIR [PREFIX/include]
278  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
279  --infodir=DIR           info documentation in DIR [PREFIX/info]
280  --mandir=DIR            man documentation in DIR [PREFIX/man]
281  --srcdir=DIR            find the sources in DIR [configure dir or ..]
282  --program-prefix=PREFIX prepend PREFIX to installed program names
283  --program-suffix=SUFFIX append SUFFIX to installed program names
284  --program-transform-name=PROGRAM
285                          run sed PROGRAM on installed program names
286Host type:
287  --build=BUILD           configure for building on BUILD [BUILD=HOST]
288  --host=HOST             configure for HOST [guessed]
289  --target=TARGET         configure for TARGET [TARGET=HOST]
290Features and packages:
291  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
292  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
293  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
294  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
295  --x-includes=DIR        X include files are in DIR
296  --x-libraries=DIR       X library files are in DIR
297--enable and --with options recognized:
298  --enable-PACKAGE        configure and build PACKAGE
299  --disable-PACKAGE       do not configure and build PACKAGE
300 where PACKAGE can be:
301     smallgmp             minimal version of gmp written in C only
302     MP                   Multi Protocol library
303     factory              polynomial factorization library
304     libfac               char set and modp poly factorization library
305     Singular             CAS for commutative algebra
306  --with-PACKAGE          use PACKAGE, provide dependent functionality
307  --without-PACKAGE       do not use PACKAGE, disable dependent functionality
308 where PACKAGE can be:
309     MP                    Multi Protocol
310     factory              polynomial factorization library
311     libfac               char set and modp poly factorization library
312  --with-apint=PACKAGE    use PACKAGE for arbitary integer arithmetic
313                          where PACKAGE can be gmp, smallgmp, or buildin
Note: See TracBrowser for help on using the repository browser.