source: src/documentation/install.dox@ 0a7834

Action_Thermostats Add_AtomRandomPerturbation Add_FitFragmentPartialChargesAction Add_RotateAroundBondAction Add_SelectAtomByNameAction Added_ParseSaveFragmentResults AddingActions_SaveParseParticleParameters Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_ParticleName_to_Atom Adding_StructOpt_integration_tests AtomFragments Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.5.4 Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator CombiningParticlePotentialParsing Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_BoundInBox_CenterInBox_MoleculeActions Fix_ChargeSampling_PBC Fix_ChronosMutex Fix_FitPartialCharges Fix_FitPotential_needs_atomicnumbers Fix_ForceAnnealing Fix_IndependentFragmentGrids Fix_ParseParticles Fix_ParseParticles_split_forward_backward_Actions Fix_PopActions Fix_QtFragmentList_sorted_selection Fix_Restrictedkeyset_FragmentMolecule Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns Fix_fitting_potentials Fixes ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion FragmentAction_writes_AtomFragments FragmentMolecule_checks_bonddegrees GeometryObjects Gui_Fixes Gui_displays_atomic_force_velocity ImplicitCharges IndependentFragmentGrids IndependentFragmentGrids_IndividualZeroInstances IndependentFragmentGrids_IntegrationTest IndependentFragmentGrids_Sole_NN_Calculation JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix MoreRobust_FragmentAutomation ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PdbParser_setsAtomName PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks Rewrite_FitPartialCharges RotateToPrincipalAxisSystem_UndoRedo SaturateAtoms_findBestMatching SaturateAtoms_singleDegree StoppableMakroAction Subpackage_CodePatterns Subpackage_JobMarket Subpackage_LinearAlgebra Subpackage_levmar Subpackage_mpqc_open Subpackage_vmg Switchable_LogView ThirdParty_MPQC_rebuilt_buildsystem TrajectoryDependenant_MaxOrder TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps TremoloParser_setsAtomName Ubuntu_1604_changes stable
Last change on this file since 0a7834 was 0a7834, checked in by Frederik Heber <heber@…>, 12 years ago

DOCU: Updates optional enable targets and required and optional packets on install page.

  • Property mode set to 100644
File size: 5.3 KB
Line 
1/*
2 * Project: MoleCuilder
3 * Description: creates and alters molecular systems
4 * Copyright (C) 2010 University of Bonn. All rights reserved.
5 * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
6 */
7
8/**
9 * \file install.dox
10 *
11 * Created on: Oct 28, 2011
12 * Author: heber
13 */
14
15/**
16 * \page install Installation
17 *
18 * \section install-compiling Compiling the Code
19 *
20 * After you obtained the code, you do the following:
21 *
22 * \code
23 * ./bootstrap
24 * \endcode
25 *
26 * This creates the necessary autoconf and automake files.
27 *
28 * After this,
29 *
30 * \code
31 * mkdir build
32 * cd build
33 * ../configure --prefix=`pwd`
34 * \endcode
35 *
36 * which will run the configure script that checks whether you have a current
37 * version of the following required packages:
38 *
39 * -# GNU Scientific Library (specify via LDFLAGS, ...)
40 * -# Qt4 framework (--with-Qt=<dir> or --with-Qt-include-dir, --with-Qt-bin-dir,
41 * --with-Qt-lib-dir and --with-Qt-lib)
42 * -# Boost library 1.40 or newer with program_options and threads (--with-boost=<dir>)
43 * -# CPPUnit framework (--with-cppunit-prefix=<dir>)
44 * -# CodePatterns (--with-codepatterns=<dir>)
45 *
46 * The following packages are optional (code parts/features are disabled if not
47 * found:
48 * -# JobMarket (--enable-jobmarket --with-jobmarket=<dir>
49 * -# VMG library of ScaFaCoS (--enable-vmg --with-vmg-mpi MPICXX=mpicxx PKGCONFIG=<path to ScaFaCoS pkdir>)
50 * -# levmar (--with-levmar=<dir>)
51 *
52 * \a --prefix is the argument to tell configure where all program code should go
53 * to (pwd is the unix command for the current working directory). There are
54 * others, see
55 *
56 * \code
57 * ../configure --help
58 * \endcode
59 *
60 * and some enable/disable switches you should check out:
61 *
62 * - \a --enable-ecut - says that the TestRunner, comprising all unit tests in one
63 * exectuable, shall make use of the Eclipse CppUnitTest (ECUT). If this is
64 * started within eclipse with this plugin installed, a shiny interface will tell
65 * you what failed and what not.
66 * - \a --enable-debug - activates many internal asserts, memory debugger and more
67 * (makes code a lot slower but gives information in case something fails)
68 * - \a --enable-python - activates python scripting. For one you can control
69 * molecuilder within your python code by simply calling its actions. For another
70 * it automatically executes a script \b molecuilder.py in the current folder
71 * prior to launching the respective UI.
72 * - \a --disable-cache - disables caching of certain variables (see CodePatterns).
73 * - \a --enable-valgrind - each test of the testsuite is launched by wrapping
74 * the call through valgrind checking on correct handling of memory.
75 * - \a --with-levmar=<path> - if levmar package is found under given path and
76 * LAPACK is installed, then FunctionApproximation can be used to fit potentials.
77 *
78 * \note A note about configure: If one library is found only under some specific path, you
79 * can add CFLAGS, CPPFLAGS, LDFLAGS, ... to the configure call, like this
80 * \code
81 * ../configure --prefix=`pwd` --enable-hydrogen CFLAGS="-Wall -g3" CXXFLAGS="-Wall -g3"
82 * \endcode
83 * which enables all compiler warnings and full debugging of the code without any
84 * optimization. configure saves these variables, too, such that when it is called
85 * to re-configure it will still make use of them from its cache file.
86 *
87 * There are several flags that change the way molecuilder is compiled and probably
88 * make it run faster, more unsafe, ...
89 * -# \a -DLOG_OBSERVER, What the Observers do is logged, the log is printed on exit
90 * -# \a -DNO_MEMDEBUG, MemDebug (memory debugger) is disabled
91 * -# \a -DNO_CACHING, Cachable are short-wired, i.e. always recalculate, this slows
92 * down the code a lot
93 * -# \a -DNDEBUG, include NO_MEMDEBUG, also ASSERTs are not checked, this speeds up
94 * the code by a factor of 5
95 *
96 * \section install-install Installing
97 *
98 * Now, we are ready to compile and install.
99 *
100 * \code
101 * make
102 * make install
103 * \endcode
104 *
105 * \attention If you have a multi-core system, it is highly recommended to use the
106 * \a -j option of make to allow for multiple threads to work on compiling or
107 * checking the codfe simultaneously.
108 *
109 * And if everything went well, you should launch the unit tests and the testsuite
110 * by (see section \ref tests on how to launch the tests individually)
111 *
112 * \code
113 * make check
114 * \endcode
115 *
116 * If everything is OK, you have a working version of MoleCuilder in form of the
117 * executables \b bin/molecuilder and \b bin/molecuildergui.
118 *
119 * If you have to delete all compiled stuff, enter
120 *
121 * \code
122 * make clean
123 * \endcode
124 *
125 * or
126 *
127 * \code
128 * make distclean
129 * \endcode
130 *
131 * which will also delete all autoconf stuff for configure.
132 *
133 * distclean is at times necessary when stuff does not compile and there's
134 * seemingly no logic behind it, i.e. especially when paths of modules have
135 * changed. To recover your configure options, either look at \b config.log in
136 * the build directory or enter
137 *
138 * \code
139 * ./config.status --version
140 * \endcode
141 *
142 * Further useful commands are
143 * -# make clean uninstall: deletes .o-files and removes executable from the given
144 * binary directory
145 * -# make doc: Creates these html pages out of the documented source
146 * -# make distcheck: Checks whether the code compiles and all tests runs without
147 * from a distributed archive. This is checked for each release version.
148 *
149 * \date 2012-12-20
150 */
Note: See TracBrowser for help on using the repository browser.