rev |
line source |
alpar@9
|
1 INSTALLING GLPK ON YOUR COMPUTER
|
alpar@9
|
2 ********************************
|
alpar@9
|
3
|
alpar@9
|
4 Unpacking the distribution file
|
alpar@9
|
5 -------------------------------
|
alpar@9
|
6 The GLPK package (like all other GNU software) is distributed in the
|
alpar@9
|
7 form of a packed archive. It is one file named `glpk-X.Y.tar.gz', where
|
alpar@9
|
8 `X' is the major version number and `Y' is the minor version number;
|
alpar@9
|
9 for example, the archive name might be `glpk-4.15.tar.gz'.
|
alpar@9
|
10
|
alpar@9
|
11 In order to prepare the distribution for installation you should:
|
alpar@9
|
12
|
alpar@9
|
13 1. Copy the GLPK distribution file to a working directory.
|
alpar@9
|
14
|
alpar@9
|
15 2. Unpack the distribution file with the following command:
|
alpar@9
|
16
|
alpar@9
|
17 gzip -d glpk-X.Y.tar.gz
|
alpar@9
|
18
|
alpar@9
|
19 After unpacking the distribution file is automatically renamed to
|
alpar@9
|
20 `glpk-X.Y.tar'.
|
alpar@9
|
21
|
alpar@9
|
22 3. Unarchive the distribution file with the following command:
|
alpar@9
|
23
|
alpar@9
|
24 tar -x < glpk-X.Y.tar
|
alpar@9
|
25
|
alpar@9
|
26 It automatically creates the subdirectory `glpk-X.Y' containing the
|
alpar@9
|
27 GLPK distribution.
|
alpar@9
|
28
|
alpar@9
|
29 Configuring the package
|
alpar@9
|
30 -----------------------
|
alpar@9
|
31 After unpacking and unarchiving the GLPK distribution you should
|
alpar@9
|
32 configure the package, i.e. automatically tune it for your platform.
|
alpar@9
|
33
|
alpar@9
|
34 Normally, you should just `cd' to the directory `glpk-X.Y' and run the
|
alpar@9
|
35 `configure' script, e.g.
|
alpar@9
|
36
|
alpar@9
|
37 ./configure
|
alpar@9
|
38
|
alpar@9
|
39 The `configure' shell script attempts to guess correct values for
|
alpar@9
|
40 various system-dependent variables used during compilation. It uses
|
alpar@9
|
41 those values to create a `Makefile' in each directory of the package.
|
alpar@9
|
42 It also creates file `config.h' containing platform-dependent
|
alpar@9
|
43 definitions. Finally, it creates a shell script `config.status' that
|
alpar@9
|
44 you can run in the future to recreate the current configuration, a file
|
alpar@9
|
45 `config.cache' that saves the results of its tests to speed up
|
alpar@9
|
46 reconfiguring, and a file `config.log' containing compiler output
|
alpar@9
|
47 (useful mainly for debugging `configure').
|
alpar@9
|
48
|
alpar@9
|
49 Running `configure' takes about a few seconds. While it is running, it
|
alpar@9
|
50 displays some messages that tell you what it is doing. If you don't want
|
alpar@9
|
51 to see the messages, run `configure' with its standard output redirected
|
alpar@9
|
52 to `dev/null'; for example, `./configure > /dev/null'.
|
alpar@9
|
53
|
alpar@9
|
54 By default both static and shared versions of the GLPK library will be
|
alpar@9
|
55 compiled. Compilation of the shared librariy can be turned off by
|
alpar@9
|
56 specifying the `--disable-shared' option to `configure', e.g.
|
alpar@9
|
57
|
alpar@9
|
58 ./configure --disable-shared
|
alpar@9
|
59
|
alpar@9
|
60 If you encounter problems building the library try using the above
|
alpar@9
|
61 option, because some platforms do not support shared libraries.
|
alpar@9
|
62
|
alpar@9
|
63 The GLPK package has some optional features listed below. By default
|
alpar@9
|
64 all these features are disabled. To enable a feature the corresponding
|
alpar@9
|
65 option should be passed to the configure script.
|
alpar@9
|
66
|
alpar@9
|
67 --with-gmp Enable using the GNU MP bignum library
|
alpar@9
|
68
|
alpar@9
|
69 This feature allows the exact simplex solver to use the GNU MP
|
alpar@9
|
70 bignum library. If it is disabled, the exact simplex solver uses the
|
alpar@9
|
71 GLPK bignum module, which provides the same functionality as GNU MP,
|
alpar@9
|
72 however, it is much less efficient.
|
alpar@9
|
73
|
alpar@9
|
74 For details about the GNU MP bignum library see its web page at
|
alpar@9
|
75 <http://gmplib.org/>.
|
alpar@9
|
76
|
alpar@9
|
77 --with-zlib Enable using the zlib data compression library
|
alpar@9
|
78
|
alpar@9
|
79 This feature allows GLPK API routines and the stand-alone solver to
|
alpar@9
|
80 read and write compressed data files performing compression and
|
alpar@9
|
81 decompression "on the fly" (compressed data files are recognized by
|
alpar@9
|
82 suffix `.gz' in the file name). It may be useful in case of large
|
alpar@9
|
83 MPS files to save the disk space.
|
alpar@9
|
84
|
alpar@9
|
85 For details about the zlib compression library see its web page at
|
alpar@9
|
86 <http://www.zlib.net/>.
|
alpar@9
|
87
|
alpar@9
|
88 --enable-dl The same as --enable-dl=ltdl
|
alpar@9
|
89 --enable-dl=ltdl Enable shared library support (GNU)
|
alpar@9
|
90 --enable-dl=dlfcn Enable shared library support (POSIX)
|
alpar@9
|
91
|
alpar@9
|
92 Currently this feature is only needed to provide dynamic linking to
|
alpar@9
|
93 ODBC and MySQL shared libraries (see below).
|
alpar@9
|
94
|
alpar@9
|
95 For details about the GNU shared library support see the manual at
|
alpar@9
|
96 <http://www.gnu.org/software/libtool/manual/>.
|
alpar@9
|
97
|
alpar@9
|
98 --enable-odbc Enable using ODBC table driver (libiodbc)
|
alpar@9
|
99 --enable-odbc=unix Enable using ODBC table driver (libodbc)
|
alpar@9
|
100
|
alpar@9
|
101 This feature allows transmitting data between MathProg model objects
|
alpar@9
|
102 and relational databases accessed through ODBC.
|
alpar@9
|
103
|
alpar@9
|
104 For more details about this feature see the supplement "Using Data
|
alpar@9
|
105 Tables in the GNU MathProg Modeling Language" (doc/tables.*).
|
alpar@9
|
106
|
alpar@9
|
107 --enable-mysql Enable using MySQL table driver (libmysql)
|
alpar@9
|
108
|
alpar@9
|
109 This feature allows transmitting data between MathProg model objects
|
alpar@9
|
110 and MySQL relational databases.
|
alpar@9
|
111
|
alpar@9
|
112 For more details about this feature see the supplement "Using Data
|
alpar@9
|
113 Tables in the GNU MathProg Modeling Language" (doc/tables.*).
|
alpar@9
|
114
|
alpar@9
|
115 Compiling the package
|
alpar@9
|
116 ---------------------
|
alpar@9
|
117 Normally, you can compile (build) the package by typing the command:
|
alpar@9
|
118
|
alpar@9
|
119 make
|
alpar@9
|
120
|
alpar@9
|
121 It reads `Makefile' generated by `configure' and performs all necessary
|
alpar@9
|
122 jobs.
|
alpar@9
|
123
|
alpar@9
|
124 If you want, you can override the `make' variables CFLAGS and LDFLAGS
|
alpar@9
|
125 like this:
|
alpar@9
|
126
|
alpar@9
|
127 make CFLAGS=-O2 LDFLAGS=-s
|
alpar@9
|
128
|
alpar@9
|
129 To compile the package in a different directory from the one containing
|
alpar@9
|
130 the source code, you must use a version of `make' that supports `VPATH'
|
alpar@9
|
131 variable, such as GNU `make'. `cd' to the directory where you want the
|
alpar@9
|
132 object files and executables to go and run the `configure' script.
|
alpar@9
|
133 `configure' automatically checks for the source code in the directory
|
alpar@9
|
134 that `configure' is in and in `..'. If for some reason `configure' is
|
alpar@9
|
135 not in the source code directory that you are configuring, then it will
|
alpar@9
|
136 report that it can't find the source code. In that case, run `configure'
|
alpar@9
|
137 with the option `--srcdir=DIR', where DIR is the directory that contains
|
alpar@9
|
138 the source code.
|
alpar@9
|
139
|
alpar@9
|
140 Some systems require unusual options for compilation or linking that
|
alpar@9
|
141 the `configure' script does not know about. You can give `configure'
|
alpar@9
|
142 initial values for variables by setting them in the environment. Using
|
alpar@9
|
143 a Bourne-compatible shell, you can do that on the command line like
|
alpar@9
|
144 this:
|
alpar@9
|
145
|
alpar@9
|
146 CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
|
alpar@9
|
147
|
alpar@9
|
148 Or on systems that have the `env' program, you can do it like this:
|
alpar@9
|
149
|
alpar@9
|
150 env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
|
alpar@9
|
151
|
alpar@9
|
152 Here are the `make' variables that you might want to override with
|
alpar@9
|
153 environment variables when running `configure'.
|
alpar@9
|
154
|
alpar@9
|
155 For these variables, any value given in the environment overrides the
|
alpar@9
|
156 value that `configure' would choose:
|
alpar@9
|
157
|
alpar@9
|
158 CC: C compiler program. The default is `cc'.
|
alpar@9
|
159
|
alpar@9
|
160 INSTALL: Program used to install files. The default value is `install'
|
alpar@9
|
161 if you have it, otherwise `cp'.
|
alpar@9
|
162
|
alpar@9
|
163 For these variables, any value given in the environment is added to the
|
alpar@9
|
164 value that `configure' chooses:
|
alpar@9
|
165
|
alpar@9
|
166 DEFS: Configuration options, in the form `-Dfoo -Dbar ...'.
|
alpar@9
|
167
|
alpar@9
|
168 LIBS: Libraries to link with, in the form `-lfoo -lbar ...'.
|
alpar@9
|
169
|
alpar@9
|
170 Checking the package
|
alpar@9
|
171 --------------------
|
alpar@9
|
172 To check the package, i.e. to run some tests included in the package,
|
alpar@9
|
173 you can use the following command:
|
alpar@9
|
174
|
alpar@9
|
175 make check
|
alpar@9
|
176
|
alpar@9
|
177 Installing the package
|
alpar@9
|
178 ----------------------
|
alpar@9
|
179 Normally, to install the GLPK package you should type the following
|
alpar@9
|
180 command:
|
alpar@9
|
181
|
alpar@9
|
182 make install
|
alpar@9
|
183
|
alpar@9
|
184 By default, `make install' will install the package's files in
|
alpar@9
|
185 `usr/local/bin', `usr/local/lib', etc. You can specify an installation
|
alpar@9
|
186 prefix other than `/usr/local' by giving `configure' the option
|
alpar@9
|
187 `--prefix=PATH'. Alternately, you can do so by consistently giving a
|
alpar@9
|
188 value for the `prefix' variable when you run `make', e.g.
|
alpar@9
|
189
|
alpar@9
|
190 make prefix=/usr/gnu
|
alpar@9
|
191 make prefix=/usr/gnu install
|
alpar@9
|
192
|
alpar@9
|
193 After installing you can remove the program binaries and object files
|
alpar@9
|
194 from the source directory by typing `make clean'. To remove all files
|
alpar@9
|
195 that `configure' created (`Makefile', `config.status', etc.), just type
|
alpar@9
|
196 `make distclean'.
|
alpar@9
|
197
|
alpar@9
|
198 The file `configure.ac' is used to create `configure' by a program
|
alpar@9
|
199 called `autoconf'. You only need it if you want to remake `configure'
|
alpar@9
|
200 using a newer version of `autoconf'.
|
alpar@9
|
201
|
alpar@9
|
202 Uninstalling the package
|
alpar@9
|
203 ------------------------
|
alpar@9
|
204 To uninstall the GLPK package, i.e. to remove all the package's files
|
alpar@9
|
205 from the system places, you can use the following command:
|
alpar@9
|
206
|
alpar@9
|
207 make uninstall
|
alpar@9
|
208
|
alpar@9
|
209 ========================================================================
|