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 |
---|
6 | |
---|
7 | INSTALLATION INSTRUCTIONS FOR SINGULAR (Full source distribution) |
---|
8 | ================================================================= |
---|
9 | |
---|
10 | This file contains instructions on how to compile and install the |
---|
11 | complete source distribution of Singular. For general information |
---|
12 | about Singular, see the file 'README' contained in this directory. For |
---|
13 | copying informations, see the file 'COPYING' contained in this |
---|
14 | directory. For comments, problems or bugs, please send mail to |
---|
15 | singular@mathematik.uni-kl.de. For more detailed information on the |
---|
16 | packages contained in this distribution (i.e., on gmp, MP, factory, |
---|
17 | and libfac) see the README files contained in the subdirectories |
---|
18 | of this distribution. |
---|
19 | |
---|
20 | Installation for the Impatient |
---|
21 | ============================== |
---|
22 | Being in the directory which contains this file and supposing that you |
---|
23 | have GNU make (gmake) installed on your system, type |
---|
24 | |
---|
25 | ./configure; gmake install |
---|
26 | |
---|
27 | and get a cup of coffee (or, tea, if you prefer). |
---|
28 | |
---|
29 | Notice the 'gmake install' (and not just 'gmake' !!). For more |
---|
30 | explanations and details, see below. |
---|
31 | |
---|
32 | |
---|
33 | Basic Installation |
---|
34 | ================== |
---|
35 | |
---|
36 | The full source distribution of Singular consists of the following |
---|
37 | four independent library packages |
---|
38 | |
---|
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 |
---|
43 | |
---|
44 | and the Singular kernel source code itself (which is contained in the |
---|
45 | 'Singular' subdirectory). It is possible to install these four |
---|
46 | packages and the Singular kernel independently. For more information |
---|
47 | on installing a particular package, see the INSTALL files contained in |
---|
48 | the respective directories. |
---|
49 | |
---|
50 | Singular can be built including almost any combination of these four |
---|
51 | packages. However, some Singular functionality will be disabled if you |
---|
52 | do not built Singular with all of them. |
---|
53 | |
---|
54 | You can use the `configure' shell script in this directory to control |
---|
55 | which packages are included or not. If given no special options, the |
---|
56 | 'configure' script determines the "maximal" Singular configuration |
---|
57 | which can be build on your system, and subsequently calls the |
---|
58 | 'configure' scripts of the independent packages and the Singular |
---|
59 | kernel. It furthermore creates a top-level 'Makefile' from the file |
---|
60 | 'Makefile.in' and a shell script `config.status' that you can run in |
---|
61 | the future to recreate the current configuration, a file |
---|
62 | `config.cache' that saves the results of its tests to speed up |
---|
63 | reconfiguring, and a file `config.log' containing compiler output |
---|
64 | (useful mainly for debugging `configure'). |
---|
65 | |
---|
66 | The file `configure.in' is used to create `configure' by a program |
---|
67 | called `autoconf'. You only need `configure.in' if you want to change |
---|
68 | it or regenerate `configure' using a newer version of `autoconf'. |
---|
69 | |
---|
70 | The simplest way to compile a full Singular containing all packages is: |
---|
71 | |
---|
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. |
---|
77 | |
---|
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. |
---|
81 | |
---|
82 | 2. Type `gmake install' to compile Singular. |
---|
83 | |
---|
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'). |
---|
90 | |
---|
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. |
---|
95 | |
---|
96 | 3. Optionally, type `make check' to run the self-tests that come with |
---|
97 | Singular (contained in the subdirectory Singular/tests). |
---|
98 | |
---|
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. |
---|
107 | |
---|
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 |
---|
117 | |
---|
118 | |
---|
119 | Compilers and Options |
---|
120 | ===================== |
---|
121 | |
---|
122 | You need an ANSI-C++ and ANSI-C compiler for compiling Singular. We |
---|
123 | strongly recommend that you use the GNU C/C++ (gcc) compiler. If you |
---|
124 | have gcc installed on your system, configure will automatically find |
---|
125 | and use it for building Singular. Otherwise, configure will try to |
---|
126 | find another ANSI-C and ANSI-C++ compiler. To explicitly use an |
---|
127 | alternative compiler, or to set some unusual options for compilation |
---|
128 | or linking that the `configure' script does not know about, you can |
---|
129 | give `configure' initial values for variables by setting them in the |
---|
130 | environment. Using a Bourne-compatible shell, you can do that on the |
---|
131 | command line like this: |
---|
132 | CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure |
---|
133 | CXX=CC CXXFLAGS=+O3 LIBS=-liostream ./configure |
---|
134 | |
---|
135 | Or on systems that have the `env' program, you can do it like this: |
---|
136 | env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure |
---|
137 | |
---|
138 | |
---|
139 | Installation Names |
---|
140 | ================== |
---|
141 | |
---|
142 | By default, `gmake install' will install the Singular program in |
---|
143 | `${top_srcdir}/bin', Singular's info files in `${top_srcdir}/info', |
---|
144 | Singular's program libraries in '${top_srcdir}/share', the header |
---|
145 | files of the supporting packages in '${top_srcdir}/include' and the |
---|
146 | libraries of the supporting packages in '${top_srcdir}/include' where |
---|
147 | '${top_srcdir}' refers to the top-level directory of the full Singular |
---|
148 | distribution. 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 |
---|
151 | where the Singular program is installed by giving configure the option |
---|
152 | `--bindir=PATH'. For Singular's info files, use '--infodir=PATH'; for |
---|
153 | Singular's program libraries, use '--datadir=PATH'; for header files, |
---|
154 | use '--includedir=PATH'; and for libraries use '--libdir=PATH'. Make |
---|
155 | sure that PATH is an _absolute_ (i.e. not relative) pathname. |
---|
156 | |
---|
157 | |
---|
158 | Optional Features |
---|
159 | ================= |
---|
160 | |
---|
161 | Singular'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'. |
---|
165 | |
---|
166 | Giving an '-enable-PACKAGE' (resp. '--disable-PACKAGE;) option means |
---|
167 | that the respective PACKAGE is configured and built (resp. is not |
---|
168 | configured and built). |
---|
169 | |
---|
170 | Giving an '--with-PACKAGE' (resp. `--without-PACKAGE') option means |
---|
171 | that Singular itself is built with (resp. without) PACKAGE and the |
---|
172 | functionality provided by PACKAGE. |
---|
173 | |
---|
174 | Without 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 |
---|
178 | or, * the respective '--without-PACKAGE' option was given |
---|
179 | or, * a directory of the name of the PACKAGE does not exist. |
---|
180 | |
---|
181 | Furthermore, 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. |
---|
186 | |
---|
187 | System Requirements |
---|
188 | =================== |
---|
189 | |
---|
190 | The following requirements have to be met by your system, so that you |
---|
191 | can 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. |
---|
197 | |
---|
198 | |
---|
199 | Operation Controls |
---|
200 | ================== |
---|
201 | |
---|
202 | `configure' recognizes the following options to control how it |
---|
203 | operates. |
---|
204 | |
---|
205 | `--cache-file=FILE' |
---|
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'. |
---|
209 | |
---|
210 | |
---|
211 | `--quiet' |
---|
212 | `--silent' |
---|
213 | `-q' |
---|
214 | Do not print messages saying which checks are being made. |
---|
215 | |
---|
216 | `--version' |
---|
217 | Print the version of Autoconf used to generate the `configure' |
---|
218 | script, and exit. |
---|
219 | |
---|
220 | `--help' |
---|
221 | Prints the following summary of the options to `configure', and exits. |
---|
222 | |
---|
223 | Usage: configure [options] [host] |
---|
224 | Options: [defaults in brackets after descriptions] |
---|
225 | Configuration: |
---|
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 |
---|
231 | Directory 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 |
---|
255 | Host 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] |
---|
259 | Features 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 |
---|