INSTALL
author Alpar Juttner <alpar@cs.elte.hu>
Sun, 05 Dec 2010 17:35:23 +0100
changeset 2 4c8956a7bdf4
permissions -rw-r--r--
Set up CMAKE build environment
     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 ========================================================================