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