File: installation.html

package info (click to toggle)
xmds2 2.2.2%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 53,384 kB
  • ctags: 7,223
  • sloc: python: 54,076; cpp: 3,929; ansic: 1,463; makefile: 135; sh: 20
file content (388 lines) | stat: -rw-r--r-- 29,387 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Installation &mdash; XMDS2 2.2.2 documentation</title>
    
    <link rel="stylesheet" href="_static/default.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    './',
        VERSION:     '2.2.2',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/underscore.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
    <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
    <link rel="next" title="Quickstart Tutorial" href="tutorial.html" />
    <link rel="prev" title="Introduction" href="introduction.html" /> 
  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="tutorial.html" title="Quickstart Tutorial"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="introduction.html" title="Introduction"
             accesskey="P">previous</a> |</li>
        <li><a href="index.html">XMDS2 2.2.2 documentation</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="installation">
<span id="index-0"></span><span id="id1"></span><h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h1>
<p><strong>XMDS2</strong> can be installed on any unix-like system including Linux, Tru64, and Mac OS X.  It requires a C++ compiler, python, and several installed packages.  Many of these packages are optional, but a good idea to obtain full functionality.</p>
<div class="section" id="installers">
<h2>Installers<a class="headerlink" href="#installers" title="Permalink to this headline">¶</a></h2>
<p>If you&#8217;re using a Mac with OSX &gt;= 10.6, there is a simple drag-and-drop installer available.</p>
<p>If you are using a recent version of Ubuntu or Debian, XMDS2 is available as a package in your package / software manager. Note that if using the Ubuntu Software Centre rather than Synaptic, you must explicitly search for &#8220;xmds2&#8221; rather than &#8220;xmds&#8221;, or you will only get XMDS1 as a result.</p>
<p>If you&#8217;re using a version of Linux that&#8217;s not Ubuntu / Debian, the easiest way to get started is to use the install shell script linked to below.</p>
<p>If we don&#8217;t have an installer for your system, follow the <a class="reference internal" href="#manualinstallation"><em>manual installation</em></a> instructions.</p>
<table border="1" class="docutils">
<colgroup>
<col width="60%" />
<col width="20%" />
<col width="20%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td>Linux (Ubuntu/Debian/Fedora/RedHat)</td>
<td><a class="reference external" href="http://svn.code.sf.net/p/xmds/code/trunk/xpdeint/admin/linux_installer.sh">Download Linux shell script installer</a></td>
<td><a class="reference internal" href="#linux-installation"><em>Learn more</em></a></td>
</tr>
<tr class="row-even"><td>OS X 10.6 / 10.7 / 10.8 / 10.9</td>
<td><a class="reference external" href="http://sourceforge.net/projects/xmds/files">Download OS X Installer</a></td>
<td><a class="reference internal" href="#mac-installation"><em>Learn more</em></a></td>
</tr>
<tr class="row-odd"><td>Other systems</td>
<td><a class="reference internal" href="#manualinstallation"><em>Install from source</em></a></td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<p>If you have one of the supported operating systems listed above, but you find the installer doesn&#8217;t work for you, please let us know by emailing xmds-devel &lt;at&gt; lists.sourceforge.net. If you&#8217;d like to tweak the linux installer to work on a distribution we haven&#8217;t tested, we&#8217;d love you to do that and let us know!</p>
</div>
<div class="section" id="linux-installer-instructions">
<span id="linux-installation"></span><span id="index-1"></span><h2>Linux installer instructions<a class="headerlink" href="#linux-installer-instructions" title="Permalink to this headline">¶</a></h2>
<p>Note: If you&#8217;re using Debian / Ubuntu, unless you want a developer install, you&#8217;re probably better off installing XMDS2 via your package manager rather than this install script.</p>
<p>The linux installer has currently only been tested with Ubuntu, Debian, Fedora, and Red Hat. Download the installer here: <a class="reference external" href="http://svn.code.sf.net/p/xmds/code/trunk/xpdeint/admin/linux_installer.sh">http://svn.code.sf.net/p/xmds/code/trunk/xpdeint/admin/linux_installer.sh</a></p>
<p>Once you have downloaded it, make the installer executable and run it by typing the following into a terminal:</p>
<div class="highlight-xmds2"><div class="highlight"><pre>chmod u+x linux_installer.sh
./linux_installer.sh
</pre></div>
</div>
<p>Alternatively, if you wish to download and run the installer in a single step, you can use the following command:</p>
<div class="highlight-xmds2"><div class="highlight"><pre>/bin/bash -c &quot;$(wget -qO - http://svn.code.sf.net/p/xmds/code/trunk/xpdeint/admin/linux_installer.sh)&quot;
</pre></div>
</div>
<p>The linux installer installs all XMDS2 dependencies from your native package manager where possible (<tt class="docutils literal"><span class="pre">apt-get</span></tt> for Ubuntu/Debian, <tt class="docutils literal"><span class="pre">yum</span></tt> for Fedora/Red Hat) but will download and compile the source code for libraries not available through the package manager. This means you&#8217;ll need to be connected to the internet when running the installer. The installer should not be run with administrative privileges; it will ask you to enter your admin password at the appropriate point.</p>
<p>For instructions on how to install XMDS2 on systems where you lack administrative rights, see <a class="reference internal" href="#manualinstallation"><em>Manual installation from source</em></a>.</p>
<p>By default, this installer will install a known stable version of XMDS, which can be updated at any time by navigating to the XMDS directory and typing &#8216;make update&#8217;. To install the latest developer version at the beginning, simply run the installer with the <tt class="docutils literal"><span class="pre">--develop</span></tt> option.</p>
<p>Once XMDS2 has been installed, you can run it from the terminal by typing <tt class="docutils literal"><span class="pre">xmds2</span></tt>. See the <a class="reference internal" href="tutorial.html#quickstarttutorial"><em>Quickstart Tutorial</em></a> for next steps.</p>
</div>
<div class="section" id="mac-os-x-installation">
<span id="mac-installation"></span><span id="index-2"></span><h2>Mac OS X Installation<a class="headerlink" href="#mac-os-x-installation" title="Permalink to this headline">¶</a></h2>
<div class="section" id="download">
<h3>Download<a class="headerlink" href="#download" title="Permalink to this headline">¶</a></h3>
<p>Mac OS X 10.6 (Snow Leopard) or later XMDS 2 installer: <a class="reference external" href="http://sourceforge.net/projects/xmds/files/">http://sourceforge.net/projects/xmds/files/</a></p>
</div>
<div class="section" id="using-the-mac-os-x-installer">
<h3>Using the Mac OS X Installer<a class="headerlink" href="#using-the-mac-os-x-installer" title="Permalink to this headline">¶</a></h3>
<p>A self-contained installer for Mac OS X 10.6 (Snow Leopard) and later is available from the link above. This installer is only compatible with Intel Macs.  This means that the older PowerPC architecture is <em>not supported</em>.  Xcode (Apple&#8217;s developer tools) is required to use this installer. Xcode is available for free from the Mac App Store for 10.7 or later, and is available on the install disk of earlier Macs as an optional install.  For users of earlier operating systems (10.6.8 or earlier), it is possible to find a free copy of earlier versions of XCode on the Apple developer website (3.2.6 was the Snow Leopard compatible version). You will be prompted to install it if you haven&#8217;t already.</p>
<p>Once you have downloaded the XMDS installer, installation is as simple as dragging it to your Applications folder or any other location.  Click the XMDS application to launch it, and press the &#8220;Launch XMDS Terminal&#8221; button to open a Terminal window customised to work with XMDS.  The first time you do this, the application will complete the installation process.  This process can take a few minutes, but is only performed once.</p>
<p>The terminal window launched by the XMDS application has environment variables set for using this installation of XMDS.  You can run XMDS in this terminal by typing <tt class="docutils literal"><span class="pre">xmds2</span></tt>.  See the <a class="reference internal" href="tutorial.html#quickstarttutorial"><em>Quickstart Tutorial</em></a> for next steps.</p>
<p>To uninstall XMDS, drag the XMDS application to the trash. XMDS places some files in the directory <tt class="docutils literal"><span class="pre">~/Library/XMDS</span></tt>. Remove this directory to completely remove XMDS from your system.</p>
<p>This package includes binaries for <a class="reference external" href="http://www.open-mpi.org">OpenMPI</a>, <a class="reference external" href="http://www.fftw.org">FFTW</a>, <a class="reference external" href="http://www.hdfgroup.org/HDF5">HDF5</a> and <a class="reference external" href="http://www.gnu.org/software/gsl">GSL</a>. These binaries are self-contained and do not overwrite any existing installations.</p>
</div>
</div>
<div class="section" id="manual-installation-from-source">
<span id="manualinstallation"></span><span id="index-3"></span><h2>Manual installation from source<a class="headerlink" href="#manual-installation-from-source" title="Permalink to this headline">¶</a></h2>
<p>This installation guide will take you through a typical full install step by step. A large part of this procedure is obtaining and installing other libraries that XMDS2 requires, before installing XMDS2 itself.</p>
<p>While the instructions below detail these packages individually, if you have administrative privileges (or can request packages from your administrator) and if you are using an Ubuntu, Debian, Fedora or Red Hat linux distribution, you can install all required and optional dependencies (but not XMDS2 itself) via</p>
<p>Ubuntu / Debian:</p>
<div class="highlight-xmds2"><div class="highlight"><pre>sudo apt-get install build-essential subversion libopenmpi-dev openmpi-bin python-dev python-setuptools python-cheetah python-numpy python-pyparsing python-lxml python-mpmath libhdf5-serial-dev libgsl0-dev python-sphinx python-h5py libatlas-base-dev
</pre></div>
</div>
<p>Fedora / Red Hat:</p>
<div class="highlight-xmds2"><div class="highlight"><pre>sudo yum install gcc gcc-c++ make automake subversion openmpi-devel python-devel python-setuptools python-cheetah numpy gsl-devel python-sphinx libxml2-devel libxslt-devel atlas-devel hdf5-devel pyparsing pyparsing python-lxml python-mpmath h5py
</pre></div>
</div>
<p>You will still have to download and build FFTW 3.3 from source (see below) since prebuilt packages with MPI and AVX support are not currently available in the repositories.</p>
<p>Also note that this guide adds extra notes for users wishing to install XMDS2 using the SVN repository.  This requires a few extra steps, but allows you to edit your copy, and/or update your copy very efficiently (with all the usual advantages and disadvantages of using unreleased material).</p>
<ol class="arabic" start="0">
<li><dl class="first docutils">
<dt>You will need a copy of XMDS2.</dt>
<dd><p class="first">The current release can be found at <a class="reference external" href="http://sourceforge.net/projects/xmds/">Sourceforge</a>, and downloaded as a single file.
Download this file, and expand it in a directory where you want to keep the program files.</p>
<ul class="last">
<li><p class="first">Developer-only instructions: You can instead check out a working copy of the source using SVN.
In a directory where you want to check out the repository, run:
<tt class="docutils literal"><span class="pre">svn</span> <span class="pre">checkout</span> <span class="pre">https://svn.code.sf.net/p/xmds/code/trunk/xpdeint</span> <span class="pre">.</span></tt></p>
<p>(Only do this once.  To update your copy, type <tt class="docutils literal"><span class="pre">svn</span> <span class="pre">up</span></tt> or <tt class="docutils literal"><span class="pre">make</span> <span class="pre">update</span></tt> in the same directory, and then repeat any developer-only instructions below).</p>
</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt>You will need a working C++ compiler.</dt>
<dd><p class="first last">For Mac OS X, this means that the developer tools (XCode) should be installed.
One common free compiler is <a class="reference external" href="http://gcc.gnu.org/">gcc</a>.  It can be downloaded using your favourite package manager.
XMDS2 can also use Intel&#8217;s C++ compiler if you have it.
Intel&#8217;s compiler typically generates faster code than gcc, but it isn&#8217;t free.</p>
</dd>
</dl>
</li>
<li><p class="first">You will need a <a class="reference external" href="http://www.python.org/">python distribution</a>.</p>
<ul class="simple">
<li>Mac OS X: It is pre-installed on Mac OS X 10.5 or later.</li>
<li>Linux: It should be pre-installed. If not, install using your favourite package manager.</li>
</ul>
<blockquote>
<div><p>We require python 2.4 or greater. XMDS2 does not support Python 3.</p>
</div></blockquote>
</li>
<li><dl class="first docutils">
<dt>Install setuptools.</dt>
<dd><p class="first">If you have root (sudo) access, the easy way to install this is by executing
ez_setup.py from the repository. Simply type <tt class="docutils literal"><span class="pre">sudo</span> <span class="pre">python</span> <span class="pre">ez_setup.py</span></tt></p>
<blockquote>
<div><p>If you want to install into your home directory without root access, this is more complex:</p>
<ol class="loweralpha simple">
<li>First create the path ~/lib/python2.5/site-packages (assuming you installed python version 2.5) and ~/bin
Add &#8220;export PYTHONPATH=~/lib/python2.5/site-packages:$PYTHONPATH&#8221; and &#8220;export PATH=~/bin:$PATH&#8221; (if necessary)
to your .bashrc file (and run &#8221;. ~/.bashrc&#8221;)</li>
<li>If necessary install setuptools, by executing ez_setup.py from the repository.
<tt class="docutils literal"><span class="pre">python</span> <span class="pre">ez_setup.py</span> <span class="pre">--prefix=~</span></tt></li>
</ol>
</div></blockquote>
<p class="last">If you use Mac OS X 10.5 or later, or installed the Enthought Python Distribution on Windows, then setuptools is already installed.
Though if the next step fails, you may need to upgrade setuptools.  To do that, type <tt class="docutils literal"><span class="pre">sudo</span> <span class="pre">easy_install</span> <span class="pre">-U</span> <span class="pre">setuptools</span></tt></p>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt>Install HDF5 and FFTW3 (and optionally MPI).</dt>
<dd><ol class="first last arabic" id="hdf5-installation">
<li><dl class="first docutils">
<dt><strong>HDF5</strong> is a library for reading and writing the <a class="reference external" href="http://www.hdfgroup.org/HDF5/">Hierarchical Data Format</a>.</dt>
<dd><p class="first">This is a standardised data format which it is suggested that people use in preference to the older &#8216;binary&#8217; output (which is
compatible with xmds-1). The advantage of HDF5 is that this data format is understood by a variety of other tools. xsil2graphics2
provides support for loading data created in this format into Mathematica and Matlab.</p>
<p>XMDS2 only requires the single process version of HDF5, so there is no need to install the MPI version.</p>
<p>* Sidebar: Installing HDF5 from source follows a common pattern, which you may find yourself repeating later:</p>
<blockquote class="last">
<div><ol class="arabic">
<li><p class="first">After extracting the source directory, type <tt class="docutils literal"><span class="pre">configure</span></tt> and then add possible options.</p>
<blockquote>
<div><p>(For HDF5, install with the <tt class="docutils literal"><span class="pre">--prefix=/usr/local/</span></tt> option if you want XMDS2 to find the library automatically.  This is rarely needed for other packages.)</p>
</div></blockquote>
</li>
<li><p class="first">Once that is finished, type <tt class="docutils literal"><span class="pre">make</span></tt>.  Then wait for that to finish, which will often be longer than you think.</p>
</li>
<li><p class="first">Finally, type <tt class="docutils literal"><span class="pre">sudo</span> <span class="pre">make</span> <span class="pre">install</span></tt> to install it into the appropriate directory.</p>
</li>
</ol>
</div></blockquote>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt><strong>FFTW</strong> is the library XMDS2 uses for Fourier transforms.</dt>
<dd><p class="first">This is the transform most people will use in their simulations. If you need
support for MPI distributed simulations, you must configure FFTW to use MPI.</p>
<p class="last">FFTW is available for free at the <a class="reference external" href="http://www.fftw.org/">FFTW website</a>.
To configure and compile it, follow the steps described in the HDF5 sidebar above.
You may wish to add the <tt class="docutils literal"><span class="pre">--enable-mpi</span> <span class="pre">--disable-fortran</span></tt> options to the <tt class="docutils literal"><span class="pre">configure</span></tt> command.</p>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt><strong>MPI</strong> is an API for doing parallel processing.</dt>
<dd><p class="first">XMDS2 can use MPI to parallelise simulations on multi-processor/multi-core computers, or clusters of computers.
Many supercomputing systems come with MPI libraries pre-installed.
The <a class="reference external" href="http://www.open-mpi.org/">Open MPI</a> project has free distributions of this library available.</p>
<p class="last">If you intend to take advantage of XMDS2&#8217;s multi-processing features, you must install MPI, and configure FFTW3 to use it.</p>
</dd>
</dl>
</li>
</ol>
</dd>
</dl>
</li>
<li><p class="first">There are a range of optional installs.  We recommend that you install them all if possible:</p>
<blockquote>
<div><ol class="arabic">
<li><dl class="first docutils">
<dt>A Matrix library like <a class="reference external" href="http://math-atlas.sourceforge.net/">ATLAS</a>, Intel&#8217;s <a class="reference external" href="http://software.intel.com/en-us/intel-mkl/">MKL</a> or the <a class="reference external" href="http://www.gnu.org/software/gsl/">GNU Scientific library (GSL)</a></dt>
<dd><p class="first last">These libraries allow efficient implementation of transform spaces other than Fourier space.
Mac OS X comes with its own (fast) matrix library.</p>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt><strong>numpy</strong> is a tool that XMDS2 uses for automated testing.</dt>
<dd><p class="first">It can be installed with <tt class="docutils literal"><span class="pre">sudo</span> <span class="pre">easy_install</span> <span class="pre">numpy</span></tt>.</p>
<p class="last">Mac OS X 10.5 and later come with numpy.</p>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt><strong>lxml</strong> is used to validate the syntax of scripts passed to XMDS2.</dt>
<dd><p class="first">If you have root access, this can be installed with the command <tt class="docutils literal"><span class="pre">sudo</span> <span class="pre">easy_install</span> <span class="pre">lxml</span></tt></p>
<p>You will need to have &#8216;libxml2&#8217; and &#8216;libxslt&#8217; installed (via your choice of package manager) to install lxml.
Sufficient versions are preinstalled on Mac OS X 10.6.</p>
<dl class="last docutils">
<dt>If you don&#8217;t have root access or want to install into your home directory, use:</dt>
<dd><p class="first last"><tt class="docutils literal"><span class="pre">easy_install</span> <span class="pre">--prefix=~</span> <span class="pre">lxml</span></tt></p>
</dd>
</dl>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt><strong>h5py</strong> is needed for checking the results of XMDS2 tests that generate HDF5 output.</dt>
<dd><p class="first">h5py requires numpy version 1.0.3 or later.</p>
<p class="last">Upgrading <a class="reference external" href="http://h5py.alfven.org/">h5py</a> on Mac OS X is best done with the source of the package, as the easy_install option can get confused with multiple numpy versions.
(Mac OS X Snow Leopard comes with version 1.2.1).
After downloading the source, execute <tt class="docutils literal"><span class="pre">python</span> <span class="pre">./setup.py</span> <span class="pre">build</span></tt> in the source directory, and then <tt class="docutils literal"><span class="pre">python</span> <span class="pre">./setup.py</span> <span class="pre">install</span></tt> to install it.</p>
</dd>
</dl>
</li>
</ol>
</div></blockquote>
</li>
<li><dl class="first docutils">
<dt>Install XMDS2 into your python path by running (in the xmds-2.2.1/ directory):</dt>
<dd><p class="first"><tt class="docutils literal"><span class="pre">sudo</span> <span class="pre">./setup.py</span> <span class="pre">develop</span></tt></p>
<p>If you want to install it into your home directory, type <tt class="docutils literal"><span class="pre">./setup.py</span> <span class="pre">develop</span> <span class="pre">--prefix=~</span></tt></p>
<p>This step requires access to the net, as it downloads any dependent packages.  If you are behind a firewall, you may need to set your HTTP_PROXY environment variable in order to do this.</p>
<ul class="last">
<li><dl class="first docutils">
<dt>Developer only instructions:</dt>
<dd><p class="first last">The Cheetah templates (*.tmpl) must be compiled into python.
To do this, run <tt class="docutils literal"><span class="pre">make</span></tt> in the xmds-2.2.1/ directory.</p>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt>Developer-only instructions:</dt>
<dd><p class="first last">If you have &#8216;numpy&#8217; installed, test XMDS2 by typing <tt class="docutils literal"><span class="pre">./run_tests.py</span></tt> in the xmds-2.2.1/ directory.
The package &#8216;numpy&#8217; is one of the optional packages, with installation instructions below.</p>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt>Developer-only instructions:</dt>
<dd><p class="first">To build the user documentation, you first need to install sphinx, either via your package manager or:
<tt class="docutils literal"><span class="pre">sudo</span> <span class="pre">easy_install</span> <span class="pre">Sphinx</span></tt></p>
<p>Then, to build the documentation, in the xmds-2.2.1/admin/userdoc-source/ directory run: <tt class="docutils literal"><span class="pre">make</span> <span class="pre">html</span></tt></p>
<p>If this results in an error, you may need to run <tt class="docutils literal"><span class="pre">sudo</span> <span class="pre">./setup.py</span> <span class="pre">develop</span></tt></p>
<p class="last">The generated html documentation will then be found at xmds-2.2.1/documentation/index.html</p>
</dd>
</dl>
</li>
</ul>
</dd>
</dl>
</li>
<li><p class="first">Configure XMDS2 by typing <tt class="docutils literal"><span class="pre">xmds2</span> <span class="pre">--reconfigure</span></tt>.  If XMDS2 is unable to find a library, you can tell XMDS2 where these libraries are located by adding <tt class="docutils literal"><span class="pre">include</span></tt> and <tt class="docutils literal"><span class="pre">lib</span></tt> search paths using the <tt class="docutils literal"><span class="pre">--include-path</span></tt> and <tt class="docutils literal"><span class="pre">--lib-path</span></tt> options.  For example, if FFTW3 is installed in <tt class="docutils literal"><span class="pre">/apps/fftw3</span></tt> with headers in <tt class="docutils literal"><span class="pre">/apps/fftw3/include/</span></tt> and the libraries in <tt class="docutils literal"><span class="pre">/apps/fftw3/lib</span></tt>, (re)configure XMDS2 by typing:</p>
<blockquote>
<div><ul class="simple">
<li><tt class="docutils literal"><span class="pre">xmds2</span> <span class="pre">--reconfigure</span> <span class="pre">--include-path</span> <span class="pre">/apps/fftw3/include</span> <span class="pre">--lib-path</span> <span class="pre">/apps/fftw3/lib</span></tt>.</li>
</ul>
<p>If you need to use additional compiler or link flags for XMDS2 to use certain libraries, set the <tt class="docutils literal"><span class="pre">CXXFLAGS</span></tt> or <tt class="docutils literal"><span class="pre">LINKFLAGS</span></tt> environment variables before calling <tt class="docutils literal"><span class="pre">xmds2</span> <span class="pre">--reconfigure</span></tt>.  For example, to pass the compiler flag <tt class="docutils literal"><span class="pre">-pedantic</span></tt> and the link flag <tt class="docutils literal"><span class="pre">-lm</span></tt>, use:</p>
<ul class="simple">
<li><tt class="docutils literal"><span class="pre">CXXFLAGS=&quot;-pedantic&quot;</span> <span class="pre">LINKFLAGS=&quot;-lm&quot;</span> <span class="pre">xmds2</span> <span class="pre">--reconfigure</span></tt>.</li>
</ul>
</div></blockquote>
</li>
</ol>
<p><strong>Congratulations!</strong> You should now have a fully operational copy of xmds2 and xsil2graphics2.  You can test your copy using examples from the &#8220;xmds-2.2.1/examples&#8221; directory, and follow the worked examples in the <a class="reference internal" href="tutorial.html#quickstarttutorial"><em>Quickstart Tutorial</em></a> and <a class="reference internal" href="worked_examples.html#workedexamples"><em>Worked Examples</em></a>.</p>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
            <p class="logo"><a href="index.html">
              <img class="logo" src="_static/xmds_logo.png" alt="Logo"/>
            </a></p>
  <h3><a href="index.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">Installation</a><ul>
<li><a class="reference internal" href="#installers">Installers</a></li>
<li><a class="reference internal" href="#linux-installer-instructions">Linux installer instructions</a></li>
<li><a class="reference internal" href="#mac-os-x-installation">Mac OS X Installation</a><ul>
<li><a class="reference internal" href="#download">Download</a></li>
<li><a class="reference internal" href="#using-the-mac-os-x-installer">Using the Mac OS X Installer</a></li>
</ul>
</li>
<li><a class="reference internal" href="#manual-installation-from-source">Manual installation from source</a></li>
</ul>
</li>
</ul>

<div id="searchbox" style="display: none">
  <h3>Quick search</h3>
    <form class="search" action="search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="tutorial.html" title="Quickstart Tutorial"
             >next</a> |</li>
        <li class="right" >
          <a href="introduction.html" title="Introduction"
             >previous</a> |</li>
        <li><a href="index.html">XMDS2 2.2.2 documentation</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
        &copy; Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
      Last updated on Oct 14, 2014.
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
    </div>
  </body>
</html>