Backport relevant parts of bugfixes [ad22262328b3], [61fdd06833a6] and [4add05447ca0] to branch 1.2 (#623)
1 Installation Instructions
2 =========================
4 Since you are reading this I assume you already obtained one of the release
5 tarballs and successfully extracted it. The latest version of LEMON is
6 available at our web page (http://lemon.cs.elte.hu/).
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.
14 In order to install LEMON from the extracted source tarball you have to
15 issue the following commands:
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.
24 This command runs the configure shell script, which does some checks and
25 creates the makefiles.
29 This command compiles the non-template part of LEMON into libemon.a
30 file. It also compiles the programs in the tools subdirectory by
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
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'.
46 6. `make install-html'
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,
55 Configure Options and Variables
56 ===============================
58 In step 2 you can customize the actions of configure by setting variables
59 and passing options to it. This can be done like this:
60 `./configure [OPTION]... [VARIABLE=VALUE]...'
62 Below you will find some useful variables and options (see `./configure --help'
67 Change the C++ compiler to 'comp'.
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.
76 Set the installation prefix to PREFIX. By default it is /usr/local.
80 Build the programs in the tools subdirectory (default).
84 Do not build the programs in the tools subdirectory.
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.
92 --with-glpk-includedir=DIR
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).
98 --with-glpk-libdir=DIR
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).
106 Disable GLPK support.
108 --with-cplex[=PREFIX]
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
115 --with-cplex-includedir=DIR
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).
121 --with-cplex-libdir=DIR
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
126 /usr/local/cplex/cplex75/lib/i86_linux2_glibc2.2_gcc3.0/static_pic_mt).
130 Disable CPLEX support.
132 --with-soplex[=PREFIX]
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.
138 --with-soplex-includedir=DIR
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).
144 --with-soplex-libdir=DIR
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).
152 Disable SoPlex support.
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.
161 --with-coin-includedir=DIR
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).
167 --with-coin-libdir=DIR
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).
175 Disable COIN-OR support.
181 Some Makefile variables are reserved by the GNU Coding Standards for
182 the use of the "user" - the person building the package. For instance,
183 CXX and CXXFLAGS are such variables, and have the same meaning as
184 explained in the previous section. These variables can be set on the
185 command line when invoking `make' like this:
186 `make [VARIABLE=VALUE]...'
188 WARNINGCXXFLAGS is a non-standard Makefile variable introduced by us
189 to hold several compiler flags related to warnings. Its default value
190 can be overridden when invoking `make'. For example to disable all
191 warning flags use `make WARNINGCXXFLAGS='.
193 In order to turn off a single flag from the default set of warning
194 flags, you can use the CXXFLAGS variable, since this is passed after
195 WARNINGCXXFLAGS. For example to turn off `-Wold-style-cast' (which is
196 used by default when g++ is detected) you can use
197 `make CXXFLAGS="-g -O2 -Wno-old-style-cast"'.