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