You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

242 lines
12 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html >
<head>
<meta charset="utf-8" />
<title>Getting the Source Code &#8212; SeisComP Release documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/seiscomp.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css" />
<script type="text/javascript" src="../_static/seiscomp.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Contributing Documentation" href="contributing-docs.html" />
<link rel="prev" title="Examples" href="sdk-python-examples.html" />
</head>
<body>
<div class="header">
<div class="container">
<div class="brand">
<img class="logo" src="../_static/brands/seiscomp/text/white.svg"/>
<!-- span class="title">SeisComP Release</span -->
<span class="version">5.3.0</span>
</div>
</div>
</div>
<div class="nav">
<div class="container">
<div class="content"><a class="pull-right" id="sidebar-toggle">TOC</a>
<div class="related" role="navigation" aria-label="related navigation">
<ul>
<li class="right">
<a href="../genindex.html" title="General Index"
accesskey="I">
index
</a>
</li>
<li class="right">
<a href="contributing-docs.html" title="Contributing Documentation"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="sdk-python-examples.html" title="Examples"
accesskey="P">
previous
</a>
</li>
<li class="nav-item nav-item-0">
<a href="../index.html">Home</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<div class="section" id="getting-the-source-code">
<span id="build"></span><h1>Getting the Source Code<a class="headerlink" href="#getting-the-source-code" title="Permalink to this headline"></a></h1>
<div class="admonition caution">
<p class="admonition-title">Caution</p>
<p>For production systems only
<a class="reference internal" href="installation.html#installation-packages"><span class="std std-ref">install the officially released packages</span></a>
from <span id="id1">Helmholtz-Centre Potsdam - GFZ German Research Centre for Geosciences and gempa GmbH [<a class="reference internal" href="references.html#id243" title="Helmholtz-Centre Potsdam - GFZ German Research Centre for Geosciences and gempa GmbH. The SeisComP seismological software package. GFZ Data Services. 2008. URL: https://www.seiscomp.de, doi:10.5880/GFZ.2.4.2020.003.">61</a>]</span>, <span id="id2"><em>gempa GmbH</em> [<a class="reference internal" href="references.html#id113" title="gempa GmbH. The SeisComP development and maintenance company. URL: https://www.gempa.de/.">26</a>]</span> or compile from the corresponding release
tags in this repository.</p>
</div>
<p>The <cite>SeisComP</cite> software collection is distributed among several repositories.
For more information about compilation and build configuration head over to
<span id="id3"><em>SeisComP on GitHub</em> [<a class="reference internal" href="references.html#id244" title="Seiscomp on github. URL: https://github.com/SeisComP.">1</a>]</span>.</p>
<p>For building a complete <cite>SeisComP</cite> distribution checkout all repositories using
the following script:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
<span class="k">if</span> <span class="o">[</span> <span class="nv">$#</span> -eq <span class="m">0</span> <span class="o">]</span>
<span class="k">then</span>
<span class="nb">echo</span> <span class="s2">&quot;</span><span class="nv">$0</span><span class="s2"> &lt;target-directory&gt;&quot;</span>
<span class="nb">exit</span> <span class="m">1</span>
<span class="k">fi</span>
<span class="nv">target_dir</span><span class="o">=</span><span class="nv">$1</span>
<span class="nv">repo_path</span><span class="o">=</span>https://github.com/SeisComP
<span class="nb">echo</span> <span class="s2">&quot;Cloning base repository into </span><span class="nv">$1</span><span class="s2">&quot;</span>
git clone <span class="nv">$repo_path</span>/seiscomp.git <span class="nv">$1</span>
<span class="nb">echo</span> <span class="s2">&quot;Cloning base components&quot;</span>
<span class="nb">cd</span> <span class="nv">$1</span>/src/base
git clone <span class="nv">$repo_path</span>/seedlink.git
git clone <span class="nv">$repo_path</span>/common.git
git clone <span class="nv">$repo_path</span>/main.git
git clone <span class="nv">$repo_path</span>/extras.git
<span class="nb">echo</span> <span class="s2">&quot;Cloning external base components&quot;</span>
git clone <span class="nv">$repo_path</span>/contrib-gns.git
git clone <span class="nv">$repo_path</span>/contrib-ipgp.git
git clone <span class="nv">$repo_path</span>/contrib-sed.git
<span class="nb">echo</span> <span class="s2">&quot;Done&quot;</span>
<span class="nb">cd</span> ../../
<span class="nb">echo</span> <span class="s2">&quot;If you want to use &#39;mu&#39;, call &#39;mu register --recursive&#39;&quot;</span>
<span class="nb">echo</span> <span class="s2">&quot;To initialize the build, run &#39;make&#39;.&quot;</span>
</pre></div>
</div>
</div>
<div class="section" id="compiling-scname-from-source-code">
<span id="compiling-source"></span><h1>Compiling <cite>SeisComP</cite> from Source Code<a class="headerlink" href="#compiling-scname-from-source-code" title="Permalink to this headline"></a></h1>
<p>To build from source you will need to clone from one or more repositories as
described in <a class="reference internal" href="#build"><span class="std std-ref">Getting the Source Code</span></a>.</p>
<p>Before building, <strong>install all the dependencies</strong>,
as described below in <a class="reference internal" href="#build-dependencies"><span class="std std-ref">Dependencies</span></a>.</p>
<p>The easiest way to compile <cite>SeisComP</cite> is to use the <code class="file docutils literal notranslate"><span class="pre">Makefile</span></code> file
provided which creates a build directory inside the source tree.</p>
<p>Perform the following steps:</p>
<ul class="simple">
<li><p>Clone all required repositories (see above)</p></li>
<li><p>Run <code class="file docutils literal notranslate"><span class="pre">make</span></code></p></li>
<li><p>Configure the build</p></li>
<li><p>Press c as long as g appears</p></li>
<li><p>Press g to generate the Makefiles</p></li>
<li><p>Enter the build directory and run <code class="file docutils literal notranslate"><span class="pre">make</span> <span class="pre">install</span></code></p></li>
</ul>
<p>By default all files are installed under <code class="file docutils literal notranslate"><span class="pre">$HOME/seiscomp</span></code>.
This location can be changed with <cite>cmake</cite> or with its front end <cite>ccmake</cite>.</p>
<p>Basically the build directory can live anywhere. The following steps create
a build directory, configure the build and start it:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ mkdir sc-build
$ <span class="nb">cd</span> sc-build
$ ccmake /path/to/sc-src
<span class="c1"># Configure with ccmake</span>
$ make install
</pre></div>
</div>
<div class="section" id="dependencies">
<span id="build-dependencies"></span><h2>Dependencies<a class="headerlink" href="#dependencies" title="Permalink to this headline"></a></h2>
<p>To compile the sources the following development packages are required
(Debian/Ubuntu package names):</p>
<ul class="simple">
<li><p>g++</p></li>
<li><p>git</p></li>
<li><p>cmake + cmake-gui</p></li>
<li><p>libboost</p></li>
<li><p>libxml2-dev</p></li>
<li><p>flex</p></li>
<li><p>libfl-dev</p></li>
<li><p>libssl-dev</p></li>
<li><p>crypto-dev</p></li>
<li><p>python-dev (optional)</p></li>
<li><p>python-numpy (optional)</p></li>
<li><p>libqt4-dev (optional)</p></li>
<li><p>qtbase5-dev (optional)</p></li>
<li><p>libmysqlclient-dev (optional)</p></li>
<li><p>libpq-dev (optional)</p></li>
<li><p>libsqlite3-dev (optional)</p></li>
<li><p>ncurses-dev (optional)</p></li>
</ul>
<p>The Python development libraries are required if Python wrappers should be
compiled which is the default configuration. The development files must
match the used Python interpreter of the system. If the system uses Python3
then Python3 development files must be present in exactly the same version
as the used Python3 interpreter. The same holds for Python2.</p>
<p>Python-numpy is required if Numpy support is enable which is also
the default configuration.</p>
</div>
</div>
<div id="anchors-bottom"></div>
</div>
<div class="sidebar" role="navigation" aria-label="main navigation">
<div id="anchors-top"></div>
<div id="anchors" class="content">
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Getting the Source Code</a></li>
<li><a class="reference internal" href="#compiling-scname-from-source-code">Compiling <cite>SeisComP</cite> from Source Code</a><ul>
<li><a class="reference internal" href="#dependencies">Dependencies</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="sdk-python-examples.html"
title="previous chapter">Examples</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="contributing-docs.html"
title="next chapter">Contributing Documentation</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/base/build.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="horizontal layout content">
<a class="fade-in" href="https://www.gempa.de" target="_blank">
<img class="brand" src="../_static/brands/gempa.svg"/>
</a>
<div class="stretched align-center fitted content">
<div>
Version <b>5.3.0</b> Release
</div>
<div class="copyright">
Copyright &copy; gempa GmbH, GFZ Potsdam.
</div>
</div>
<a class="fade-in" href="https://www.gfz-potsdam.de" target="_blank">
<img class="brand" src="../_static/brands/gfz.svg"/>
</a>
</div>
</div>
</div>
</body>
</html>