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