Rework installation part and move it to the appendix
authorAlpar Juttner <alpar@cs.elte.hu>
Fri, 24 Oct 2008 13:26:15 +0100
changeset 7934258c64b6b
parent 6 da96f28684f7
child 8 4b3d55acc9d7
Rework installation part and move it to the appendix
getting_started.dox
install.dox
mainpage.dox
     1.1 --- a/getting_started.dox	Thu Oct 23 14:07:30 2008 +0200
     1.2 +++ b/getting_started.dox	Fri Oct 24 13:26:15 2008 +0100
     1.3 @@ -19,149 +19,6 @@
     1.4  /**
     1.5  \page getting_started Getting Started
     1.6  
     1.7 -In this page we detail how to start using LEMON, from downloading it to
     1.8 -your computer, through the steps of installation, to showing a simple
     1.9 -"Hello World" type program that already uses LEMON. We assume that you
    1.10 -have a basic knowledge of your operating system and C++ programming
    1.11 -language. The procedure is pretty straightforward, but if you have any
    1.12 -difficulties do not hesitate to
    1.13 -<a href="mailto:lemon-user@lemon.cs.elte.hu"><b>ask</b></a>.
    1.14 -
    1.15 -\section requirements_lemon Hardware and Software Requirements
    1.16 -
    1.17 -In LEMON we use C++ templates heavily, thus compilation takes a
    1.18 -considerable amount of time and memory. So some decent box would be
    1.19 -advantageousm, but otherwise there are no special hardware requirements.
    1.20 -
    1.21 -You will need a recent C++ compiler. Our primary target is the GNU C++
    1.22 -Compiler (g++), from version 3.3 upwards. We also checked the Intel C++
    1.23 -Compiler (icc) and Microsoft Visual C++ (on Windows).
    1.24 -If you want to develop with LEMON under Windows, you can use a Windows
    1.25 -installer or you can consider using Cygwin.
    1.26 -
    1.27 -In this description we will suppose a Linux environment and GNU C++ Compiler.
    1.28 -If you would like to develop under Windows and use a Windows installer,
    1.29 -you could skip the following sections and continue reading \ref hello_lemon.
    1.30 -However keep in mind that you have to make appropriate steps instead of
    1.31 -the instructions detailed here to be able to compile the example code
    1.32 -with your compiler.
    1.33 -
    1.34 -\subsection requirements_lp LP Solver Requirements
    1.35 -
    1.36 -The LEMON LP solver interface can use the GLPK (GNU Linear Programming
    1.37 -Kit), CPLEX and SoPlex solver. If you want to use it, you will need at
    1.38 -least one of these.
    1.39 -See the <b><tt>INSTALL</tt></b> file how to enable these at compile time.
    1.40 -
    1.41 -\section download_lemon How to Download LEMON
    1.42 -
    1.43 -You can download LEMON from our web site:
    1.44 -<a href="http://lemon.cs.elte.hu/">http://lemon.cs.elte.hu/</a>.
    1.45 -There you will find released versions in form of <tt>.tar.gz</tt> files
    1.46 -(and Windows installers).
    1.47 -If you want a developer version (for example you want to contribute in
    1.48 -developing LEMON) then you might want to use our Mercurial repository.
    1.49 -This case is detailed \ref hg_checkout "later", so from now on we
    1.50 -suppose that you downloaded a <tt>.tar.gz</tt> file.
    1.51 -
    1.52 -\section install_lemon How to Install LEMON
    1.53 -
    1.54 -In order to install LEMON you have to do the following steps.
    1.55 -
    1.56 -Download the tarball (named <tt>lemon-x.y.z.tar.gz</tt> where \c x, \c y
    1.57 -and \c z are numbers indicating the version of the library, in our example
    1.58 -we will have <tt>lemon-1.0.tar.gz</tt>) and issue the following commands:
    1.59 -
    1.60 -\verbatim
    1.61 -tar xvzf lemon-1.0.tar.gz
    1.62 -cd lemon-1.0
    1.63 -./configure
    1.64 -make
    1.65 -make check    # This is optional, but recommended. It runs a bunch of tests.
    1.66 -make install
    1.67 -\endverbatim
    1.68 -
    1.69 -These commands install LEMON under \c /usr/local (you will
    1.70 -need root privileges to be able to install to that
    1.71 -directory). If you want to install it to some other place, then
    1.72 -pass the \c --prefix=DIRECTORY flag to <tt>./configure</tt>, for example:
    1.73 -
    1.74 -\verbatim
    1.75 -./configure --prefix=/home/username/lemon
    1.76 -\endverbatim
    1.77 -
    1.78 -In what follows we will assume that you were able to install to directory
    1.79 -\c /usr/local, otherwise some extra care is to be taken to use the library.
    1.80 -
    1.81 -We briefly explain these commands below.
    1.82 -
    1.83 -\verbatim
    1.84 -tar xvzf lemon-1.0.tar.gz
    1.85 -\endverbatim
    1.86 -This command untars the <tt>tar.gz</tt> file into a directory named
    1.87 -<tt>lemon-1.0</tt>.
    1.88 -
    1.89 -\verbatim
    1.90 -cd lemon-1.0
    1.91 -\endverbatim
    1.92 -This command enters the directory.
    1.93 -
    1.94 -\verbatim
    1.95 -./configure
    1.96 -\endverbatim
    1.97 -This command runs the configure shell script, which does some checks and
    1.98 -creates the makefiles.
    1.99 -
   1.100 -\verbatim
   1.101 -make
   1.102 -\endverbatim
   1.103 -This command compiles the non-template part of LEMON into <tt>libemon.a</tt>
   1.104 -file. It also compiles the programs in the tools and demo subdirectories
   1.105 -when enabled.
   1.106 -
   1.107 -\verbatim
   1.108 -make check
   1.109 -\endverbatim
   1.110 -This step is optional, but recommended. It runs the test programs that
   1.111 -have been developed for LEMON to check whether the library works properly on
   1.112 -your platform.
   1.113 -
   1.114 -\verbatim
   1.115 -make install
   1.116 -\endverbatim
   1.117 -This command will copy the directory structure to its final destination
   1.118 -(e.g. to \c /usr/local) so that your system can access it.
   1.119 -This command should be issued as "root", unless you provided a
   1.120 -\c --prefix switch to the \c configure to install the library in
   1.121 -non-default location.
   1.122 -
   1.123 -Several other configure flags can be passed to <tt>./configure</tt>.
   1.124 -For more information see the <b><tt>INSTALL</tt></b> file.
   1.125 -
   1.126 -\section hg_checkout How to Checkout LEMON from our Mercurial Repository
   1.127 -
   1.128 -You can obtain the latest (developer) version of LEMON from our Mercurial
   1.129 -repository. To do this issue the following command.
   1.130 -\verbatim
   1.131 -hg clone http://lemon.cs.elte.hu/hg/lemon-main lemon-src
   1.132 -\endverbatim
   1.133 -
   1.134 -\section hg_compile How to Compile the Source from the Repository
   1.135 -
   1.136 -You can compile the code from the repository similarly to the packaged
   1.137 -version, but you will need to run <b><tt>autoreconf -vif</tt></b>
   1.138 -(or <b><tt>./bootstrap</tt></b> in some older environment) before
   1.139 -<tt>./configure</tt>. See <tt>./configure --help</tt> for options.
   1.140 -For bootstrapping you will need the following tools:
   1.141 -
   1.142 - - <a href="http://www.gnu.org/software/automake/">automake</a> (1.7 or newer)
   1.143 - - <a href="http://www.gnu.org/software/autoconf/">autoconf</a> (2.59 or newer)
   1.144 - - <a href="http://www.gnu.org/software/libtool/">libtool</a>
   1.145 - - <a href="http://pkgconfig.freedesktop.org/">pkgconfig</a>
   1.146 -
   1.147 -To generate the documentation, run <tt>make html</tt>.
   1.148 -You will need <a href="http://www.doxygen.org/">Doxygen</a> for this.
   1.149 -
   1.150  \section hello_lemon Compile Your First Code
   1.151  
   1.152  If you have installed LEMON on your system you can paste the following
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/install.dox	Fri Oct 24 13:26:15 2008 +0100
     2.3 @@ -0,0 +1,189 @@
     2.4 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
     2.5 + *
     2.6 + * This file is a part of LEMON, a generic C++ optimization library.
     2.7 + *
     2.8 + * Copyright (C) 2003-2008
     2.9 + * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
    2.10 + * (Egervary Research Group on Combinatorial Optimization, EGRES).
    2.11 + *
    2.12 + * Permission to use, modify and distribute this software is granted
    2.13 + * provided that this copyright notice appears in all copies. For
    2.14 + * precise terms see the accompanying LICENSE file.
    2.15 + *
    2.16 + * This software is provided "AS IS" with no warranty of any kind,
    2.17 + * express or implied, and with no claim as to its suitability for any
    2.18 + * purpose.
    2.19 + *
    2.20 + */
    2.21 +
    2.22 +/**
    2.23 +\page install Installation Guide
    2.24 +
    2.25 +In this page we detail how to start using LEMON, from downloading it to
    2.26 +your computer, through the steps of installation, to showing a simple
    2.27 +"Hello World" type program that already uses LEMON. We assume that you
    2.28 +have a basic knowledge of your operating system and C++ programming
    2.29 +language. The procedure is pretty straightforward, but if you have any
    2.30 +difficulties do not hesitate to
    2.31 +<a href="mailto:lemon-user@lemon.cs.elte.hu"><b>ask</b></a>.
    2.32 +
    2.33 +\section requirements_lemon Hardware and Software Requirements
    2.34 +
    2.35 +In LEMON we use C++ templates heavily, thus compilation takes a
    2.36 +considerable amount of time and memory. So some decent box would be
    2.37 +advantageousm, but otherwise there are no special hardware requirements.
    2.38 +
    2.39 +You will need a recent C++ compiler. Our primary target is the GNU C++
    2.40 +Compiler (g++), from version 3.3 upwards. We also checked the Intel C++
    2.41 +Compiler (icc) and Microsoft Visual C++ (on Windows).
    2.42 +If you want to develop with LEMON under Windows, you can use a Windows
    2.43 +installer or you can consider using Cygwin.
    2.44 +
    2.45 +In this description we will suppose a Linux environment and GNU C++ Compiler.
    2.46 +If you would like to develop under Windows and use a Windows installer,
    2.47 +you could skip the following sections and continue reading \ref hello_lemon.
    2.48 +However keep in mind that you have to make appropriate steps instead of
    2.49 +the instructions detailed here to be able to compile the example code
    2.50 +with your compiler.
    2.51 +
    2.52 +\subsection requirements_lp LP Solver Requirements
    2.53 +
    2.54 +The LEMON LP solver interface can use the GLPK (GNU Linear Programming
    2.55 +Kit), CPLEX and SoPlex solver. If you want to use it, you will need at
    2.56 +least one of these.
    2.57 +See the <b><tt>INSTALL</tt></b> file how to enable these at compile time.
    2.58 +
    2.59 +\section install_from_source Install from Source
    2.60 +
    2.61 +You can download LEMON from the web site:
    2.62 +<a href="http://lemon.cs.elte.hu/">http://lemon.cs.elte.hu/</a>.
    2.63 +There you will find released versions in form of <tt>.tar.gz</tt> files
    2.64 +(and Windows installers).
    2.65 +If you want a developer version (for example you want to contribute in
    2.66 +developing LEMON) then you might want to use our Mercurial repository.
    2.67 +This case is detailed \ref hg_checkout "later", so from now on we
    2.68 +suppose that you downloaded a <tt>.tar.gz</tt> file.
    2.69 +
    2.70 +Thus you have to do the following steps.
    2.71 +
    2.72 +Download the tarball either from the browser or just issuing
    2.73 +
    2.74 +\verbatim
    2.75 +wget http://lemon.cs.elte.hu/pub/sources/lemon-1.0.tar.gz
    2.76 +\endverbatim
    2.77 +
    2.78 +\note The tarball is named <tt>lemon-x.y.z.tar.gz</tt> where \c x, \c
    2.79 +y and \c z (which is missing if it is 0) are numbers indicating the
    2.80 +version of the library, in our example we will have
    2.81 +<tt>lemon-1.0.tar.gz</tt>.
    2.82 +
    2.83 +Then issue the following commands:
    2.84 +
    2.85 +\verbatim
    2.86 +tar xvzf lemon-1.0.tar.gz
    2.87 +cd lemon-1.0
    2.88 +./configure
    2.89 +make
    2.90 +make check    # This is optional, but recommended. It runs a bunch of tests.
    2.91 +make install
    2.92 +\endverbatim
    2.93 +
    2.94 +These commands install LEMON under \c /usr/local (you will
    2.95 +need root privileges to be able to install to that
    2.96 +directory). If you want to install it to some other place, then
    2.97 +pass the \c --prefix=DIRECTORY flag to <tt>./configure</tt>, for example:
    2.98 +
    2.99 +\verbatim
   2.100 +./configure --prefix=/home/username/lemon
   2.101 +\endverbatim
   2.102 +
   2.103 +In what follows we will assume that you were able to install to directory
   2.104 +\c /usr/local, otherwise some extra care is to be taken to use the library.
   2.105 +
   2.106 +We briefly explain these commands below.
   2.107 +
   2.108 +\verbatim
   2.109 +tar xvzf lemon-1.0.tar.gz
   2.110 +\endverbatim
   2.111 +This command untars the <tt>tar.gz</tt> file into a directory named
   2.112 +<tt>lemon-1.0</tt>.
   2.113 +
   2.114 +\verbatim
   2.115 +cd lemon-1.0
   2.116 +\endverbatim
   2.117 +This command enters the directory.
   2.118 +
   2.119 +\verbatim
   2.120 +./configure
   2.121 +\endverbatim
   2.122 +This command runs the configure shell script, which does some checks and
   2.123 +creates the makefiles.
   2.124 +
   2.125 +\verbatim
   2.126 +make
   2.127 +\endverbatim
   2.128 +This command compiles the non-template part of LEMON into <tt>libemon.a</tt>
   2.129 +file. It also compiles the programs in the tools and demo subdirectories
   2.130 +when enabled.
   2.131 +
   2.132 +\verbatim
   2.133 +make check
   2.134 +\endverbatim
   2.135 +This step is optional, but recommended. It performes a bunch of library
   2.136 +self-tests.
   2.137 +
   2.138 +\verbatim
   2.139 +make install
   2.140 +\endverbatim
   2.141 +This command will copy the directory structure to its final destination
   2.142 +(e.g. to \c /usr/local) so that your system can access it.
   2.143 +This command should be issued as "root", unless you provided a
   2.144 +\c --prefix switch to the \c configure to install the library in
   2.145 +non-default location.
   2.146 +
   2.147 +Several other configure flags can be passed to <tt>./configure</tt>.
   2.148 +For more information see the <b><tt>INSTALL</tt></b> file.
   2.149 +
   2.150 +\subsection install_hg Install the latest development version
   2.151 +
   2.152 +You can also use the latest (developer) version of LEMON from our Mercurial
   2.153 +repository. You need a couple additional tool for that
   2.154 +
   2.155 +- <a href="http://www.selenic.com/mercurial">Mercurial</a>
   2.156 +  - for obtaining the latest code (and for contributing into it)
   2.157 +- <a href="http://www.gnu.org/software/automake/">automake</a> (1.7 or newer)
   2.158 +- <a href="http://www.gnu.org/software/autoconf/">autoconf</a> (2.59 or newer)
   2.159 +- <a href="http://www.gnu.org/software/libtool/">libtool</a>
   2.160 +- <a href="http://pkgconfig.freedesktop.org/">pkgconfig</a>
   2.161 +  - for initializing the build framework
   2.162 +- <a href="http://doxygen.org">Doxygen</a>
   2.163 +  - for generating the documentations (optional, but recommended)
   2.164 +
   2.165 +Once you have all these tools installed, the process is fairly easy.
   2.166 +First, you have to get the copy of the lates version.
   2.167 +
   2.168 +\verbatim
   2.169 +hg clone http://lemon.cs.elte.hu/hg/lemon-main lemon-src
   2.170 +\endverbatim
   2.171 +
   2.172 +The next step is to initialize the build system.
   2.173 +
   2.174 +\verbatim
   2.175 +autoreconf -vif
   2.176 +\endverbatim
   2.177 +
   2.178 +Then the process is the same as in case of using the release tarball.
   2.179 +
   2.180 +\verbatim
   2.181 +./configure
   2.182 +make
   2.183 +make check    # This is optional, but recommended. It runs a bunch of tests.
   2.184 +make install
   2.185 +\endverbatim
   2.186 +
   2.187 +To generate the documentation, just run 
   2.188 +\verbatim
   2.189 +make html
   2.190 +\endverbatim
   2.191 +
   2.192 +*/
     3.1 --- a/mainpage.dox	Thu Oct 23 14:07:30 2008 +0200
     3.2 +++ b/mainpage.dox	Fri Oct 24 13:26:15 2008 +0100
     3.3 @@ -24,15 +24,7 @@
     3.4  
     3.5   - \ref intro
     3.6   - \ref getting_started
     3.7 -   - \ref requirements_lemon
     3.8 -     - \ref requirements_lp
     3.9 -   - \ref download_lemon
    3.10 -   - \ref install_lemon
    3.11 -   - \ref hg_checkout
    3.12 -   - \ref hg_compile
    3.13     - \ref hello_lemon
    3.14 -     - \ref hello_lemon_system
    3.15 -     - \ref hello_lemon_user
    3.16   - \ref basic_concepts "Basic Concepts"
    3.17     - \ref digraph_build "Build and Modify a Digraph"
    3.18     - \ref digraph_iterate "Iterate Over the Elements"
    3.19 @@ -63,10 +55,11 @@
    3.20     - \ref lp_examples "Simple Examples"
    3.21     - \ref lp_maxflow "Maximum Flow as LP Problem"
    3.22   - \ref appendix "Appendix"
    3.23 -   - \ref install "Install LEMON"
    3.24 -     - \ref install_system "Install System Wide"
    3.25 -       - \ref install_system_source "From Source"
    3.26 -       - \ref install_system_rpm "From rpm"
    3.27 +   - \ref install
    3.28 +     - \ref requirements_lemon
    3.29 +       - \ref requirements_lp
    3.30 +     - \ref install_from_source
    3.31 +     - \ref install_system_rpm "From rpm"
    3.32       - \ref install_user "Install Locally to the User"
    3.33  
    3.34  */