INSTALL
author Peter Kovacs <kpeter@inf.elte.hu>
Tue, 24 Mar 2009 00:18:25 +0100
changeset 604 8c3112a66878
parent 245 da1d220b176b
child 493 07a549a6b9bf
permissions -rw-r--r--
Use XTI implementation instead of ATI in NetworkSimplex (#234)

XTI (eXtended Threaded Index) is an imporved version of the widely
known ATI (Augmented Threaded Index) method for storing and updating
the spanning tree structure in Network Simplex algorithms.

In the ATI data structure three indices are stored for each node:
predecessor, thread and depth. In the XTI data structure depth is
replaced by the number of successors and the last successor
(according to the thread index).
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@318
     8
In order to install LEMON from the extracted source tarball you have to
alpar@5
     9
issue the following commands:
alpar@5
    10
ladanyi@245
    11
   1. `cd lemon-x.y.z'
alpar@5
    12
ladanyi@245
    13
      This command changes to the directory which was created when you
ladanyi@245
    14
      extracted the sources. The x.y.z part is a version number.
alpar@5
    15
ladanyi@245
    16
   2. `./configure'
alpar@5
    17
ladanyi@245
    18
      This command runs the configure shell script, which does some checks and
ladanyi@245
    19
      creates the makefiles.
alpar@5
    20
ladanyi@245
    21
   3. `make'
alpar@5
    22
ladanyi@245
    23
      This command compiles the non-template part of LEMON into libemon.a
kpeter@318
    24
      file. It also compiles the programs in the tools and demo subdirectories
kpeter@318
    25
      when enabled.
alpar@5
    26
ladanyi@245
    27
   4. `make check'
alpar@5
    28
ladanyi@245
    29
      This step is optional, but recommended. It runs the test programs that
ladanyi@245
    30
      we developed for LEMON to check whether the library works properly on
ladanyi@245
    31
      your platform.
alpar@5
    32
ladanyi@245
    33
   5. `make install'
alpar@5
    34
ladanyi@245
    35
      This command installs LEMON under /usr/local (you will need root
ladanyi@245
    36
      privileges to be able to do that). If you want to install it to some
ladanyi@245
    37
      other location, then pass the --prefix=DIRECTORY flag to configure in
ladanyi@245
    38
      step 2. For example: `./configure --prefix=/home/username/lemon'.
alpar@5
    39
ladanyi@245
    40
   6. `make install-html'
alpar@5
    41
ladanyi@245
    42
      This command installs the documentation under share/doc/lemon/docs. The
ladanyi@245
    43
      generated documentation is included in the tarball. If you want to
ladanyi@245
    44
      generate it yourself, then run `make html'. Note that for this you need
ladanyi@245
    45
      to have the following programs installed: Doxygen, Graphviz, Ghostscript,
ladanyi@245
    46
      Latex.
alpar@5
    47
alpar@5
    48
ladanyi@245
    49
Configure Options and Variables
ladanyi@245
    50
===============================
ladanyi@245
    51
kpeter@318
    52
In step 2 you can customize the actions of configure by setting variables
ladanyi@245
    53
and passing options to it. This can be done like this:
ladanyi@245
    54
`./configure [OPTION]... [VARIABLE=VALUE]...'
ladanyi@245
    55
kpeter@318
    56
Below you will find some useful variables and options (see `./configure --help'
kpeter@318
    57
for more):
ladanyi@245
    58
ladanyi@245
    59
CXX='comp'
alpar@5
    60
alpar@5
    61
  Change the C++ compiler to 'comp'.
alpar@5
    62
alpar@5
    63
CXXFLAGS='flags'
alpar@5
    64
ladanyi@245
    65
  Pass the 'flags' to the compiler. For example CXXFLAGS='-O3 -march=pentium-m'
ladanyi@245
    66
  turns on generation of aggressively optimized Pentium-M specific code.
ladanyi@245
    67
ladanyi@245
    68
--prefix=PREFIX
ladanyi@245
    69
ladanyi@245
    70
  Set the installation prefix to PREFIX. By default it is /usr/local.
alpar@5
    71
alpar@5
    72
--enable-demo
alpar@5
    73
ladanyi@245
    74
   Build the examples in the demo subdirectory.
alpar@5
    75
alpar@5
    76
--disable-demo
alpar@5
    77
ladanyi@245
    78
   Do not build the examples in the demo subdirectory (default).
alpar@5
    79
ladanyi@245
    80
--enable-tools
ladanyi@245
    81
ladanyi@245
    82
   Build the programs in the tools subdirectory (default).
ladanyi@245
    83
ladanyi@245
    84
--disable-tools
ladanyi@245
    85
ladanyi@245
    86
   Do not build the programs in the tools subdirectory.
alpar@5
    87
alpar@5
    88
--with-glpk[=PREFIX]
alpar@5
    89
alpar@5
    90
   Enable GLPK support (default). You should specify the prefix too if
alpar@5
    91
   you installed GLPK to some non-standard location (e.g. your home
alpar@5
    92
   directory). If it is not found, GLPK support will be disabled.
alpar@5
    93
alpar@5
    94
--with-glpk-includedir=DIR
alpar@5
    95
alpar@5
    96
   The directory where the GLPK header files are located. This is only
alpar@5
    97
   useful when the GLPK headers and libraries are not under the same
alpar@5
    98
   prefix (which is unlikely).
alpar@5
    99
alpar@5
   100
--with-glpk-libdir=DIR
alpar@5
   101
alpar@5
   102
   The directory where the GLPK libraries are located. This is only
alpar@5
   103
   useful when the GLPK headers and libraries are not under the same
alpar@5
   104
   prefix (which is unlikely).
alpar@5
   105
alpar@5
   106
--without-glpk
alpar@5
   107
alpar@5
   108
   Disable GLPK support.
alpar@5
   109
alpar@5
   110
--with-cplex[=PREFIX]
alpar@5
   111
alpar@5
   112
   Enable CPLEX support (default). You should specify the prefix too
alpar@5
   113
   if you installed CPLEX to some non-standard location
alpar@5
   114
   (e.g. /opt/ilog/cplex75). If it is not found, CPLEX support will be
alpar@5
   115
   disabled.
alpar@5
   116
alpar@5
   117
--with-cplex-includedir=DIR
alpar@5
   118
alpar@5
   119
   The directory where the CPLEX header files are located. This is
alpar@5
   120
   only useful when the CPLEX headers and libraries are not under the
alpar@5
   121
   same prefix (e.g.  /usr/local/cplex/cplex75/include).
alpar@5
   122
alpar@5
   123
--with-cplex-libdir=DIR
alpar@5
   124
alpar@5
   125
   The directory where the CPLEX libraries are located. This is only
alpar@5
   126
   useful when the CPLEX headers and libraries are not under the same
alpar@5
   127
   prefix (e.g.
alpar@5
   128
   /usr/local/cplex/cplex75/lib/i86_linux2_glibc2.2_gcc3.0/static_pic_mt).
alpar@5
   129
alpar@5
   130
--without-cplex
alpar@5
   131
alpar@5
   132
   Disable CPLEX support.
ladanyi@245
   133
ladanyi@245
   134
--with-soplex[=PREFIX]
ladanyi@245
   135
ladanyi@245
   136
   Enable SoPlex support (default). You should specify the prefix too if
ladanyi@245
   137
   you installed SoPlex to some non-standard location (e.g. your home
ladanyi@245
   138
   directory). If it is not found, SoPlex support will be disabled.
ladanyi@245
   139
ladanyi@245
   140
--with-soplex-includedir=DIR
ladanyi@245
   141
ladanyi@245
   142
   The directory where the SoPlex header files are located. This is only
ladanyi@245
   143
   useful when the SoPlex headers and libraries are not under the same
ladanyi@245
   144
   prefix (which is unlikely).
ladanyi@245
   145
ladanyi@245
   146
--with-soplex-libdir=DIR
ladanyi@245
   147
ladanyi@245
   148
   The directory where the SoPlex libraries are located. This is only
ladanyi@245
   149
   useful when the SoPlex headers and libraries are not under the same
ladanyi@245
   150
   prefix (which is unlikely).
ladanyi@245
   151
ladanyi@245
   152
--without-soplex
ladanyi@245
   153
ladanyi@245
   154
   Disable SoPlex support.