| [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 |  | 
|---|
| [504] | 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 | 
|---|
| [318] | 30 |       file. It also compiles the programs in the tools and demo subdirectories | 
|---|
 | 31 |       when enabled. | 
|---|
| [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 |  | 
|---|
 | 78 | --enable-demo | 
|---|
 | 79 |  | 
|---|
| [245] | 80 |    Build the examples in the demo subdirectory. | 
|---|
| [5] | 81 |  | 
|---|
 | 82 | --disable-demo | 
|---|
 | 83 |  | 
|---|
| [245] | 84 |    Do not build the examples in the demo subdirectory (default). | 
|---|
| [5] | 85 |  | 
|---|
| [245] | 86 | --enable-tools | 
|---|
 | 87 |  | 
|---|
 | 88 |    Build the programs in the tools subdirectory (default). | 
|---|
 | 89 |  | 
|---|
 | 90 | --disable-tools | 
|---|
 | 91 |  | 
|---|
 | 92 |    Do not build the programs in the tools subdirectory. | 
|---|
| [5] | 93 |  | 
|---|
 | 94 | --with-glpk[=PREFIX] | 
|---|
 | 95 |  | 
|---|
 | 96 |    Enable GLPK support (default). You should specify the prefix too if | 
|---|
 | 97 |    you installed GLPK to some non-standard location (e.g. your home | 
|---|
 | 98 |    directory). If it is not found, GLPK support will be disabled. | 
|---|
 | 99 |  | 
|---|
 | 100 | --with-glpk-includedir=DIR | 
|---|
 | 101 |  | 
|---|
 | 102 |    The directory where the GLPK header files are located. This is only | 
|---|
 | 103 |    useful when the GLPK headers and libraries are not under the same | 
|---|
 | 104 |    prefix (which is unlikely). | 
|---|
 | 105 |  | 
|---|
 | 106 | --with-glpk-libdir=DIR | 
|---|
 | 107 |  | 
|---|
 | 108 |    The directory where the GLPK libraries are located. This is only | 
|---|
 | 109 |    useful when the GLPK headers and libraries are not under the same | 
|---|
 | 110 |    prefix (which is unlikely). | 
|---|
 | 111 |  | 
|---|
 | 112 | --without-glpk | 
|---|
 | 113 |  | 
|---|
 | 114 |    Disable GLPK support. | 
|---|
 | 115 |  | 
|---|
 | 116 | --with-cplex[=PREFIX] | 
|---|
 | 117 |  | 
|---|
 | 118 |    Enable CPLEX support (default). You should specify the prefix too | 
|---|
 | 119 |    if you installed CPLEX to some non-standard location | 
|---|
 | 120 |    (e.g. /opt/ilog/cplex75). If it is not found, CPLEX support will be | 
|---|
 | 121 |    disabled. | 
|---|
 | 122 |  | 
|---|
 | 123 | --with-cplex-includedir=DIR | 
|---|
 | 124 |  | 
|---|
 | 125 |    The directory where the CPLEX header files are located. This is | 
|---|
 | 126 |    only useful when the CPLEX headers and libraries are not under the | 
|---|
 | 127 |    same prefix (e.g.  /usr/local/cplex/cplex75/include). | 
|---|
 | 128 |  | 
|---|
 | 129 | --with-cplex-libdir=DIR | 
|---|
 | 130 |  | 
|---|
 | 131 |    The directory where the CPLEX libraries are located. This is only | 
|---|
 | 132 |    useful when the CPLEX headers and libraries are not under the same | 
|---|
 | 133 |    prefix (e.g. | 
|---|
 | 134 |    /usr/local/cplex/cplex75/lib/i86_linux2_glibc2.2_gcc3.0/static_pic_mt). | 
|---|
 | 135 |  | 
|---|
 | 136 | --without-cplex | 
|---|
 | 137 |  | 
|---|
 | 138 |    Disable CPLEX support. | 
|---|
| [245] | 139 |  | 
|---|
 | 140 | --with-soplex[=PREFIX] | 
|---|
 | 141 |  | 
|---|
 | 142 |    Enable SoPlex support (default). You should specify the prefix too if | 
|---|
 | 143 |    you installed SoPlex to some non-standard location (e.g. your home | 
|---|
 | 144 |    directory). If it is not found, SoPlex support will be disabled. | 
|---|
 | 145 |  | 
|---|
 | 146 | --with-soplex-includedir=DIR | 
|---|
 | 147 |  | 
|---|
 | 148 |    The directory where the SoPlex header files are located. This is only | 
|---|
 | 149 |    useful when the SoPlex headers and libraries are not under the same | 
|---|
 | 150 |    prefix (which is unlikely). | 
|---|
 | 151 |  | 
|---|
 | 152 | --with-soplex-libdir=DIR | 
|---|
 | 153 |  | 
|---|
 | 154 |    The directory where the SoPlex libraries are located. This is only | 
|---|
 | 155 |    useful when the SoPlex headers and libraries are not under the same | 
|---|
 | 156 |    prefix (which is unlikely). | 
|---|
 | 157 |  | 
|---|
 | 158 | --without-soplex | 
|---|
 | 159 |  | 
|---|
 | 160 |    Disable SoPlex support. | 
|---|