-
Notifications
You must be signed in to change notification settings - Fork 2
/
INSTALL.html
431 lines (412 loc) · 31.3 KB
/
INSTALL.html
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
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Installation — VOTCA 2024.2-dev documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/css/custom.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="_static/documentation_options.js?v=76c55136"></script>
<script src="_static/doctools.js?v=888ff710"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script crossorigin="anonymous" integrity="sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="TOOLS Manual" href="tools/index.html" />
<link rel="prev" title="Welcome to VOTCA’s documentation!" href="index.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html">
<img src="_static/customLogo.png" class="logo" alt="Logo"/>
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">Installation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#general-source-installation-instructions">General (Source) Installation Instructions</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#dependency-installation">Dependency Installation</a></li>
<li class="toctree-l3"><a class="reference internal" href="#testing-your-build">Testing your build</a></li>
<li class="toctree-l3"><a class="reference internal" href="#resolving-the-not-found-dependency-errors">Resolving the ‘not found’ dependency errors</a></li>
<li class="toctree-l3"><a class="reference internal" href="#common-cmake-flags">Common CMake Flags</a></li>
<li class="toctree-l3"><a class="reference internal" href="#other-cmake-flags">Other CMake Flags</a></li>
<li class="toctree-l3"><a class="reference internal" href="#performance-advice">Performance advice</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#intel-processors">Intel Processors</a></li>
<li class="toctree-l4"><a class="reference internal" href="#amd-processors">AMD Processors</a></li>
<li class="toctree-l4"><a class="reference internal" href="#cuda-support">CUDA support</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#packages-for-various-linux-distributions">Packages for various Linux Distributions</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id1">Fedora</a></li>
<li class="toctree-l3"><a class="reference internal" href="#centos">CentOS</a></li>
<li class="toctree-l3"><a class="reference internal" href="#opensuse">openSUSE</a></li>
<li class="toctree-l3"><a class="reference internal" href="#sles">SLES</a></li>
<li class="toctree-l3"><a class="reference internal" href="#debian-ubuntu">Debian / Ubuntu</a></li>
<li class="toctree-l3"><a class="reference internal" href="#gentoo">Gentoo</a></li>
<li class="toctree-l3"><a class="reference internal" href="#spack">Spack</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#development-version">Development version</a></li>
<li class="toctree-l4"><a class="reference internal" href="#other-build-options">Other build options</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#conda-forge">Conda-forge</a></li>
<li class="toctree-l3"><a class="reference internal" href="#docker">Docker</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#release-version">Release version</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#freebsd">FreeBSD</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#linking-error-undefined-reference-to">Linking Error: Undefined reference to</a></li>
<li class="toctree-l2"><a class="reference internal" href="#gcc-and-mkl-undefined-symbol">GCC and MKL : undefined symbol:</a></li>
</ul>
</li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Manuals</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="tools/index.html">TOOLS Manual</a></li>
<li class="toctree-l1"><a class="reference internal" href="csg/index.html">CSG Manual</a></li>
<li class="toctree-l1"><a class="reference internal" href="xtp/XTP-MANUAL.html">XTP Manual</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Tutorials</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="csg-tutorials/Tutorial.html">CSG Tutorial</a></li>
<li class="toctree-l1"><a class="reference internal" href="xtp-tutorials/XTP-TUTORIAL.html">XTP Tutorials</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Development</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="DEVELOPERS_GUIDE.html">Developer and Contributor Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="VOTCA_LANGUAGE_GUIDE.html">VOTCA Internal Contributor Language Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="Architecture.html">The architecture of VOTCA</a></li>
<li class="toctree-l1"><a class="reference internal" href="xtp/Architecture.html">Architecture of votca-xtp</a></li>
<li class="toctree-l1"><a class="reference internal" href="CODE_OF_CONDUCT.html">Code of Conduct</a></li>
<li class="toctree-l1"><a class="reference internal" href="websiteAndDocumentation.html">Website and Documentation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Community</span></p>
<ul>
<li class="toctree-l1"><a class="reference external" href="https://github.com/votca">GitHub</a></li>
<li class="toctree-l1"><a class="reference external" href="https://twitter.com/votca_software">Twitter</a></li>
<li class="toctree-l1"><a class="reference external" href="https://groups.google.com/g/votca">Forum</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">VOTCA</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">Installation</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/INSTALL.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="installation">
<span id="install"></span><h1>Installation<a class="headerlink" href="#installation" title="Link to this heading">¶</a></h1>
<section id="general-source-installation-instructions">
<h2>General (Source) Installation Instructions<a class="headerlink" href="#general-source-installation-instructions" title="Link to this heading">¶</a></h2>
<p>To install the full package:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>prefix=WHERE/TO/INSTALL/VOTCA
version=master # or 'v2024.2'
git clone -b ${version} https://github.com/votca/votca.git
cmake -B builddir -S votca -DBUILD_XTP=ON -DCMAKE_INSTALL_PREFIX=${prefix}
cmake --build builddir --parallel <number of cores>
ctest --test-dir builddir
cmake --build builddir --target install
</pre></div>
</div>
<section id="dependency-installation">
<h3>Dependency Installation<a class="headerlink" href="#dependency-installation" title="Link to this heading">¶</a></h3>
<p><a class="reference external" href="https://github.com/votca/buildenv/blob/master/ubuntu#L10-L13">Ubuntu</a></p>
<p><a class="reference external" href="https://github.com/votca/buildenv/blob/master/fedora#L10-L15">Fedora</a></p>
<p>If you have an older version of a distribution, cmake can be run with the <code class="docutils literal notranslate"><span class="pre">-DBUILD_OWN_GROMACS=ON</span></code> or <code class="docutils literal notranslate"><span class="pre">-DBUILD_OWN_LIBINT=ON</span></code> flags to automatically install the correct GROMACS and libint version.</p>
<p>On Ubuntu 20.10 and older you will not get version 1.0.5 of the libecpint package. So in this case run <a class="reference external" href="https://github.com/votca/buildenv/blob/55c88641046dbb6152cf7d9e536e17f29205479f/ubuntu#L30-L33">this</a> or
download the package from <a class="reference external" href="http://ftp.us.debian.org/debian/pool/main/libe/libecpint/">here</a>.</p>
</section>
<section id="testing-your-build">
<h3>Testing your build<a class="headerlink" href="#testing-your-build" title="Link to this heading">¶</a></h3>
<p>To test if your build actually works, you can run the VOTCA testsuite:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">ctest</span> <span class="o">--</span><span class="n">test</span><span class="o">-</span><span class="nb">dir</span> <span class="o"><</span><span class="n">path</span><span class="o">-</span><span class="n">to</span><span class="o">-</span><span class="n">build</span><span class="o">></span>
</pre></div>
</div>
</section>
<section id="resolving-the-not-found-dependency-errors">
<h3>Resolving the ‘not found’ dependency errors<a class="headerlink" href="#resolving-the-not-found-dependency-errors" title="Link to this heading">¶</a></h3>
<p>Assuming all the <a class="reference internal" href="#dependency-installation"><span class="std std-ref">dependencies</span></a> have been
correctly installed, one or more might still appear with the ‘not found’ status upon
configuring with the <code class="docutils literal notranslate"><span class="pre">cmake</span></code> command (see above). In this case, you will
need to find the ‘non-standard’ location for each missing dependency
(most often a shared or dynamically loaded library, e.g.
<code class="docutils literal notranslate"><span class="pre">libgromacs.so.*</span></code>, <code class="docutils literal notranslate"><span class="pre">libhdf5.so.*</span></code> etc).</p>
<p>Error messages produced by CMake usually provide instructive suggestions
for resolving dependency issues. In particular, an appropriate extra
<code class="docutils literal notranslate"><span class="pre">-D</span></code> flag is necessary to specify the path to a missed package. You
will have to rerun the <code class="docutils literal notranslate"><span class="pre">cmake</span></code> command with the relevant flag(s)
added. For example, in the case of a locally installed version of
GROMACS:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>cmake -DCMAKE_INSTALL_PREFIX=${prefix} -DGROMACS_INCLUDE_DIR=$HOME/gromacs/include -DGROMACS_LIBRARY=$HOME/gromacs/lib/libgromacs.so -S ..
</pre></div>
</div>
<p>Please also ensure GROMACS was build with <code class="docutils literal notranslate"><span class="pre">-DGMX_INSTALL_LEGACY_API=ON</span></code>.</p>
<p>Be careful to use exactly the option suggested in the error message! You
can also add <code class="docutils literal notranslate"><span class="pre">-LH</span></code> or <code class="docutils literal notranslate"><span class="pre">-LAH</span></code> options to the <code class="docutils literal notranslate"><span class="pre">cmake</span></code> command in
order to see the available options with brief explanations (note that
<em>changing some of the variables may result in more variables being
created</em>; run <code class="docutils literal notranslate"><span class="pre">man</span> <span class="pre">cmake</span></code> for more info).</p>
<p><em>Only for Linux</em>: For each dependency package not found by CMake
initially, it might be necessary to add the location of its <code class="docutils literal notranslate"><span class="pre">lib</span></code>
directory to the environment variable <code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code>, <strong>before</strong>
building and installing VOTCA, i.e. before running any <code class="docutils literal notranslate"><span class="pre">make</span></code> command.
For example:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/gromacs/lib:$HOME/anaconda/lib
</pre></div>
</div>
<p>Note that <code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code> also needs to be set every time when
running an executable from the VOTCA installation afterwards (which can
be automated via the user’s login profile, e.g. in .bashrc). Alternatively,
CMake has options to <em>remember</em> where libraries came from at link time,
which can be enabled by setting <code class="docutils literal notranslate"><span class="pre">CMAKE_INSTALL_RPATH_USE_LINK_PATH</span></code> to
<code class="docutils literal notranslate"><span class="pre">ON</span></code>. VOTCA has enabled this option and a couple of other rpath
related tweaks when setting <code class="docutils literal notranslate"><span class="pre">ENABLE_RPATH_INJECT</span></code> to <code class="docutils literal notranslate"><span class="pre">ON</span></code>.</p>
</section>
<section id="common-cmake-flags">
<h3>Common CMake Flags<a class="headerlink" href="#common-cmake-flags" title="Link to this heading">¶</a></h3>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">INSTALL_CSGAPPS</span></code> - Install the extra csg applications repo (ON/OFF,
Default OFF)</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BUILD_XTP</span></code> - Build the xtp repo (ON/OFF, Default OFF)</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">CMAKE_INSTALL_PREFIX</span></code> - where to install the votca executables
(Default is /usr/local/bin)</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">BUILD_TESTING</span></code> - compile tests (ON/OFF, Default ON)</p></li>
</ul>
</section>
<section id="other-cmake-flags">
<h3>Other CMake Flags<a class="headerlink" href="#other-cmake-flags" title="Link to this heading">¶</a></h3>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">CMAKE_DISABLE_FIND_PACKAGE_<name></span></code> - Disable using an optional
package called <code class="docutils literal notranslate"><span class="pre"><name></span></code> (ON/OFF)</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">CMAKE_DISABLE_FIND_PACKAGE_HDF5</span></code> - Disable using the optional
package <code class="docutils literal notranslate"><span class="pre">HDF5</span></code> (ON/OFF, Default OFF; relevant only for the
<code class="docutils literal notranslate"><span class="pre">master</span></code> branch)</p></li>
</ul>
</section>
<section id="performance-advice">
<h3>Performance advice<a class="headerlink" href="#performance-advice" title="Link to this heading">¶</a></h3>
<p>VOTCA-XTP relies on the Eigen library for vector-matrix operations, and a lot of
performance can be gained by enabling vectorization and/or use of Intel’s <code class="docutils literal notranslate"><span class="pre">MKL</span></code>
as backend, which is automatically detected by <code class="docutils literal notranslate"><span class="pre">CMake</span></code>. Below are some recommendations
for different architectures:</p>
<section id="intel-processors">
<h4>Intel Processors<a class="headerlink" href="#intel-processors" title="Link to this heading">¶</a></h4>
<p><code class="docutils literal notranslate"><span class="pre">g++</span></code>, <code class="docutils literal notranslate"><span class="pre">clang</span></code>, and <code class="docutils literal notranslate"><span class="pre">ipcx</span></code> from the Intel OneAPI basekit give similar performance
when used with the MKL. No special flags have to be supplied to <code class="docutils literal notranslate"><span class="pre">CMake</span></code>.</p>
<p>If <code class="docutils literal notranslate"><span class="pre">g++</span></code> or <code class="docutils literal notranslate"><span class="pre">clang</span></code> are used, the compiler option <code class="docutils literal notranslate"><span class="pre">-march=native</span></code> is automatically injected
into the build. If you compile VOTCA on a heterogeneous cluster with different instruction sets,
this may cause the executables to not run. Override this by specifying
<code class="docutils literal notranslate"><span class="pre">-DCMAKE_CXX_FLAGS=-mtune=native</span></code> (at probably lower performance), or perform node-type
specific builds.</p>
<p>As a rough estimate, runtimes with vectorization and <code class="docutils literal notranslate"><span class="pre">gcc/clang</span></code> are 30% shorter than without
vectorization. Use of <code class="docutils literal notranslate"><span class="pre">MKL</span></code> reduces them by another 50%.</p>
</section>
<section id="amd-processors">
<h4>AMD Processors<a class="headerlink" href="#amd-processors" title="Link to this heading">¶</a></h4>
<p>We recommend using <code class="docutils literal notranslate"><span class="pre">g++</span></code> or <code class="docutils literal notranslate"><span class="pre">clang</span></code> rather than an Intel compiler on AMD. Vectorization
in <code class="docutils literal notranslate"><span class="pre">Eigen</span></code> is automatically enabled by injection of <code class="docutils literal notranslate"><span class="pre">-march=native</span></code>. See above comment
about heterogeneous envionments.</p>
<p>If you have Intel’s MKL installed, and it is found by <code class="docutils literal notranslate"><span class="pre">CMake</span></code>, performance will be helped
but by how much idepends on which architecture-specific implementation MKL picks at runtime.
This can be affected by a <a class="reference external" href="https://en.wikipedia.org/wiki/Math_Kernel_Library">vendor lock-in</a>,
and work-arounds are documented <a class="reference external" href="https://danieldk.eu/Posts/2020-08-31-MKL-Zen.html">for Intel MKL on AMD Zen</a>
and <a class="reference external" href="https://documentation.sigma2.no/jobs/mkl.html#using-mkl-efficiently">in general</a>.
We advise that you test this on your specific architecture.</p>
</section>
<section id="cuda-support">
<h4>CUDA support<a class="headerlink" href="#cuda-support" title="Link to this heading">¶</a></h4>
<p>If your system has a <code class="docutils literal notranslate"><span class="pre">NVIDIA</span></code> GPU, enable offloading of matrix operations
by <code class="docutils literal notranslate"><span class="pre">-DUSE_CUDA=ON</span></code>.</p>
</section>
</section>
</section>
<section id="packages-for-various-linux-distributions">
<h2>Packages for various Linux Distributions<a class="headerlink" href="#packages-for-various-linux-distributions" title="Link to this heading">¶</a></h2>
<section id="id1">
<h3>Fedora<a class="headerlink" href="#id1" title="Link to this heading">¶</a></h3>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">dnf</span> <span class="n">install</span> <span class="n">votca</span>
</pre></div>
</div>
<p>Or in older versions of Fedora:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">dnf</span> <span class="n">install</span> <span class="n">votca</span><span class="o">-</span><span class="n">csg</span> <span class="n">votca</span><span class="o">-</span><span class="n">xtp</span>
</pre></div>
</div>
</section>
<section id="centos">
<h3>CentOS<a class="headerlink" href="#centos" title="Link to this heading">¶</a></h3>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">yum</span> <span class="n">install</span> <span class="n">epel</span><span class="o">-</span><span class="n">release</span>
<span class="n">yum</span> <span class="n">update</span>
<span class="n">yum</span> <span class="n">install</span> <span class="n">votca</span>
</pre></div>
</div>
<p>Or in older versions of CentOS:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">yum</span> <span class="n">install</span> <span class="n">votca</span><span class="o">-</span><span class="n">csg</span>
</pre></div>
</div>
</section>
<section id="opensuse">
<h3>openSUSE<a class="headerlink" href="#opensuse" title="Link to this heading">¶</a></h3>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">zypper</span> <span class="n">install</span> <span class="n">votca</span>
</pre></div>
</div>
<p>Or in older versions of openSUSE:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">zypper</span> <span class="n">install</span> <span class="n">votca</span><span class="o">-</span><span class="n">csg</span> <span class="n">votca</span><span class="o">-</span><span class="n">xtp</span>
</pre></div>
</div>
</section>
<section id="sles">
<h3>SLES<a class="headerlink" href="#sles" title="Link to this heading">¶</a></h3>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">SUSEConnect</span> <span class="o">-</span><span class="n">p</span> <span class="n">PackageHub</span><span class="o">/</span><span class="mf">12.2</span><span class="o">/</span><span class="n">x86_64</span>
<span class="n">zypper</span> <span class="n">install</span> <span class="n">votca</span><span class="o">-</span><span class="n">csg</span>
</pre></div>
</div>
</section>
<section id="debian-ubuntu">
<h3>Debian / Ubuntu<a class="headerlink" href="#debian-ubuntu" title="Link to this heading">¶</a></h3>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">apt</span><span class="o">-</span><span class="n">get</span> <span class="n">install</span> <span class="n">votca</span><span class="o">-</span><span class="n">csg</span>
</pre></div>
</div>
</section>
<section id="gentoo">
<h3>Gentoo<a class="headerlink" href="#gentoo" title="Link to this heading">¶</a></h3>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">emerge</span> <span class="n">votca</span>
</pre></div>
</div>
</section>
<section id="spack">
<h3>Spack<a class="headerlink" href="#spack" title="Link to this heading">¶</a></h3>
<p><a class="reference external" href="https://spack.io/">Spack</a> is a package manager, which has
the capability of building VOTCA and all its dependencies:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">spack</span><span class="o">/</span><span class="n">spack</span><span class="o">.</span><span class="n">git</span> <span class="n">spack</span>
<span class="n">source</span> <span class="n">spack</span><span class="o">/</span><span class="n">share</span><span class="o">/</span><span class="n">spack</span><span class="o">/</span><span class="n">setup</span><span class="o">-</span><span class="n">env</span><span class="o">.</span><span class="n">sh</span>
<span class="n">spack</span> <span class="n">install</span> <span class="n">votca</span>
</pre></div>
</div>
<section id="development-version">
<h4>Development version<a class="headerlink" href="#development-version" title="Link to this heading">¶</a></h4>
<p>Spack can also install the latest development version from git using:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">spack</span> <span class="n">install</span> <span class="n">votca</span><span class="nd">@master</span>
</pre></div>
</div>
</section>
<section id="other-build-options">
<h4>Other build options<a class="headerlink" href="#other-build-options" title="Link to this heading">¶</a></h4>
<p>Spack has other options:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">spack</span> <span class="n">info</span> <span class="n">votca</span>
</pre></div>
</div>
<p>One useful option is to build votca without xtp:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">spack</span> <span class="n">install</span> <span class="n">votca</span><span class="o">~</span><span class="n">xtp</span>
</pre></div>
</div>
</section>
</section>
<section id="conda-forge">
<h3>Conda-forge<a class="headerlink" href="#conda-forge" title="Link to this heading">¶</a></h3>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">conda</span><span class="o">-</span><span class="n">forge</span> <span class="n">votca</span>
</pre></div>
</div>
</section>
<section id="docker">
<h3>Docker<a class="headerlink" href="#docker" title="Link to this heading">¶</a></h3>
<p>VOTCA is also available through docker and can be accessed and run with
the following docker commands:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">docker</span> <span class="n">pull</span> <span class="n">votca</span><span class="o">/</span><span class="n">votca</span>
<span class="n">docker</span> <span class="n">run</span> <span class="o">-</span><span class="n">it</span> <span class="n">votca</span><span class="o">/</span><span class="n">votca</span> <span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">bash</span>
</pre></div>
</div>
<section id="release-version">
<h4>Release version<a class="headerlink" href="#release-version" title="Link to this heading">¶</a></h4>
<p>Docker can also install the latest released version, e.g.:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">docker</span> <span class="n">run</span> <span class="o">-</span><span class="n">it</span> <span class="n">votca</span><span class="o">/</span><span class="n">votca</span><span class="p">:</span><span class="n">v2021</span><span class="mf">.2</span> <span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">bash</span>
</pre></div>
</div>
</section>
</section>
<section id="freebsd">
<h3>FreeBSD<a class="headerlink" href="#freebsd" title="Link to this heading">¶</a></h3>
<p>On FreeBSD VOTCA can be installed from a binary package (recommended):</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pkg</span> <span class="n">install</span> <span class="n">votca</span>
</pre></div>
</div>
<p>or it can be rebuilt and installed from the sources (slow):</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cd</span> <span class="o">/</span><span class="n">usr</span><span class="o">/</span><span class="n">ports</span><span class="o">/</span><span class="n">science</span><span class="o">/</span><span class="n">votca</span> <span class="o">&&</span> <span class="n">make</span> <span class="n">install</span> <span class="n">clean</span>
</pre></div>
</div>
</section>
</section>
<section id="linking-error-undefined-reference-to">
<h2>Linking Error: Undefined reference to<a class="headerlink" href="#linking-error-undefined-reference-to" title="Link to this heading">¶</a></h2>
<p>This error can occur for a multitude of reasons. You may have
forgotten to add paths to the <code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code> or forgotten to import
an environment module. In these cases, deleting the <code class="docutils literal notranslate"><span class="pre">CMakeCache.txt</span></code> in
your <code class="docutils literal notranslate"><span class="pre">build</span></code> folder and rerunning <code class="docutils literal notranslate"><span class="pre">cmake</span></code> will help. Unfortunately,
another cause might be ABI incompability between libraries due to
different libraries being compiled with different compilers or compiler
versions. Click <a class="reference external" href="https://github.com/ICRAR/shark/issues/1">here</a> for
an example.</p>
</section>
<section id="gcc-and-mkl-undefined-symbol">
<h2>GCC and MKL : undefined symbol:<a class="headerlink" href="#gcc-and-mkl-undefined-symbol" title="Link to this heading">¶</a></h2>
<p>This can happen with some GCC versions. Adding the
<code class="docutils literal notranslate"><span class="pre">-Wl,--no-as-needed</span></code> to <code class="docutils literal notranslate"><span class="pre">CMAKE_EXE_LINKER_FLAGS:STRING=</span></code> to the
<code class="docutils literal notranslate"><span class="pre">CMakeCache.txt</span></code> in the <code class="docutils literal notranslate"><span class="pre">build</span></code> directory can fix this. For more
information look
<a class="reference external" href="https://software.intel.com/en-us/articles/symbol-lookup-error-when-linking-intel-mkl-with-gcc-on-ubuntu">here</a></p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="index.html" class="btn btn-neutral float-left" title="Welcome to VOTCA’s documentation!" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="tools/index.html" class="btn btn-neutral float-right" title="TOOLS Manual" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>© Copyright 2024, VOTCA Development Team.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>