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.