INSTALL
changeset 1 c445c931472f
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/INSTALL	Mon Dec 06 13:09:21 2010 +0100
     1.3 @@ -0,0 +1,209 @@
     1.4 +INSTALLING GLPK ON YOUR COMPUTER
     1.5 +********************************
     1.6 +
     1.7 +Unpacking the distribution file
     1.8 +-------------------------------
     1.9 +The GLPK package (like all other GNU software) is distributed in the
    1.10 +form of a packed archive. It is one file named `glpk-X.Y.tar.gz', where
    1.11 +`X' is the major version number and `Y' is the minor version number;
    1.12 +for example, the archive name might be `glpk-4.15.tar.gz'.
    1.13 +
    1.14 +In order to prepare the distribution for installation you should:
    1.15 +
    1.16 +1. Copy the GLPK distribution file to a working directory.
    1.17 +
    1.18 +2. Unpack the distribution file with the following command:
    1.19 +
    1.20 +      gzip -d glpk-X.Y.tar.gz
    1.21 +
    1.22 +   After unpacking the distribution file is automatically renamed to
    1.23 +   `glpk-X.Y.tar'.
    1.24 +
    1.25 +3. Unarchive the distribution file with the following command:
    1.26 +
    1.27 +      tar -x < glpk-X.Y.tar
    1.28 +
    1.29 +   It automatically creates the subdirectory `glpk-X.Y' containing the
    1.30 +   GLPK distribution.
    1.31 +
    1.32 +Configuring the package
    1.33 +-----------------------
    1.34 +After unpacking and unarchiving the GLPK distribution you should
    1.35 +configure the package, i.e. automatically tune it for your platform.
    1.36 +
    1.37 +Normally, you should just `cd' to the directory `glpk-X.Y' and run the
    1.38 +`configure' script, e.g.
    1.39 +
    1.40 +      ./configure
    1.41 +
    1.42 +The `configure' shell script attempts to guess correct values for
    1.43 +various system-dependent variables used during compilation. It uses
    1.44 +those values to create a `Makefile' in each directory of the package.
    1.45 +It also creates file `config.h' containing platform-dependent
    1.46 +definitions. Finally, it creates a shell script `config.status' that
    1.47 +you can run in the future to recreate the current configuration, a file
    1.48 +`config.cache' that saves the results of its tests to speed up
    1.49 +reconfiguring, and a file `config.log' containing compiler output
    1.50 +(useful mainly for debugging `configure').
    1.51 +
    1.52 +Running `configure' takes about a few seconds. While it is running, it
    1.53 +displays some messages that tell you what it is doing. If you don't want
    1.54 +to see the messages, run `configure' with its standard output redirected
    1.55 +to `dev/null'; for example, `./configure > /dev/null'.
    1.56 +
    1.57 +By default both static and shared versions of the GLPK library will be
    1.58 +compiled. Compilation of the shared librariy can be turned off by
    1.59 +specifying the `--disable-shared' option to `configure', e.g.
    1.60 +
    1.61 +      ./configure --disable-shared
    1.62 +
    1.63 +If you encounter problems building the library try using the above
    1.64 +option, because some platforms do not support shared libraries.
    1.65 +
    1.66 +The GLPK package has some optional features listed below. By default
    1.67 +all these features are disabled. To enable a feature the corresponding
    1.68 +option should be passed to the configure script.
    1.69 +
    1.70 +--with-gmp           Enable using the GNU MP bignum library
    1.71 +
    1.72 +   This feature allows the exact simplex solver to use the GNU MP
    1.73 +   bignum library. If it is disabled, the exact simplex solver uses the
    1.74 +   GLPK bignum module, which provides the same functionality as GNU MP,
    1.75 +   however, it is much less efficient.
    1.76 +
    1.77 +   For details about the GNU MP bignum library see its web page at
    1.78 +   <http://gmplib.org/>.
    1.79 +
    1.80 +--with-zlib          Enable using the zlib data compression library
    1.81 +
    1.82 +   This feature allows GLPK API routines and the stand-alone solver to
    1.83 +   read and write compressed data files performing compression and
    1.84 +   decompression "on the fly" (compressed data files are recognized by
    1.85 +   suffix `.gz' in the file name). It may be useful in case of large
    1.86 +   MPS files to save the disk space.
    1.87 +
    1.88 +   For details about the zlib compression library see its web page at
    1.89 +   <http://www.zlib.net/>.
    1.90 +
    1.91 +--enable-dl          The same as --enable-dl=ltdl
    1.92 +--enable-dl=ltdl     Enable shared library support (GNU)
    1.93 +--enable-dl=dlfcn    Enable shared library support (POSIX)
    1.94 +
    1.95 +   Currently this feature is only needed to provide dynamic linking to
    1.96 +   ODBC and MySQL shared libraries (see below).
    1.97 +
    1.98 +   For details about the GNU shared library support see the manual at
    1.99 +   <http://www.gnu.org/software/libtool/manual/>.
   1.100 +
   1.101 +--enable-odbc        Enable using ODBC table driver (libiodbc)
   1.102 +--enable-odbc=unix   Enable using ODBC table driver (libodbc)
   1.103 +
   1.104 +   This feature allows transmitting data between MathProg model objects
   1.105 +   and relational databases accessed through ODBC.
   1.106 +
   1.107 +   For more details about this feature see the supplement "Using Data
   1.108 +   Tables in the GNU MathProg Modeling Language" (doc/tables.*).
   1.109 +
   1.110 +--enable-mysql       Enable using MySQL table driver (libmysql)
   1.111 +
   1.112 +   This feature allows transmitting data between MathProg model objects
   1.113 +   and MySQL relational databases.
   1.114 +
   1.115 +   For more details about this feature see the supplement "Using Data
   1.116 +   Tables in the GNU MathProg Modeling Language" (doc/tables.*).
   1.117 +
   1.118 +Compiling the package
   1.119 +---------------------
   1.120 +Normally, you can compile (build) the package by typing the command:
   1.121 +
   1.122 +      make
   1.123 +
   1.124 +It reads `Makefile' generated by `configure' and performs all necessary
   1.125 +jobs.
   1.126 +
   1.127 +If you want, you can override the `make' variables CFLAGS and LDFLAGS
   1.128 +like this:
   1.129 +
   1.130 +      make CFLAGS=-O2 LDFLAGS=-s
   1.131 +
   1.132 +To compile the package in a different directory from the one containing
   1.133 +the source code, you must use a version of `make' that supports `VPATH'
   1.134 +variable, such as GNU `make'. `cd' to the directory where you want the
   1.135 +object files and executables to go and run the `configure' script.
   1.136 +`configure' automatically checks for the source code in the directory
   1.137 +that `configure' is in and in `..'. If for some reason `configure' is
   1.138 +not in the source code directory that you are configuring, then it will
   1.139 +report that it can't find the source code. In that case, run `configure'
   1.140 +with the option `--srcdir=DIR', where DIR is the directory that contains
   1.141 +the source code.
   1.142 +
   1.143 +Some systems require unusual options for compilation or linking that
   1.144 +the `configure' script does not know about. You can give `configure'
   1.145 +initial values for variables by setting them in the environment. Using
   1.146 +a Bourne-compatible shell, you can do that on the command line like
   1.147 +this:
   1.148 +
   1.149 +      CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
   1.150 +
   1.151 +Or on systems that have the `env' program, you can do it like this:
   1.152 +
   1.153 +      env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
   1.154 +
   1.155 +Here are the `make' variables that you might want to override with
   1.156 +environment variables when running `configure'.
   1.157 +
   1.158 +For these variables, any value given in the environment overrides the
   1.159 +value that `configure' would choose:
   1.160 +
   1.161 +CC:      C compiler program. The default is `cc'.
   1.162 +
   1.163 +INSTALL: Program used to install files. The default value is `install'
   1.164 +         if you have it, otherwise `cp'.
   1.165 +
   1.166 +For these variables, any value given in the environment is added to the
   1.167 +value that `configure' chooses:
   1.168 +
   1.169 +DEFS:    Configuration options, in the form `-Dfoo -Dbar ...'.
   1.170 +
   1.171 +LIBS:    Libraries to link with, in the form `-lfoo -lbar ...'.
   1.172 +
   1.173 +Checking the package
   1.174 +--------------------
   1.175 +To check the package, i.e. to run some tests included in the package,
   1.176 +you can use the following command:
   1.177 +
   1.178 +      make check
   1.179 +
   1.180 +Installing the package
   1.181 +----------------------
   1.182 +Normally, to install the GLPK package you should type the following
   1.183 +command:
   1.184 +
   1.185 +      make install
   1.186 +
   1.187 +By default, `make install' will install the package's files in
   1.188 +`usr/local/bin', `usr/local/lib', etc. You can specify an installation
   1.189 +prefix other than `/usr/local' by giving `configure' the option
   1.190 +`--prefix=PATH'. Alternately, you can do so by consistently giving a
   1.191 +value for the `prefix' variable when you run `make', e.g.
   1.192 +
   1.193 +      make prefix=/usr/gnu
   1.194 +      make prefix=/usr/gnu install
   1.195 +
   1.196 +After installing you can remove the program binaries and object files
   1.197 +from the source directory by typing `make clean'. To remove all files
   1.198 +that `configure' created (`Makefile', `config.status', etc.), just type
   1.199 +`make distclean'.
   1.200 +
   1.201 +The file `configure.ac' is used to create `configure' by a program
   1.202 +called `autoconf'. You only need it if you want to remake `configure'
   1.203 +using a newer version of `autoconf'.
   1.204 +
   1.205 +Uninstalling the package
   1.206 +------------------------
   1.207 +To uninstall the GLPK package, i.e. to remove all the package's files
   1.208 +from the system places, you can use the following command:
   1.209 +
   1.210 +      make uninstall
   1.211 +
   1.212 +========================================================================