7 have a basic knowledge of your operating system and \c C++ programming |
7 have a basic knowledge of your operating system and \c C++ programming |
8 language. The procedure is pretty straightforward, but if you have any |
8 language. The procedure is pretty straightforward, but if you have any |
9 difficulties don't hesitate to |
9 difficulties don't hesitate to |
10 <a href="http://lemon.cs.elte.hu/mailinglists.html">ask</a>. |
10 <a href="http://lemon.cs.elte.hu/mailinglists.html">ask</a>. |
11 |
11 |
|
12 |
12 \section requirementsLEMON Hardware and software requirements |
13 \section requirementsLEMON Hardware and software requirements |
13 |
14 |
14 In LEMON we use C++ templates heavily, thus compilation takes a |
15 In LEMON we use C++ templates heavily, thus compilation takes a |
15 considerable amount of time and memory. So some decent box would be |
16 considerable amount of time and memory. So some decent box would be |
16 advantageous. But otherwise there are no special hardware requirements. |
17 advantageous. But otherwise there are no special hardware requirements. |
17 |
18 |
18 You will need a recent C++ compiler. Our primary target is the GNU C++ |
19 You will need a recent C++ compiler. Our primary target is the GNU C++ |
19 Compiler (g++), from version 3.3 upwards. We also checked the Intel C |
20 Compiler (g++), from version 3.3 upwards. We also checked the Intel C++ |
20 compiler (icc). Microsoft Visual C++ .NET version was also reported to |
21 Compiler (icc). Microsoft Visual C++ .NET 2003 was also reported to |
21 work (but not the earlier versions). If you want to develop with LEMON |
22 work (but not the earlier versions). If you want to develop with LEMON |
22 under Windows you could consider using Cygwin. |
23 under Windows you could consider using Cygwin. |
23 |
24 |
24 |
25 In this description we will suppose a Linux environment and GNU C++ Compiler. |
25 In this description we will suppose a linux environment and GNU C Compiler. |
26 |
|
27 |
|
28 \subsection requirementsLP LP solver requirements |
|
29 |
|
30 The LEMON LP solver interface can use the GLPK (GNU Linear Programming Kit) |
|
31 and CPLEX solvers (was tested with CPLEX 7.5). If you want to use it you will |
|
32 need at least one of these. See \ref configureFlags how to enable these at |
|
33 compile time. |
|
34 |
|
35 |
|
36 \subsection requirementsGUI GUI requirements |
|
37 |
|
38 To compile the graphical graph editor you will need libgnomecanvasmm |
|
39 (2.6.0 or newer). See \ref configureFlags how to enable it. |
|
40 |
26 |
41 |
27 \section downloadLEMON How to download LEMON |
42 \section downloadLEMON How to download LEMON |
28 |
43 |
29 You can download LEMON from the LEMON web site: |
44 You can download LEMON from the LEMON web site: |
30 http://lemon.cs.elte.hu/download.html. |
45 http://lemon.cs.elte.hu/download.html . |
31 There you will find released versions in form of <tt>.tar.gz</tt> files. |
46 There you will find released versions in form of <tt>.tar.gz</tt> files. |
32 If you want a developer version (for example you want to contribute in |
47 If you want a developer version (for example you want to contribute in |
33 developing the library LEMON) then you might want to use our Subversion |
48 developing the library LEMON) then you might want to use our Subversion |
34 repository. This case is not detailed here, so from now on we suppose that |
49 repository. This case is not detailed here, so from now on we suppose that |
35 you downloaded a tar.gz file. |
50 you downloaded a tar.gz file. |
36 |
|
37 |
51 |
38 |
52 |
39 \section installLEMON How to install LEMON |
53 \section installLEMON How to install LEMON |
40 |
54 |
41 In order to install LEMON you have to do the following steps. |
55 In order to install LEMON you have to do the following steps. |
104 make install |
117 make install |
105 \endverbatim |
118 \endverbatim |
106 This will copy the directory structure to its final destination (e.g. to \c |
119 This will copy the directory structure to its final destination (e.g. to \c |
107 /usr/local) so that your system can access it. This command should |
120 /usr/local) so that your system can access it. This command should |
108 be issued as "root", unless you provided a \c --prefix switch to |
121 be issued as "root", unless you provided a \c --prefix switch to |
109 the \c cofugure to install the library in non-default location. |
122 the \c configure to install the library in non-default location. |
|
123 |
|
124 |
|
125 \subsection configureFlags Configure flags |
|
126 |
|
127 You can pass the following flags to \c ./configure (see \c ./configure --help |
|
128 for more): |
|
129 |
|
130 \verbatim |
|
131 --enable-gui |
|
132 \endverbatim |
|
133 Build the GUI. |
|
134 |
|
135 \verbatim |
|
136 --disable-gui |
|
137 \endverbatim |
|
138 Do not build the GUI (default). |
|
139 |
|
140 \verbatim |
|
141 --with-glpk[=PREFIX] |
|
142 \endverbatim |
|
143 Enable GLPK support (default). You should specify the prefix too if you |
|
144 installed it to some non-standard location (e.g. your home directory). If |
|
145 GLPK is not found, then GLPK support will be disabled. |
|
146 |
|
147 \verbatim |
|
148 --with-glpk-includedir=DIR |
|
149 \endverbatim |
|
150 The directory where the GLPK header files are located. This is only useful when |
|
151 the GLPK headers and libraries are not under the same prefix (which is not |
|
152 likely). |
|
153 |
|
154 \verbatim |
|
155 --with-glpk-libdir=DIR |
|
156 \endverbatim |
|
157 The directory where the GLPK libraries are located. This is only useful when |
|
158 the GLPK headers and libraries are not under the same prefix (which is not |
|
159 likely). |
|
160 |
|
161 \verbatim |
|
162 --without-glpk |
|
163 \endverbatim |
|
164 Disable GLPK support. |
|
165 |
|
166 \verbatim |
|
167 --with-cplex[=PREFIX] |
|
168 \endverbatim |
|
169 Enable CPLEX support (default). You should specify the prefix too if you |
|
170 installed it to some non-standard location (e.g. \c /opt/ilog/cplex75). If |
|
171 CPLEX is not found, then CPLEX support will be disabled. |
|
172 |
|
173 \verbatim |
|
174 --with-cplex-includedir=DIR |
|
175 \endverbatim |
|
176 The directory where the CPLEX header files are located. This is only useful |
|
177 when the CPLEX headers and libraries are not under the same prefix. |
|
178 |
|
179 \verbatim |
|
180 --with-cplex-libdir=DIR |
|
181 \endverbatim |
|
182 The directory where the CPLEX libraries are located. This is only useful when |
|
183 the CPLEX headers and libraries are not under the same prefix. |
|
184 |
|
185 \verbatim |
|
186 --without-cplex |
|
187 \endverbatim |
|
188 Disable CPLEX support. |
|
189 |
|
190 |
|
191 \section svnCheckout How to checkout LEMON form our Subversion repository |
|
192 |
|
193 You can obtain the latest version of LEMON from our Subversion repository. To |
|
194 do this issue the following command: |
|
195 \verbatim |
|
196 svn co https://lemon.cs.elte.hu/svn/hugo/trunk lemon |
|
197 \endverbatim |
|
198 Use "lemon" as username, the password is empty. |
|
199 |
|
200 |
|
201 \section svnCompile How to compile the source from the repository |
|
202 |
|
203 You can compile the code from the repository similarly to the packaged version, |
|
204 but you will need to run \c ./bootstrap before \c ./configure. See \c |
|
205 ./bootstrap \c --help for options. For bootstrapping you will need the |
|
206 following tools: |
|
207 |
|
208 - <a href="http://www.gnu.org/software/automake/">automake</a> (1.7 or newer) |
|
209 - <a href="http://www.gnu.org/software/autoconf/">autoconf</a> (2.59 or newer) |
|
210 - <a href="http://www.gnu.org/software/libtool/">libtool</a> |
|
211 - <a href="http://pkgconfig.freedesktop.org/">pkgconfig</a> |
|
212 |
|
213 To generate the documentation, run \c make \c doc. You will need |
|
214 <a href="http://www.doxygen.org/">Doxygen</a> for this. |
|
215 |
|
216 You can pass the \c --enable-doc=full flag to \c ./configure to generate the |
|
217 internal documentation too. |
|
218 |
|
219 If you pass the \c --disable-doc flag to \c ./configure then the documentation |
|
220 won't be installed, when you run \c make \c install (this speeds things up a |
|
221 bit). |
110 |
222 |
111 \section helloworld My first program using LEMON |
223 \section helloworld My first program using LEMON |
112 |
224 |
113 If you have installed LEMON on your system you can paste the |
225 If you have installed LEMON on your system you can paste the |
114 following code segment into a file (you can find it as \c |
226 following code segment into a file (you can find it as \c |