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 |
---|
8 | ====================================== |
---|
9 | |
---|
10 | This file contains instructions on how to install Singular. For |
---|
11 | general information about Singular, see the file 'README' contained in this |
---|
12 | directory. For copying informations, see the file 'COPYING' contained |
---|
13 | in this directory. For comments, problems or bugs, please send mail to |
---|
14 | singular@mathematik.uni-kl.de. If you receive this file as part of a |
---|
15 | complete Singular distribution, see also the README, COPYING, and |
---|
16 | INSTALL files contained in the top directory of the full Singular |
---|
17 | distribution. |
---|
18 | |
---|
19 | Installation for the Impatient |
---|
20 | ============================== |
---|
21 | Being in the directory which contains this file, type |
---|
22 | |
---|
23 | ./configure |
---|
24 | make |
---|
25 | |
---|
26 | Basic Installation |
---|
27 | ================== |
---|
28 | |
---|
29 | |
---|
30 | The `configure' shell script in this directory attempts to guess |
---|
31 | correct values for various system-dependent variables used during |
---|
32 | compilation. It uses those values to create the `Makefile' from the |
---|
33 | file 'Makefile.in' and the file 'mod2.h' (which contains |
---|
34 | system-dependent definitions) from the file 'mod2.h.in'. Finally, it |
---|
35 | creates a shell script `config.status' that you can run in the future |
---|
36 | to recreate the current configuration, a file `config.cache' that |
---|
37 | saves the results of its tests to speed up reconfiguring, and a file |
---|
38 | `config.log' containing compiler output (useful mainly for debugging |
---|
39 | `configure'). |
---|
40 | |
---|
41 | The file `configure.in' is used to create `configure' by a program |
---|
42 | called `autoconf'. You only need `configure.in' if you want to change |
---|
43 | it or regenerate `configure' using a newer version of `autoconf'. |
---|
44 | |
---|
45 | The simplest way to compile Singular is: |
---|
46 | |
---|
47 | 1. `cd' to the directory containing the Singular's source code and type |
---|
48 | `./configure' to configure the package for your system. If you're |
---|
49 | using `csh' on an old version of System V, you might need to type |
---|
50 | `sh ./configure' instead to prevent `csh' from trying to execute |
---|
51 | `configure' itself. |
---|
52 | |
---|
53 | Running `configure' takes awhile. While running, it prints some |
---|
54 | messages telling which features it is checking for. |
---|
55 | |
---|
56 | 2. Type `make' to compile Singular. |
---|
57 | |
---|
58 | 3. Optionally, type `make check' to run the self-tests that come with |
---|
59 | the Singular (in the subdirectory tests). |
---|
60 | |
---|
61 | 4. Type `make install' to install the (executable) Singular program, |
---|
62 | Singular's info files (from the subdirectory docs), and |
---|
63 | Singular's program libraries written in Singular's |
---|
64 | architecture-independent and interpreted programming language |
---|
65 | (from the subdirectory LIB). |
---|
66 | |
---|
67 | 5. You can remove the program binaries and object files from the |
---|
68 | source code directory by typing `make clean'. To also remove the |
---|
69 | files that `configure' created (so you can compile the package for |
---|
70 | a different kind of computer), type `make distclean'. There is |
---|
71 | also a `make maintainer-clean' target, but that is intended mainly |
---|
72 | for the package's developers. If you use it, you may have to get |
---|
73 | all sorts of other programs in order to regenerate files that came |
---|
74 | with the distribution. |
---|
75 | |
---|
76 | 6. Other make targets include: |
---|
77 | 'dist' : Creates a distribution of all source files of |
---|
78 | Singular. |
---|
79 | 'TAGS' : Creates/updates a tags table for Singular's source |
---|
80 | files. |
---|
81 | 'info' : Regenerates Singular's Info file. |
---|
82 | 'dvi' : Generates the file docs/Singular.dvi -- a DVI file |
---|
83 | of Singular's user manual |
---|
84 | 'uninstall' : Deletes all installed files that the 'install' |
---|
85 | target created (i.e. Singular's executable program, |
---|
86 | Singular's info file, and Singular's libraries) |
---|
87 | 'check' : Tests basic Singular functionality |
---|
88 | |
---|
89 | Compilers and Options |
---|
90 | ===================== |
---|
91 | |
---|
92 | You need an ANSI-C++ and ANSI-C compiler for compiling Singular. We |
---|
93 | strongly recommend that you use the GNU C/C++ (gcc) compiler. If you |
---|
94 | have gcc installed on your system, configure will automatically find |
---|
95 | and use it for building Singular. Otherwise, configure will try to |
---|
96 | find another ANSI-C and ANSI-C++ compiler. To use explicitly use an |
---|
97 | alternative compiler, or to set some unusual options for compilation |
---|
98 | or linking that the `configure' script does not know about, you can |
---|
99 | give `configure' initial values for variables by setting them in the |
---|
100 | environment. Using a Bourne-compatible shell, you can do that on the |
---|
101 | command line like this: |
---|
102 | CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure |
---|
103 | CXX=CC CXXFLAGS=+O3 LIBS=-liostream ./configure |
---|
104 | |
---|
105 | Or on systems that have the `env' program, you can do it like this: |
---|
106 | env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure |
---|
107 | |
---|
108 | |
---|
109 | Installation Names |
---|
110 | ================== |
---|
111 | |
---|
112 | By default, `make install' will install the Singular program in |
---|
113 | `/usr/local/bin', Singular's info files in `/usr/local/info', and |
---|
114 | Singular's program libraries in '/usr/local/share'. You can |
---|
115 | specify an installation prefix other than `/usr/local' by giving |
---|
116 | `configure' the option `--prefix=PATH'. You can specify an alternative |
---|
117 | directory where the Singular program is installed by giving configure |
---|
118 | the option `--bindir=PATH'. For Singular's info files, use |
---|
119 | '--infodir=PATH' and for Singular's program libraries, use |
---|
120 | '--datadir=PATH'. Make sure that PATH is an _absolute_ (not relative) |
---|
121 | pathname. |
---|
122 | |
---|
123 | |
---|
124 | Optional Features |
---|
125 | ================= |
---|
126 | |
---|
127 | Singular's configure script pays attention to the following |
---|
128 | `--with-PACKAGE' options where PACKAGE can be: |
---|
129 | |
---|
130 | 'readline' : Uses the readline library for some fancy display. |
---|
131 | Requires that libreadline.a and the readline header |
---|
132 | files are installed on your system. If these files were |
---|
133 | not found, then Singular is build without readline. |
---|
134 | |
---|
135 | 'dbm' : Uses the dbm library for DBM links. Requires that |
---|
136 | libdbm.a or libgdbm.a is installed on your system. If |
---|
137 | this library is not found, then Singular is built |
---|
138 | without DBM and DBM links are disabled. |
---|
139 | |
---|
140 | 'info' : Uses the 'info' program for displaying the Singular |
---|
141 | documentation on a 'help' copmmand. This requires that |
---|
142 | the 'info' programm is installed on your system. If |
---|
143 | this program is not found, the a built-in display |
---|
144 | routine is used. |
---|
145 | |
---|
146 | 'MP' : Uses the MP library for MP links. Requires that |
---|
147 | libgmp.a, libMP.a, libMPT.a and gmp.h, MP.h, MPT.h are |
---|
148 | installed on your system. If these files are not found, |
---|
149 | then Singular is built without MP, and MP links ar disabled. |
---|
150 | |
---|
151 | 'factory' : Uses the Factory library for polynomial |
---|
152 | factorizations. Requires that libsingcf.a, factory.h |
---|
153 | and the factory template files are installed on your |
---|
154 | system. If these files are not found, then Singular is |
---|
155 | built without factory, and polynomial factorization |
---|
156 | routines are disabled. |
---|
157 | |
---|
158 | 'libfac' : Uses the libfac library for characteristic set |
---|
159 | computations. Requires libsingfac.a and libfac.h to be |
---|
160 | installed on your system. If these files are not found, |
---|
161 | then Singular is built without libfac and |
---|
162 | characteristic set routines are disabled. |
---|
163 | |
---|
164 | By default, configure runs as if all the above '--with-PACKAGE' |
---|
165 | options were given and searches through the given includedir and the |
---|
166 | system's default include directories for header files, and through the |
---|
167 | given libdir and through the system's default library directory for |
---|
168 | the library files. If one of the requirements for a PACKAGE is not |
---|
169 | met, configure prints a warning message and builds Singular |
---|
170 | without the respective PACKAGE, disabling its functionality. To |
---|
171 | explicitly built Singular without one of the above PACKAGEs, give |
---|
172 | configure (an) appropriate '--without-PACKAGE' option(s). See the |
---|
173 | README file about instructions on how to obtain the above PACKAGEs. |
---|
174 | |
---|
175 | Furthermore, the following '--with-apint=PACKAGE' option is |
---|
176 | recognized, where package can be: |
---|
177 | 'gmp' : Uses the GNU multiple precision library for arbitrary |
---|
178 | integer precision arithmetic. This results in the best |
---|
179 | performance. Requires that libgmp.a and gmp.h |
---|
180 | are installed on your system. |
---|
181 | 'smallgmp' : Uses the smallgmp library for for arbitrary |
---|
182 | integer precision arithmetic. This results in a |
---|
183 | performance which is slightly worse than that of the |
---|
184 | original gmp library. |
---|
185 | 'buildin' : Uses Singular's internal integer arithmetic |
---|
186 | routines. The resulting performance is poor in |
---|
187 | comparison to gmp or smallgmp and the usage of MP, |
---|
188 | factory, or libfac is automatically disbaled. |
---|
189 | |
---|
190 | By default, configure checks whether it can find gmp or smallgmp (in |
---|
191 | that order) and use the respective package, if found. If none is |
---|
192 | found, then Singular's internal arbitrary precision routines are used. |
---|
193 | |
---|
194 | |
---|
195 | System Requirements |
---|
196 | =================== |
---|
197 | |
---|
198 | The following requirements have to be met by your system, so that you |
---|
199 | can build Singular: |
---|
200 | 1. The condition (sizeof(int) == 4) has to be true. |
---|
201 | 2. The condition (sizeof(void*) == sizeof(long)) has to be true. |
---|
202 | 3. The condition (-2 >> 1 == -1) has to be true. |
---|
203 | 4. The headers limits.h and unistd.h have to be installed. |
---|
204 | 5. The standard C headers and libraries have to be installed. |
---|
205 | |
---|
206 | |
---|
207 | Operation Controls |
---|
208 | ================== |
---|
209 | |
---|
210 | `configure' recognizes the following options to control how it |
---|
211 | operates. |
---|
212 | |
---|
213 | `--cache-file=FILE' |
---|
214 | Use and save the results of the tests in FILE instead of |
---|
215 | `./config.cache'. Set FILE to `/dev/null' to disable caching, for |
---|
216 | debugging `configure'. |
---|
217 | |
---|
218 | |
---|
219 | `--quiet' |
---|
220 | `--silent' |
---|
221 | `-q' |
---|
222 | Do not print messages saying which checks are being made. |
---|
223 | |
---|
224 | `--version' |
---|
225 | Print the version of Autoconf used to generate the `configure' |
---|
226 | script, and exit. |
---|
227 | |
---|
228 | `--help' |
---|
229 | Prints the following summary of the options to `configure', and exits. |
---|
230 | |
---|
231 | Usage: configure [options] [host] |
---|
232 | Options: [defaults in brackets after descriptions] |
---|
233 | Configuration: |
---|
234 | --cache-file=FILE cache test results in FILE |
---|
235 | --help print this message |
---|
236 | --no-create do not create output files |
---|
237 | --quiet, --silent do not print `checking...' messages |
---|
238 | --version print the version of autoconf that created configure |
---|
239 | Directory and file names: |
---|
240 | --prefix=PREFIX install architecture-independent files in PREFIX |
---|
241 | [/mnt/amd/users/urmel/singular/obachman/Singular/Singular/..] |
---|
242 | --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX |
---|
243 | [same as prefix] |
---|
244 | --bindir=DIR user executables in DIR [EPREFIX/bin] |
---|
245 | --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] |
---|
246 | --libexecdir=DIR program executables in DIR [EPREFIX/libexec] |
---|
247 | --datadir=DIR read-only architecture-independent data in DIR |
---|
248 | [PREFIX/share] |
---|
249 | --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] |
---|
250 | --sharedstatedir=DIR modifiable architecture-independent data in DIR |
---|
251 | [PREFIX/com] |
---|
252 | --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] |
---|
253 | --libdir=DIR object code libraries in DIR [EPREFIX/lib] |
---|
254 | --includedir=DIR C header files in DIR [PREFIX/include] |
---|
255 | --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] |
---|
256 | --infodir=DIR info documentation in DIR [PREFIX/info] |
---|
257 | --mandir=DIR man documentation in DIR [PREFIX/man] |
---|
258 | --srcdir=DIR find the sources in DIR [configure dir or ..] |
---|
259 | --program-prefix=PREFIX prepend PREFIX to installed program names |
---|
260 | --program-suffix=SUFFIX append SUFFIX to installed program names |
---|
261 | --program-transform-name=PROGRAM |
---|
262 | run sed PROGRAM on installed program names |
---|
263 | Host type: |
---|
264 | --build=BUILD configure for building on BUILD [BUILD=HOST] |
---|
265 | --host=HOST configure for HOST [guessed] |
---|
266 | --target=TARGET configure for TARGET [TARGET=HOST] |
---|
267 | Features and packages: |
---|
268 | --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) |
---|
269 | --enable-FEATURE[=ARG] include FEATURE [ARG=yes] |
---|
270 | --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] |
---|
271 | --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) |
---|
272 | --x-includes=DIR X include files are in DIR |
---|
273 | --x-libraries=DIR X library files are in DIR |
---|
274 | --enable and --with options recognized: |
---|
275 | --without-readline do not use readline for fancy display |
---|
276 | --without-MP do not use MP (disables MP links) |
---|
277 | --without-dbm do not use dbm (disables DBM links) |
---|
278 | --without-info do not use info for help (use buildin help, instead) |
---|
279 | --without-dld do not use dld (disables dynamic linking) |
---|
280 | --without-factory do not use factory (disables poly factorization) |
---|
281 | --without-libfac do not use libfac (disables primary decompositions) |
---|
282 | --with-apint=PACKAGE use PACKAGE for arbitary integer arithmetic |
---|
283 | where PACKAGE can be gmp, smallgmp, or buildin |
---|