Update list-maintainers to output redmine syntax
[hoomd-blue.git] / doc / user / compile_guide_linux_ubuntu.dox
blobdf4aa6218a119f60adab65451ef1a871cba994d0
1 /*
2 Highly Optimized Object-oriented Many-particle Dynamics -- Blue Edition
3 (HOOMD-blue) Open Source Software License Copyright 2008-2011 Ames Laboratory
4 Iowa State University and The Regents of the University of Michigan All rights
5 reserved.
7 HOOMD-blue may contain modifications ("Contributions") provided, and to which
8 copyright is held, by various Contributors who have granted The Regents of the
9 University of Michigan the right to modify and/or distribute such Contributions.
11 You may redistribute, use, and create derivate works of HOOMD-blue, in source
12 and binary forms, provided you abide by the following conditions:
14 * Redistributions of source code must retain the above copyright notice, this
15 list of conditions, and the following disclaimer both in the code and
16 prominently in any materials provided with the distribution.
18 * Redistributions in binary form must reproduce the above copyright notice, this
19 list of conditions, and the following disclaimer in the documentation and/or
20 other materials provided with the distribution.
22 * All publications and presentations based on HOOMD-blue, including any reports
23 or published results obtained, in whole or in part, with HOOMD-blue, will
24 acknowledge its use according to the terms posted at the time of submission on:
25 http://codeblue.umich.edu/hoomd-blue/citations.html
27 * Any electronic documents citing HOOMD-Blue will link to the HOOMD-Blue website:
28 http://codeblue.umich.edu/hoomd-blue/
30 * Apart from the above required attributions, neither the name of the copyright
31 holder nor the names of HOOMD-blue's contributors may be used to endorse or
32 promote products derived from this software without specific prior written
33 permission.
35 Disclaimer
37 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS'' AND
38 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
39 WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND/OR ANY
40 WARRANTIES THAT THIS SOFTWARE IS FREE OF INFRINGEMENT ARE DISCLAIMED.
42 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
43 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
44 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
45 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
46 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
47 OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
48 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
52 /*!
53 \page page_compile_guide_linux_ubuntu Compiling HOOMD-blue in Ubuntu linux
55 \b Note: This documentation was written and tested in <b>Ubuntu 9.04</b>. It may not work for other
56 versions.
58 This page assumes that you have a standard terminal window open. Commands to run will
59 be indicated as below:
60 \code
61  $ echo hello
62 hello
63 \endcode
64 " $ " indicates a shell prompt. As demonstrated above, if you type "echo hello", then you should
65 see the same output obtained above on the next line: "hello"
67 You must be an administrator to install software.
69 \section software_req_install_ubuntu_dev Development environment
71 Install g++, boost, python headers, zlib headers, and git.
73 \code
74  $ sudo apt-get install g++ libboost-all-dev zlib1g-dev python-dev git-core
75 \endcode
77 Ubuntu 9.04 only offers CMake 2.6.2, which is too old to build hoomd. Download the latest
78 cmake-?.?.?-Linux-i386.sh from http://www.cmake.org/ .
79 Replace ?.?.? with the most current version. The following terminal command is an example
80 that downloads verison 2.8.3
82 \code
83  $ wget http://www.cmake.org/files/v2.8/cmake-2.8.3-Linux-i386.sh
84 \endcode
86 Install CMake by executing
87 \code
88  $ sudo bash cmake*.sh --prefix-dir=/usr/local --exclude-subdir
89 \endcode
91 \section software_req_install_ubuntu_cuda CUDA environment
93 Download the current version of the NVIDA CUDA toolkit from 
94 http://developer.nvidia.com/object/gpucomputing.html . The following terminal command is an example
95 that downloads version 3.0 for Ubuntu 9.04 x86_64
97 \code
98  $ wget http://developer.download.nvidia.com/compute/cuda/3_0/toolkit/cudatoolkit_3.0_linux_64_ubuntu9.04.run
99 \endcode
101 Install the CUDA toolkit by executing
102 \code
103  $ sudo bash cudatoolkit*.run
104 \endcode
105 and following the onscreen prompts. Accept the default installation directory.
107 Add CUDA into the executable and library search paths by creating the following files. Create
108 <tt>/etc/ld.so.conf.d/cuda.conf</tt> and add the following lines
109 \code
110 /usr/local/cuda/lib
111 /usr/local/cuda/lib64
112 \endcode
113 Then run 
114 \code
115  $ ldconfig
116 \endcode
118 Create <tt>/etc/profile.d/cuda.sh</tt> and add the following lines
119 \code
120 if ! echo ${PATH} | /bin/grep -q /usr/local/cuda/bin ; then
121         PATH=/usr/local/cuda/bin:${PATH}
123 \endcode
124 You will need to logout and back in for the path setting to take effect.
126 Download the latest drivers for your GPU from http://www.nvidia.com The following terminal command
127 is an example that downloads version 260.19.21 for linux x86_64. If you do not have an NVIDIA GPU,
128 proceed to the section \ref software_req_install_centos_build.
129 \code
130  $ wget http://us.download.nvidia.com/XFree86/Linux-x86_64/260.19.21/NVIDIA-Linux-x86_64-260.19.21.run
131 \endcode
133 To install the driver, you must exit first logout of your X-windows session. At the login screen,
134 press ctrl-alt-f1 to reach a text console. Login and execute the following commands
135 \code
136  $ sudo /etc/init.d/gdm stop
137  $ sudo bash NVIDIA-Linux-*.run
138 \endcode
139 and follow the onscreen prompts to install the driver. Reboot the computer to load the new driver
140 and re-enter the GUI login screen.
141 \code
142  $ sudo shutdown now -r
143 \endcode
145 \section  software_req_install_ubuntu_build Compile hoomd
147 See \ref sec_build_linux_generic_compile for instructions on compiling hoomd.