| [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. | 
|---|