Changeset 6752dc for src/documentation/install.dox
- Timestamp:
- Feb 14, 2013, 12:26:01 PM (12 years ago)
- Branches:
- 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
- Children:
- 1b01e9
- Parents:
- 0a7834
- git-author:
- Frederik Heber <heber@…> (01/03/13 13:49:00)
- git-committer:
- Frederik Heber <heber@…> (02/14/13 12:26:01)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/documentation/install.dox
r0a7834 r6752dc 16 16 * \page install Installation 17 17 * 18 * \section install-prerequisites Prerequisites 19 * 20 * Several packages are required or advised for compilation of the code. 21 * The code has been developed under ubuntu 10.04 and 12.04, so in the 22 * following we concentrate on these systems. 23 * 24 * A specific section will be added when (cross-)compilation for Windows 25 * has succeeded. Note that compiling without Qt under GNU/Cygwin is 26 * relatively straight-forward along the lines of the required packages 27 * for Ubuntu. 28 * 29 * \subsection install-prerequisites-ubuntu ... for Ubuntu 30 * 31 * Under Ubuntu 12.04 the following packages are required: 32 * -# C++ compiler: e.g. g++ 33 * -# LAPACK: liblapack-dev 34 * -# GSL: libgsl0-dev 35 * -# BLAS: e.g. libopenblas-dev or libatlas-base-dev 36 * -# Many Boost Libraries: libboost1.48-all-dev 37 * -# gawk: gawk 38 * -# pkg-config: pkg-config 39 * -# CodePatterns: see below for instructions 40 * 41 * The following packages are optional. Note however that certain features 42 * are not available when these packages are missing: 43 * -# MoleCuilder scripting and start scripts 44 * -# Python: python, python-dev 45 * -# Documentation generated from source code: 46 * -# doxygen: doxygen 47 * -# GraphViz: dot 48 * -# Unit tests 49 * -# CppUnit: libcppunit-dev 50 * -# Graphical User Interface 51 * -# Qt: qt4-dev-tools libqt4-core qt4-qmake 52 * -# Qt3D: see below for instructions 53 * -# BOSSANOVA scheme 54 * -# JobMarket: see below for instructions 55 * -# MPQC: see below for instructions 56 * -# ScaFaCoS: see below for instructions 57 * 58 * If you are programming with or for MoleCuilder, the following packages are 59 * advised to use: 60 * -# ccache: ccache 61 * -# git: git 62 * -# autotools: autoconf automake autoheader autoconf libtool 63 * 64 * \subsection install-prerequisites-other Other packages 65 * 66 * Here, we want to give some advice on how we managed to compile packages that 67 * don't come as a Debian/Ubuntu package: 68 * 69 * \subsubsection install-prerequisites-other-codepatterns CodePatterns 70 * 71 * CodePatterns are some general object oriented patterns implemented in C++ 72 * which are a sort of novice attempt to what some of the boost libraries can 73 * do. E.g. a thread-safe singleton pattern. 74 * 75 * Refer to the project's webpage for further instructions. 76 * 77 * \subsubsection install-prerequisites-other-qt3d Qt3D 78 * 79 * The graphical user interface heavily relies on Qt3D to display atoms and 80 * their bonds and to allow for selections. As the GUI has been developed with 81 * Qt4.8 where Qt3D is not yet implemented - this has been done with Qt5 -- 82 * Qt3D has to be compiled and installed manually. Required for compilation 83 * are the complete dev-tools of Qt4. Then, obtain the code from the repository 84 * as described here: http://doc-snapshot.qt-project.org/qt3d-1.0/qt3d-building.html 85 * Make sure that the branch \b qt4 is checked out. 86 * Afterwards, create the Makefiles (check that qt4's qmake is used!), compile, and 87 * install via 88 * \code 89 * qmake-qt4 quick3d.pro 90 * sudo make 91 * sudo make install 92 * \endcode 93 * Note that I had to manually create \b /usr/include/qt4/Qt3D to pass 94 * compilation and installation with error. 95 * 96 * Furthermore, we require a Qt3D pkg-config file, which is sadly not created. 97 * This can be easily created by copying e.g. QtOpenGl.pc and search&replacing 98 * OpenGl to Qt3D (check for double QtQt appearances). 99 * 100 * \subsubsection install-prerequisites-other-jobmarket JobMarket 101 * 102 * JobMarket is a package for allowing a server to give wrapped-up jobs to 103 * clients which work on the given job and return some wrapped-up results. 104 * This has been implemented with boost::asio. 105 * 106 * The package is private property of Frederik Heber. Contact the author for 107 * further information on how to obtain the code and installation instructions. 108 * 109 * \subsubsection install-prerequisites-other-scafacos ScaFaCoS 110 * 111 * ScaFaCoS is a library of fast Coulomb solvers, created by the same-named BMBF 112 * funded project. The library contains Versatile MultiGrid (vmg) as one of its 113 * solvers which is used in the BOSSANOVA scheme for the calculation of 114 * long-range forces. 115 * 116 * ScaFaCoS requires the following packages to compile: 117 * -# MPI: mpi-default-dev libopenmpi-dev 118 * -# F2C: libf2c2-dev 119 * -# Fortran compiler: gfortan 120 * Compilation additionally required use of 121 * \code CPPFLAGS="-fPIC" \endcode 122 * to generate position-independent code. This is because ScaFaCoS so far does 123 * not use libtool which would otherwise take care of this and created shared 124 * libraries. Note that VMG is the only required solver, others are not used, e.g. 125 * for a debug compile you might want to use: 126 * \code 127 * ../configure -C --prefix=<path> --enable-shared BSPLINE_DEG=3 MPICC=mpicc.openmpi 128 * MPICXX=mpicxx.openmpi MPIEXEC=mpirun.openmpi CPPFLAGS="-Wall -g3 -O0 -ggdb -fPIC" 129 * --enable-mpi --with-boost-libdir=/usr/lib --with-boost=/usr --enable-fcs-solvers=vmg 130 * \endcode 131 * 132 * \subsubsection install-prerequisites-other-mpqc MPQC 133 * 134 * Massively Parallel Quantum Chemistry (http://www.mpqc.org/) is a Hartree-Fock 135 * solver with emphasis on concurrency. We, however, require only the solver part. 136 * The code base has been adapted a bit to allow use within JobMarket. 137 * Also, it uses the ScaFaCoS package to calculate long-range forces. 138 * 18 139 * \section install-compiling Compiling the Code 19 140 * … … 34 155 * \endcode 35 156 * 36 * which will run the configure script that checks whether you have a current 37 * version of the following required packages: 38 * 157 * which will run the configure script that checks whether you meet all the 158 * requirements. Note that you may supply system-specific paths as follows: 39 159 * -# GNU Scientific Library (specify via LDFLAGS, ...) 40 160 * -# Qt4 framework (--with-Qt=<dir> or --with-Qt-include-dir, --with-Qt-bin-dir, 41 161 * --with-Qt-lib-dir and --with-Qt-lib) 42 * -# Boost library 1.40 or newer with program_options and threads (--with-boost=<dir>) 162 * -# Boost library 1.40 or newer with program_options and threads (--with-boost=<dir>, 163 * --with-boost-lib=<path>) 43 164 * -# CPPUnit framework (--with-cppunit-prefix=<dir>) 44 165 * -# CodePatterns (--with-codepatterns=<dir>) … … 94 215 * the code by a factor of 5 95 216 * 217 * \subsection install-difficulties Difficulties 218 * 219 * You might encounter some problems along the way, which we list up here: 220 * -# Switching from Lucid Lynx to Precise Pangolin, libtool has been patched to 221 * \b link_all_deplibs=no which causes linking to fail. A temporary way around it 222 * is to seek&replace all instances in your build directory (replace no with 223 * unknown). The more general way is to replace packaged and patched libtool 224 * with an unpatched version you have to compile yourself. 225 * 96 226 * \section install-install Installing 97 227 *
Note:
See TracChangeset
for help on using the changeset viewer.