| 
alpar@5
 | 
     1  | 
Installation Instructions
  | 
| 
alpar@5
 | 
     2  | 
=========================
  | 
| 
alpar@5
 | 
     3  | 
  | 
| 
kpeter@318
 | 
     4  | 
Since you are reading this I assume you already obtained one of the release
  | 
| 
alpar@5
 | 
     5  | 
tarballs and successfully extracted it. The latest version of LEMON is
  | 
| 
ladanyi@245
 | 
     6  | 
available at our web page (http://lemon.cs.elte.hu/).
  | 
| 
alpar@5
 | 
     7  | 
  | 
| 
kpeter@523
 | 
     8  | 
LEMON provides two different build environments, one is based on "autotool",
  | 
| 
kpeter@523
 | 
     9  | 
while the other is based on "cmake". This file contains instructions only for
  | 
| 
kpeter@523
 | 
    10  | 
the former one, which is the recommended build environment on Linux, Mac OSX
  | 
| 
kpeter@523
 | 
    11  | 
and other unices or if you use Cygwin on Windows. For cmake installation
  | 
| 
kpeter@523
 | 
    12  | 
instructions visit http://lemon.cs.elte.hu.
  | 
| 
kpeter@523
 | 
    13  | 
  | 
| 
kpeter@318
 | 
    14  | 
In order to install LEMON from the extracted source tarball you have to
  | 
| 
alpar@5
 | 
    15  | 
issue the following commands:
  | 
| 
alpar@5
 | 
    16  | 
  | 
| 
ladanyi@245
 | 
    17  | 
   1. `cd lemon-x.y.z'
  | 
| 
alpar@5
 | 
    18  | 
  | 
| 
ladanyi@245
 | 
    19  | 
      This command changes to the directory which was created when you
  | 
| 
ladanyi@245
 | 
    20  | 
      extracted the sources. The x.y.z part is a version number.
  | 
| 
alpar@5
 | 
    21  | 
  | 
| 
ladanyi@245
 | 
    22  | 
   2. `./configure'
  | 
| 
alpar@5
 | 
    23  | 
  | 
| 
ladanyi@245
 | 
    24  | 
      This command runs the configure shell script, which does some checks and
  | 
| 
ladanyi@245
 | 
    25  | 
      creates the makefiles.
  | 
| 
alpar@5
 | 
    26  | 
  | 
| 
ladanyi@245
 | 
    27  | 
   3. `make'
  | 
| 
alpar@5
 | 
    28  | 
  | 
| 
ladanyi@245
 | 
    29  | 
      This command compiles the non-template part of LEMON into libemon.a
  | 
| 
ladanyi@556
 | 
    30  | 
      file. It also compiles the programs in the tools subdirectory by
  | 
| 
ladanyi@556
 | 
    31  | 
      default.
  | 
| 
alpar@5
 | 
    32  | 
  | 
| 
ladanyi@245
 | 
    33  | 
   4. `make check'
  | 
| 
alpar@5
 | 
    34  | 
  | 
| 
ladanyi@245
 | 
    35  | 
      This step is optional, but recommended. It runs the test programs that
  | 
| 
ladanyi@245
 | 
    36  | 
      we developed for LEMON to check whether the library works properly on
  | 
| 
ladanyi@245
 | 
    37  | 
      your platform.
  | 
| 
alpar@5
 | 
    38  | 
  | 
| 
ladanyi@245
 | 
    39  | 
   5. `make install'
  | 
| 
alpar@5
 | 
    40  | 
  | 
| 
ladanyi@245
 | 
    41  | 
      This command installs LEMON under /usr/local (you will need root
  | 
| 
ladanyi@245
 | 
    42  | 
      privileges to be able to do that). If you want to install it to some
  | 
| 
ladanyi@245
 | 
    43  | 
      other location, then pass the --prefix=DIRECTORY flag to configure in
  | 
| 
ladanyi@245
 | 
    44  | 
      step 2. For example: `./configure --prefix=/home/username/lemon'.
  | 
| 
alpar@5
 | 
    45  | 
  | 
| 
ladanyi@245
 | 
    46  | 
   6. `make install-html'
  | 
| 
alpar@5
 | 
    47  | 
  | 
| 
ladanyi@245
 | 
    48  | 
      This command installs the documentation under share/doc/lemon/docs. The
  | 
| 
ladanyi@245
 | 
    49  | 
      generated documentation is included in the tarball. If you want to
  | 
| 
ladanyi@245
 | 
    50  | 
      generate it yourself, then run `make html'. Note that for this you need
  | 
| 
ladanyi@245
 | 
    51  | 
      to have the following programs installed: Doxygen, Graphviz, Ghostscript,
  | 
| 
ladanyi@245
 | 
    52  | 
      Latex.
  | 
| 
alpar@5
 | 
    53  | 
  | 
| 
alpar@5
 | 
    54  | 
  | 
| 
ladanyi@245
 | 
    55  | 
Configure Options and Variables
  | 
| 
ladanyi@245
 | 
    56  | 
===============================
  | 
| 
ladanyi@245
 | 
    57  | 
  | 
| 
kpeter@318
 | 
    58  | 
In step 2 you can customize the actions of configure by setting variables
  | 
| 
ladanyi@245
 | 
    59  | 
and passing options to it. This can be done like this:
  | 
| 
ladanyi@245
 | 
    60  | 
`./configure [OPTION]... [VARIABLE=VALUE]...'
  | 
| 
ladanyi@245
 | 
    61  | 
  | 
| 
kpeter@318
 | 
    62  | 
Below you will find some useful variables and options (see `./configure --help'
  | 
| 
kpeter@318
 | 
    63  | 
for more):
  | 
| 
ladanyi@245
 | 
    64  | 
  | 
| 
ladanyi@245
 | 
    65  | 
CXX='comp'
  | 
| 
alpar@5
 | 
    66  | 
  | 
| 
alpar@5
 | 
    67  | 
  Change the C++ compiler to 'comp'.
  | 
| 
alpar@5
 | 
    68  | 
  | 
| 
alpar@5
 | 
    69  | 
CXXFLAGS='flags'
  | 
| 
alpar@5
 | 
    70  | 
  | 
| 
ladanyi@245
 | 
    71  | 
  Pass the 'flags' to the compiler. For example CXXFLAGS='-O3 -march=pentium-m'
  | 
| 
ladanyi@245
 | 
    72  | 
  turns on generation of aggressively optimized Pentium-M specific code.
  | 
| 
ladanyi@245
 | 
    73  | 
  | 
| 
ladanyi@245
 | 
    74  | 
--prefix=PREFIX
  | 
| 
ladanyi@245
 | 
    75  | 
  | 
| 
ladanyi@245
 | 
    76  | 
  Set the installation prefix to PREFIX. By default it is /usr/local.
  | 
| 
alpar@5
 | 
    77  | 
  | 
| 
ladanyi@245
 | 
    78  | 
--enable-tools
  | 
| 
ladanyi@245
 | 
    79  | 
  | 
| 
ladanyi@245
 | 
    80  | 
   Build the programs in the tools subdirectory (default).
  | 
| 
ladanyi@245
 | 
    81  | 
  | 
| 
ladanyi@245
 | 
    82  | 
--disable-tools
  | 
| 
ladanyi@245
 | 
    83  | 
  | 
| 
ladanyi@245
 | 
    84  | 
   Do not build the programs in the tools subdirectory.
  | 
| 
alpar@5
 | 
    85  | 
  | 
| 
alpar@5
 | 
    86  | 
--with-glpk[=PREFIX]
  | 
| 
alpar@5
 | 
    87  | 
  | 
| 
alpar@5
 | 
    88  | 
   Enable GLPK support (default). You should specify the prefix too if
  | 
| 
alpar@5
 | 
    89  | 
   you installed GLPK to some non-standard location (e.g. your home
  | 
| 
alpar@5
 | 
    90  | 
   directory). If it is not found, GLPK support will be disabled.
  | 
| 
alpar@5
 | 
    91  | 
  | 
| 
alpar@5
 | 
    92  | 
--with-glpk-includedir=DIR
  | 
| 
alpar@5
 | 
    93  | 
  | 
| 
alpar@5
 | 
    94  | 
   The directory where the GLPK header files are located. This is only
  | 
| 
alpar@5
 | 
    95  | 
   useful when the GLPK headers and libraries are not under the same
  | 
| 
alpar@5
 | 
    96  | 
   prefix (which is unlikely).
  | 
| 
alpar@5
 | 
    97  | 
  | 
| 
alpar@5
 | 
    98  | 
--with-glpk-libdir=DIR
  | 
| 
alpar@5
 | 
    99  | 
  | 
| 
alpar@5
 | 
   100  | 
   The directory where the GLPK libraries are located. This is only
  | 
| 
alpar@5
 | 
   101  | 
   useful when the GLPK headers and libraries are not under the same
  | 
| 
alpar@5
 | 
   102  | 
   prefix (which is unlikely).
  | 
| 
alpar@5
 | 
   103  | 
  | 
| 
alpar@5
 | 
   104  | 
--without-glpk
  | 
| 
alpar@5
 | 
   105  | 
  | 
| 
alpar@5
 | 
   106  | 
   Disable GLPK support.
  | 
| 
alpar@5
 | 
   107  | 
  | 
| 
alpar@5
 | 
   108  | 
--with-cplex[=PREFIX]
  | 
| 
alpar@5
 | 
   109  | 
  | 
| 
alpar@5
 | 
   110  | 
   Enable CPLEX support (default). You should specify the prefix too
  | 
| 
alpar@5
 | 
   111  | 
   if you installed CPLEX to some non-standard location
  | 
| 
alpar@5
 | 
   112  | 
   (e.g. /opt/ilog/cplex75). If it is not found, CPLEX support will be
  | 
| 
alpar@5
 | 
   113  | 
   disabled.
  | 
| 
alpar@5
 | 
   114  | 
  | 
| 
alpar@5
 | 
   115  | 
--with-cplex-includedir=DIR
  | 
| 
alpar@5
 | 
   116  | 
  | 
| 
alpar@5
 | 
   117  | 
   The directory where the CPLEX header files are located. This is
  | 
| 
alpar@5
 | 
   118  | 
   only useful when the CPLEX headers and libraries are not under the
  | 
| 
alpar@5
 | 
   119  | 
   same prefix (e.g.  /usr/local/cplex/cplex75/include).
  | 
| 
alpar@5
 | 
   120  | 
  | 
| 
alpar@5
 | 
   121  | 
--with-cplex-libdir=DIR
  | 
| 
alpar@5
 | 
   122  | 
  | 
| 
alpar@5
 | 
   123  | 
   The directory where the CPLEX libraries are located. This is only
  | 
| 
alpar@5
 | 
   124  | 
   useful when the CPLEX headers and libraries are not under the same
  | 
| 
alpar@5
 | 
   125  | 
   prefix (e.g.
  | 
| 
alpar@5
 | 
   126  | 
   /usr/local/cplex/cplex75/lib/i86_linux2_glibc2.2_gcc3.0/static_pic_mt).
  | 
| 
alpar@5
 | 
   127  | 
  | 
| 
alpar@5
 | 
   128  | 
--without-cplex
  | 
| 
alpar@5
 | 
   129  | 
  | 
| 
alpar@5
 | 
   130  | 
   Disable CPLEX support.
  | 
| 
ladanyi@245
 | 
   131  | 
  | 
| 
ladanyi@245
 | 
   132  | 
--with-soplex[=PREFIX]
  | 
| 
ladanyi@245
 | 
   133  | 
  | 
| 
ladanyi@245
 | 
   134  | 
   Enable SoPlex support (default). You should specify the prefix too if
  | 
| 
ladanyi@245
 | 
   135  | 
   you installed SoPlex to some non-standard location (e.g. your home
  | 
| 
ladanyi@245
 | 
   136  | 
   directory). If it is not found, SoPlex support will be disabled.
  | 
| 
ladanyi@245
 | 
   137  | 
  | 
| 
ladanyi@245
 | 
   138  | 
--with-soplex-includedir=DIR
  | 
| 
ladanyi@245
 | 
   139  | 
  | 
| 
ladanyi@245
 | 
   140  | 
   The directory where the SoPlex header files are located. This is only
  | 
| 
ladanyi@245
 | 
   141  | 
   useful when the SoPlex headers and libraries are not under the same
  | 
| 
ladanyi@245
 | 
   142  | 
   prefix (which is unlikely).
  | 
| 
ladanyi@245
 | 
   143  | 
  | 
| 
ladanyi@245
 | 
   144  | 
--with-soplex-libdir=DIR
  | 
| 
ladanyi@245
 | 
   145  | 
  | 
| 
ladanyi@245
 | 
   146  | 
   The directory where the SoPlex libraries are located. This is only
  | 
| 
ladanyi@245
 | 
   147  | 
   useful when the SoPlex headers and libraries are not under the same
  | 
| 
ladanyi@245
 | 
   148  | 
   prefix (which is unlikely).
  | 
| 
ladanyi@245
 | 
   149  | 
  | 
| 
ladanyi@245
 | 
   150  | 
--without-soplex
  | 
| 
ladanyi@245
 | 
   151  | 
  | 
| 
ladanyi@245
 | 
   152  | 
   Disable SoPlex support.
  | 
| 
ladanyi@560
 | 
   153  | 
  | 
| 
ladanyi@560
 | 
   154  | 
--with-coin[=PREFIX]
  | 
| 
ladanyi@560
 | 
   155  | 
  | 
| 
ladanyi@560
 | 
   156  | 
   Enable support for COIN-OR solvers (CLP and CBC). You should
  | 
| 
ladanyi@560
 | 
   157  | 
   specify the prefix too. (by default, COIN-OR tools install
  | 
| 
ladanyi@560
 | 
   158  | 
   themselves to the source code directory). This command enables the
  | 
| 
ladanyi@560
 | 
   159  | 
   solvers that are actually found.
  | 
| 
ladanyi@560
 | 
   160  | 
  | 
| 
ladanyi@560
 | 
   161  | 
--with-coin-includedir=DIR
  | 
| 
ladanyi@560
 | 
   162  | 
  | 
| 
ladanyi@560
 | 
   163  | 
   The directory where the COIN-OR header files are located. This is
  | 
| 
ladanyi@560
 | 
   164  | 
   only useful when the COIN-OR headers and libraries are not under
  | 
| 
ladanyi@560
 | 
   165  | 
   the same prefix (which is unlikely).
  | 
| 
ladanyi@560
 | 
   166  | 
  | 
| 
ladanyi@560
 | 
   167  | 
--with-coin-libdir=DIR
  | 
| 
ladanyi@560
 | 
   168  | 
  | 
| 
ladanyi@560
 | 
   169  | 
   The directory where the COIN-OR libraries are located. This is only
  | 
| 
ladanyi@560
 | 
   170  | 
   useful when the COIN-OR headers and libraries are not under the
  | 
| 
ladanyi@560
 | 
   171  | 
   same prefix (which is unlikely).
  | 
| 
ladanyi@560
 | 
   172  | 
  | 
| 
ladanyi@560
 | 
   173  | 
--without-coin
  | 
| 
ladanyi@560
 | 
   174  | 
  | 
| 
ladanyi@560
 | 
   175  | 
   Disable COIN-OR support.
  |