source: git/INSTALL @ 4d2aefb

Last change on this file since 4d2aefb was a3730b, checked in by Olaf Bachmann <obachman@…>, 27 years ago
* added sgray's corrections git-svn-id: file:///usr/local/Singular/svn/trunk@286 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 12.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        gmp     The Gnu Multiple precision 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.
54You can use the `configure' shell script in this directory to control
55which packages are included or not. If given no special options, the
56'configure' script determines the "maximal" Singular configuration
57which can be build on your system, and subsequently calls the
58'configure' scripts of the independent packages and the Singular
59kernel. It furthermore creates a top-level 'Makefile' from the file
60'' and a shell script `config.status' that you can run in
61the future to recreate the current configuration, a file
62`config.cache' that saves the results of its tests to speed up
63reconfiguring, and a file `config.log' containing compiler output
64(useful mainly for debugging `configure').
66The file `' is used to create `configure' by a program
67called `autoconf'.  You only need `' if you want to change
68it or regenerate `configure' using a newer version of `autoconf'.
70The simplest way to compile a full Singular containing all packages is:
72  1. `cd' to the top-level directory of the full distribution and type
73     `./configure' to configure the package for your system.  If you're
74     using `csh' on an old version of System V, you might need to type
75     `sh ./configure' instead to prevent `csh' from trying to execute
76     `configure' itself.
78     Running `configure' takes quite awhile.  While running, it prints
79     some messages telling which package it is configuring and which
80     features it is checking for.
82  2. Type `gmake install' to compile Singular.
84     This will create the subdirectories (of the top-level directory)
85     'bin', 'include', 'lib', 'info', and 'share' containing the
86     Singular executable program (in 'bin'), the header files of the
87     distributed packages (in 'include'), the compiled libraries (in
88     'lib'), info documentation files (in 'info'), and Singular data
89     (i.e. architecture independent) files (in 'share').
91     NOTE: You need to do a 'make install' (and _not_ simply a
92     'make'), since a compilation of the Singular kernel supposes that
93     the supporting library packages are installed, _before_ Singular
94     itself is compiled.
96  3. Optionally, type `make check' to run the self-tests that come with
97     Singular (contained in the subdirectory Singular/tests).
99  5. You can remove the program binaries and object files from the
100     source code directory by typing `make clean'.  To also remove the
101     files that `configure' created (so you can compile the package for
102     a different kind of computer), type `make distclean'.  There is
103     also a `make maintainer-clean' target, but that is intended mainly
104     for the package's developers.  If you use it, you may have to get
105     all sorts of other programs in order to regenerate files that came
106     with the distribution.
108  6. Other make targets include:
109     'dist'      : Creates a distribution of all source files of
110                   Singular.
111     'info'      : Regenerates Info files.
112     'dvi'       : Generates the file Singular/docs/Singular.dvi -- a DVI file
113                   of Singular's user manual
114     'uninstall' : Deletes all files that the 'install'
115                   target created
116     'check'     : Tests basic Singular functionality
119Compilers and Options
122You need an ANSI-C++ and ANSI-C compiler for compiling Singular. We
123strongly recommend that you use the GNU C/C++ (gcc) compiler. If you
124have gcc installed on your system, configure will automatically find
125and use it for building Singular. Otherwise, configure will try to
126find another ANSI-C and ANSI-C++ compiler. To explicitly use an
127alternative compiler, or to set some unusual options for compilation
128or linking that the `configure' script does not know about, you can
129give `configure' initial values for variables by setting them in the
130environment.  Using a Bourne-compatible shell, you can do that on the
131command line like this:
132     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
133     CXX=CC CXXFLAGS=+O3 LIBS=-liostream ./configure
135Or on systems that have the `env' program, you can do it like this:
136     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
139Installation Names
142By default, `gmake install' will install the Singular program in
143`${top_srcdir}/bin', Singular's info files in `${top_srcdir}/info',
144Singular's program libraries in '${top_srcdir}/share', the header
145files of the supporting packages in '${top_srcdir}/include' and the
146libraries of the supporting packages in '${top_srcdir}/include' where
147'${top_srcdir}' refers to the top-level directory of the full Singular
148distribution.  You can specify an installation prefix other than
149`${top_srcdir}' by giving `configure' the option
150`--prefix=PATH'. Furthermore, you can specify an alternative directory
151where the Singular program is installed by giving configure the option
152`--bindir=PATH'. For Singular's info files, use '--infodir=PATH'; for
153Singular's program libraries, use '--datadir=PATH'; for header files,
154use '--includedir=PATH'; and for libraries use '--libdir=PATH'. Make
155sure that PATH is an _absolute_ (i.e. not relative) pathname.
158Optional Features
161Singular's top-level configure script pays attention to the following
162'--enable-PACKAGE' (resp. '--disable-PACKAGE'), and `--with-PACKAGE'
163(resp. `--without-PACKAGE') options where PACKAGE can be
164'gmp', 'MP', 'factory', and 'libfac'.
166Giving an '-enable-PACKAGE' (resp. '--disable-PACKAGE;) option means
167that the respective PACKAGE is configured and built (resp. is not
168configured and built).
170Giving an '--with-PACKAGE' (resp. `--without-PACKAGE') option means
171that Singular itself is built with (resp. without)  PACKAGE and the
172functionality provided by PACKAGE.
174Without explicit options, configure runs as if it had given all
175'--enable-PACKAGE' options except for:
176    * the library and header files of PACKAGE are already installed on
177      your system
178or, * the respective '--without-PACKAGE' option was given
179or, * a directory of the name of the PACKAGE does not exist.
181Furthermore, without explicit options, configure runs as if it had given all
182'--with-PACKAGE' options except for
183    * the respective '--disable-PACKAGE' option was given _and_ the
184      library and header files of PACKAGE are _not_ already installed
185      on your system.
187System Requirements
190The following requirements have to be met by your system, so that you
191can build a full Singular:
192  0. You need GNU make.
193  1. The condition (sizeof(int) == 4) has to be true.
194  2. The condition (sizeof(void*) == sizeof(long)) has to be true.
195  3. The condition (-2 >> 1 == -1) has to be true.
196  4. The standard C headers and libraries have to be installed.
199Operation Controls
202   `configure' recognizes the following options to control how it
206     Use and save the results of the tests in FILE instead of
207     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
208     debugging `configure'.
214     Do not print messages saying which checks are being made.
217     Print the version of Autoconf used to generate the `configure'
218     script, and exit.
221     Prints  the following summary of the options to `configure', and exits.
223Usage: configure [options] [host]
224Options: [defaults in brackets after descriptions]
226  --cache-file=FILE       cache test results in FILE
227  --help                  print this message
228  --no-create             do not create output files
229  --quiet, --silent       do not print `checking...' messages
230  --version               print the version of autoconf that created configure
231Directory and file names:
232  --prefix=PREFIX         install architecture-independent files in PREFIX
233                          [`pwd`]
234  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
235                          [same as prefix]
236  --bindir=DIR            user executables in DIR [EPREFIX/bin]
237  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
238  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
239  --datadir=DIR           read-only architecture-independent data in DIR
240                          [PREFIX/share]
241  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
242  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
243                          [PREFIX/com]
244  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
245  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
246  --includedir=DIR        C header files in DIR [PREFIX/include]
247  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
248  --infodir=DIR           info documentation in DIR [PREFIX/info]
249  --mandir=DIR            man documentation in DIR [PREFIX/man]
250  --srcdir=DIR            find the sources in DIR [configure dir or ..]
251  --program-prefix=PREFIX prepend PREFIX to installed program names
252  --program-suffix=SUFFIX append SUFFIX to installed program names
253  --program-transform-name=PROGRAM
254                          run sed PROGRAM on installed program names
255Host type:
256  --build=BUILD           configure for building on BUILD [BUILD=HOST]
257  --host=HOST             configure for HOST [guessed]
258  --target=TARGET         configure for TARGET [TARGET=HOST]
259Features and packages:
260  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
261  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
262  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
263  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
264  --x-includes=DIR        X include files are in DIR
265  --x-libraries=DIR       X library files are in DIR
266--enable and --with options recognized:
267  --enable-PACKAGE        configure and build PACKAGE
268  --disable-PACKAGE       do not configure and build PACKAGE
269  --with-PACKAGE          use PACKAGE, provide dependent functionality
270  --without-PACKAGE       do not use PACKAGE, disable dependent functionality
271 where PACKAGE can be:
272     gmp                  GNU multiple precision library
273     MP                   Multi Protocol library
274     factory              polynomial factorization library
275     libfac               char set and modp poly factorization library
Note: See TracBrowser for help on using the repository browser.