<ol><li><a href="#CentOS5.3">CentOS 5.3</a><ol><li><a href="#InstallDependencies">Install Dependencies</a></li><li> <a href="#cmakemake">cmake &amp;&amp; make</a></li></ol></li><li> <a href="#Ubuntu14.042016">Ubuntu 14.04, 2016</a><ol><li><a href="#InstallDependencies1">Install Dependencies</a></li></ol></li></ol>

CentOS 5.3

A quick dump of my experience compiling the seiscomp3-potsdam-2010.301-src.tar.gz source tarball on a fairly stock CentOS 5.3 - YMMV. Yum is configured to use Extra Packages for Enterprise Linux (EPEL) https://fedoraproject.org/wiki/EPEL which may or may not be required for SeisComP3, but is a useful addition regardless.

Install Dependencies

This required a bit of trial and error - the list in README was a good starting point. spread and libmseed appear to be included in src/core/libs/3rd-party/ after a few goes here's the list of packages I've installed:

$ sudo yum install mysql-server festival alsa-utils numpy python-numeric ncurses boost qt4 python26 cmake gcc-c++ flex boost-devel mysql-devel python-devel rlog-devel libxml2-devel hdf5-devel ncurses-devel libcdio-devel

Or if you only want x86_64 packages:

$ sudo yum install {mysql-server,festival,alsa-utils,numpy,python-numeric,ncurses,boost,qt4,python26,cmake,gcc-c++,flex,boost-devel,mysql-devel,python-devel,rlog-devel,libxml2-devel,hdf5-devel,ncurses-devel,libcdio-devel}.x86_64

This obviously installs a few other dependent packages, such as gcc and glibc etc.

cmake && make

Untar and cd into seiscomp3 - if you haven't already and run:

$ mkdir -p build
$ cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=/home/seiscomp/seiscomp3/

If that exits with no errors you're ready to run make (and that's it for compilation), if not then you're probably missing a dependency of some description.

Ubuntu 14.04, 2016

(Peter Evans, July 2016)

Compiling the latest development (medusa) sources from git on a new Ubuntu 14.04 machine, here's what I needed... There were clues from the wiki page and the requirements for the binary version(s), but these may not be quite up to date. See src/system/apps/seiscomp/share/deps/ubuntu/14.04/install-base.sh, install-mysql-server.sh, install-gui.sh

Install Dependencies

apt-get install libboost-filesystem1.54.0 libboost-iostreams1.54.0 libboost-thread1.54.0 libboost-program-options1.54.0 libboost-regex1.54.0 libboost-signals1.54.0 libboost-system1.54.0 libssl0.9.8 libncurses5 libmysqlclient18 libpq5 libpython2.7 libxml2 python-m2crypto
apt-get install mysql-client mysql-server
apt-get install libqtgui4 libqt4-xml
apt-get install python-cheetah

Elementtree was NOT needed.

Check Python:

>>> import Cheetah
>>> Cheetah.Version
'2.4.4'

Extra requirements beyond those for the binary version:

apt-get install python-sphinx
apt-get install libboost-dev libmysqlclient-dev libsqlite3-dev libxml2-dev python-dev python-numpy
# apt-get install libboost-filesystem1.54-dev libboost-iostreams1.54-dev libboost-program-options1.54-dev libboost-regex1.54-dev libboost-signals1.54-dev libboost-thread1.54-dev
# Those above may not need requesting explicitly, but the following WERE needed, and brought them in:
apt-get install libboost-filesystem-dev libboost-iostreams-dev libboost-program-options-dev libboost-regex-dev libboost-signals-dev libboost-thread-dev

Extra tools:

apt-get install cmake cmake-curses-gui flex libpcre3-dev qt4-qmake qt4-qtconfig qt4-default qt4-dev-tools

Not all the qt4-* packages may have been required. Fortran compiler is still needed for IPGP/hypo code. Unfortunately my first attempts to use f2c and fort77 failed (they don't set the FC variable in CMake properly?)

CMake Error at /usr/share/cmake-2.8/Modules/CMakeDetermineFortranCompiler.cmake:45 (message):
   Could not find compiler set in environment variable FC:

and

CMake Error at /usr/share/cmake-2.8/Modules/CMakeTestFortranCompiler.cmake:54 (message):
   The Fortran compiler "/usr/bin/fort77" is not able to compile a simple test
   program.

so I had to

apt-get install gfortran

There should be an easy way to turn compiling of this component off in the CMake configuration. This is left as an exercise.

Check Python:

>>> import sphinx
>>> sphinx.__version__
'1.2.2'

And the patched Swig 2.0.4, which requires PCRE.