INSTALL
changeset 1 c445c931472f
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 ========================================================================