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