# HG changeset patch # User Alpar Juttner # Date 1224851175 -3600 # Node ID 934258c64b6b6228a9390a4533f8bad8d8135247 # Parent da96f28684f7ecb0a928a2486209a2eecd857e40 Rework installation part and move it to the appendix diff -r da96f28684f7 -r 934258c64b6b getting_started.dox --- a/getting_started.dox Thu Oct 23 14:07:30 2008 +0200 +++ b/getting_started.dox Fri Oct 24 13:26:15 2008 +0100 @@ -19,149 +19,6 @@ /** \page getting_started Getting Started -In this page we detail how to start using LEMON, from downloading it to -your computer, through the steps of installation, to showing a simple -"Hello World" type program that already uses LEMON. We assume that you -have a basic knowledge of your operating system and C++ programming -language. The procedure is pretty straightforward, but if you have any -difficulties do not hesitate to -ask. - -\section requirements_lemon Hardware and Software Requirements - -In LEMON we use C++ templates heavily, thus compilation takes a -considerable amount of time and memory. So some decent box would be -advantageousm, but otherwise there are no special hardware requirements. - -You will need a recent C++ compiler. Our primary target is the GNU C++ -Compiler (g++), from version 3.3 upwards. We also checked the Intel C++ -Compiler (icc) and Microsoft Visual C++ (on Windows). -If you want to develop with LEMON under Windows, you can use a Windows -installer or you can consider using Cygwin. - -In this description we will suppose a Linux environment and GNU C++ Compiler. -If you would like to develop under Windows and use a Windows installer, -you could skip the following sections and continue reading \ref hello_lemon. -However keep in mind that you have to make appropriate steps instead of -the instructions detailed here to be able to compile the example code -with your compiler. - -\subsection requirements_lp LP Solver Requirements - -The LEMON LP solver interface can use the GLPK (GNU Linear Programming -Kit), CPLEX and SoPlex solver. If you want to use it, you will need at -least one of these. -See the INSTALL file how to enable these at compile time. - -\section download_lemon How to Download LEMON - -You can download LEMON from our web site: -http://lemon.cs.elte.hu/. -There you will find released versions in form of .tar.gz files -(and Windows installers). -If you want a developer version (for example you want to contribute in -developing LEMON) then you might want to use our Mercurial repository. -This case is detailed \ref hg_checkout "later", so from now on we -suppose that you downloaded a .tar.gz file. - -\section install_lemon How to Install LEMON - -In order to install LEMON you have to do the following steps. - -Download the tarball (named lemon-x.y.z.tar.gz where \c x, \c y -and \c z are numbers indicating the version of the library, in our example -we will have lemon-1.0.tar.gz) and issue the following commands: - -\verbatim -tar xvzf lemon-1.0.tar.gz -cd lemon-1.0 -./configure -make -make check # This is optional, but recommended. It runs a bunch of tests. -make install -\endverbatim - -These commands install LEMON under \c /usr/local (you will -need root privileges to be able to install to that -directory). If you want to install it to some other place, then -pass the \c --prefix=DIRECTORY flag to ./configure, for example: - -\verbatim -./configure --prefix=/home/username/lemon -\endverbatim - -In what follows we will assume that you were able to install to directory -\c /usr/local, otherwise some extra care is to be taken to use the library. - -We briefly explain these commands below. - -\verbatim -tar xvzf lemon-1.0.tar.gz -\endverbatim -This command untars the tar.gz file into a directory named -lemon-1.0. - -\verbatim -cd lemon-1.0 -\endverbatim -This command enters the directory. - -\verbatim -./configure -\endverbatim -This command runs the configure shell script, which does some checks and -creates the makefiles. - -\verbatim -make -\endverbatim -This command compiles the non-template part of LEMON into libemon.a -file. It also compiles the programs in the tools and demo subdirectories -when enabled. - -\verbatim -make check -\endverbatim -This step is optional, but recommended. It runs the test programs that -have been developed for LEMON to check whether the library works properly on -your platform. - -\verbatim -make install -\endverbatim -This command will copy the directory structure to its final destination -(e.g. to \c /usr/local) so that your system can access it. -This command should be issued as "root", unless you provided a -\c --prefix switch to the \c configure to install the library in -non-default location. - -Several other configure flags can be passed to ./configure. -For more information see the INSTALL file. - -\section hg_checkout How to Checkout LEMON from our Mercurial Repository - -You can obtain the latest (developer) version of LEMON from our Mercurial -repository. To do this issue the following command. -\verbatim -hg clone http://lemon.cs.elte.hu/hg/lemon-main lemon-src -\endverbatim - -\section hg_compile How to Compile the Source from the Repository - -You can compile the code from the repository similarly to the packaged -version, but you will need to run autoreconf -vif -(or ./bootstrap in some older environment) before -./configure. See ./configure --help for options. -For bootstrapping you will need the following tools: - - - automake (1.7 or newer) - - autoconf (2.59 or newer) - - libtool - - pkgconfig - -To generate the documentation, run make html. -You will need Doxygen for this. - \section hello_lemon Compile Your First Code If you have installed LEMON on your system you can paste the following diff -r da96f28684f7 -r 934258c64b6b install.dox --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/install.dox Fri Oct 24 13:26:15 2008 +0100 @@ -0,0 +1,189 @@ +/* -*- mode: C++; indent-tabs-mode: nil; -*- + * + * This file is a part of LEMON, a generic C++ optimization library. + * + * Copyright (C) 2003-2008 + * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport + * (Egervary Research Group on Combinatorial Optimization, EGRES). + * + * Permission to use, modify and distribute this software is granted + * provided that this copyright notice appears in all copies. For + * precise terms see the accompanying LICENSE file. + * + * This software is provided "AS IS" with no warranty of any kind, + * express or implied, and with no claim as to its suitability for any + * purpose. + * + */ + +/** +\page install Installation Guide + +In this page we detail how to start using LEMON, from downloading it to +your computer, through the steps of installation, to showing a simple +"Hello World" type program that already uses LEMON. We assume that you +have a basic knowledge of your operating system and C++ programming +language. The procedure is pretty straightforward, but if you have any +difficulties do not hesitate to +ask. + +\section requirements_lemon Hardware and Software Requirements + +In LEMON we use C++ templates heavily, thus compilation takes a +considerable amount of time and memory. So some decent box would be +advantageousm, but otherwise there are no special hardware requirements. + +You will need a recent C++ compiler. Our primary target is the GNU C++ +Compiler (g++), from version 3.3 upwards. We also checked the Intel C++ +Compiler (icc) and Microsoft Visual C++ (on Windows). +If you want to develop with LEMON under Windows, you can use a Windows +installer or you can consider using Cygwin. + +In this description we will suppose a Linux environment and GNU C++ Compiler. +If you would like to develop under Windows and use a Windows installer, +you could skip the following sections and continue reading \ref hello_lemon. +However keep in mind that you have to make appropriate steps instead of +the instructions detailed here to be able to compile the example code +with your compiler. + +\subsection requirements_lp LP Solver Requirements + +The LEMON LP solver interface can use the GLPK (GNU Linear Programming +Kit), CPLEX and SoPlex solver. If you want to use it, you will need at +least one of these. +See the INSTALL file how to enable these at compile time. + +\section install_from_source Install from Source + +You can download LEMON from the web site: +http://lemon.cs.elte.hu/. +There you will find released versions in form of .tar.gz files +(and Windows installers). +If you want a developer version (for example you want to contribute in +developing LEMON) then you might want to use our Mercurial repository. +This case is detailed \ref hg_checkout "later", so from now on we +suppose that you downloaded a .tar.gz file. + +Thus you have to do the following steps. + +Download the tarball either from the browser or just issuing + +\verbatim +wget http://lemon.cs.elte.hu/pub/sources/lemon-1.0.tar.gz +\endverbatim + +\note The tarball is named lemon-x.y.z.tar.gz where \c x, \c +y and \c z (which is missing if it is 0) are numbers indicating the +version of the library, in our example we will have +lemon-1.0.tar.gz. + +Then issue the following commands: + +\verbatim +tar xvzf lemon-1.0.tar.gz +cd lemon-1.0 +./configure +make +make check # This is optional, but recommended. It runs a bunch of tests. +make install +\endverbatim + +These commands install LEMON under \c /usr/local (you will +need root privileges to be able to install to that +directory). If you want to install it to some other place, then +pass the \c --prefix=DIRECTORY flag to ./configure, for example: + +\verbatim +./configure --prefix=/home/username/lemon +\endverbatim + +In what follows we will assume that you were able to install to directory +\c /usr/local, otherwise some extra care is to be taken to use the library. + +We briefly explain these commands below. + +\verbatim +tar xvzf lemon-1.0.tar.gz +\endverbatim +This command untars the tar.gz file into a directory named +lemon-1.0. + +\verbatim +cd lemon-1.0 +\endverbatim +This command enters the directory. + +\verbatim +./configure +\endverbatim +This command runs the configure shell script, which does some checks and +creates the makefiles. + +\verbatim +make +\endverbatim +This command compiles the non-template part of LEMON into libemon.a +file. It also compiles the programs in the tools and demo subdirectories +when enabled. + +\verbatim +make check +\endverbatim +This step is optional, but recommended. It performes a bunch of library +self-tests. + +\verbatim +make install +\endverbatim +This command will copy the directory structure to its final destination +(e.g. to \c /usr/local) so that your system can access it. +This command should be issued as "root", unless you provided a +\c --prefix switch to the \c configure to install the library in +non-default location. + +Several other configure flags can be passed to ./configure. +For more information see the INSTALL file. + +\subsection install_hg Install the latest development version + +You can also use the latest (developer) version of LEMON from our Mercurial +repository. You need a couple additional tool for that + +- Mercurial + - for obtaining the latest code (and for contributing into it) +- automake (1.7 or newer) +- autoconf (2.59 or newer) +- libtool +- pkgconfig + - for initializing the build framework +- Doxygen + - for generating the documentations (optional, but recommended) + +Once you have all these tools installed, the process is fairly easy. +First, you have to get the copy of the lates version. + +\verbatim +hg clone http://lemon.cs.elte.hu/hg/lemon-main lemon-src +\endverbatim + +The next step is to initialize the build system. + +\verbatim +autoreconf -vif +\endverbatim + +Then the process is the same as in case of using the release tarball. + +\verbatim +./configure +make +make check # This is optional, but recommended. It runs a bunch of tests. +make install +\endverbatim + +To generate the documentation, just run +\verbatim +make html +\endverbatim + +*/ diff -r da96f28684f7 -r 934258c64b6b mainpage.dox --- a/mainpage.dox Thu Oct 23 14:07:30 2008 +0200 +++ b/mainpage.dox Fri Oct 24 13:26:15 2008 +0100 @@ -24,15 +24,7 @@ - \ref intro - \ref getting_started - - \ref requirements_lemon - - \ref requirements_lp - - \ref download_lemon - - \ref install_lemon - - \ref hg_checkout - - \ref hg_compile - \ref hello_lemon - - \ref hello_lemon_system - - \ref hello_lemon_user - \ref basic_concepts "Basic Concepts" - \ref digraph_build "Build and Modify a Digraph" - \ref digraph_iterate "Iterate Over the Elements" @@ -63,10 +55,11 @@ - \ref lp_examples "Simple Examples" - \ref lp_maxflow "Maximum Flow as LP Problem" - \ref appendix "Appendix" - - \ref install "Install LEMON" - - \ref install_system "Install System Wide" - - \ref install_system_source "From Source" - - \ref install_system_rpm "From rpm" + - \ref install + - \ref requirements_lemon + - \ref requirements_lp + - \ref install_from_source + - \ref install_system_rpm "From rpm" - \ref install_user "Install Locally to the User" */