Guralp Systems Limited
MAN-SWA-0008 - Guralp Systems' Linux tools

Chapter 3. Installing the tools

The Güralp Systems Linux tools are managed by guralp-builder. This is a simple framework which can download, build and install all of the tools and the libraries they require. It also keeps track of dependencies between versions.

guralp-builder can be downloaded from our Web site at

http://www.guralp.com/software/tools/guralp-builder/guralp-builder-20071117.tar.bz2

The scripts require the standard Web downloading utility, wget, to fetch source code from the Güralp Systems repository.

3.1 Prerequisites

Your system must be set up for development or compilation (i.e. development tools such as gcc must be installed). The “Bourne again” shell, bash, is also required.

Several of the programs require other open-source packages. If compilation fails and complains about a missing file with a name similar to one of these, try installing the package's development version through your system's package manager tool:

There are some potential issues with different versions of gnutls so, if you are getting errors about missing gnutls functions, that may be the problem.

On the Debian 7 machine used for testing, libev was installed rather than libevent. This meant that the file called config in the top level directory of cd11-test-recv and tcpserial needed to have the line:

[ -z "${LIBEVENT_LIBS}" ] && LIBEVENT_LIBS="-levent"

changed to:

[ -z "${LIBEVENT_LIBS}" ] && LIBEVENT_LIBS="-lev"

Then the tar file in the ar directory needed to be replaced with the changed version.

3.1.1 Extra packages needed for Debian 7

3.1.2 Extra packages needed for Ubuntu 12.04 LTS

3.2 Installation instructions

To install the tools:

See section 3.4 for more information about installing libraries.

3.3 Updating and recompiling packages

To update a package, run

./update.sh

in the build directory, then install as above. If you already have the current version, the script will do nothing.

If you need to recompile a package, remove its source directory from var/ in the build directory, then

install.sh package-name

To completely reinstall all packages, remove the ar/ and var/ directories, then update and install as above.

Note: Users with installations from before 2009-02-16 are advised to follow the complete re-installation procedure when updating after this date, because a binary-incompatible change in one of the core libraries requires most packages to be rebuilt.

3.4 Shared library management

If the tools are installed to a standard directory (i.e. /usr or, on some systems, /usr/local) then the ldconfig program must be run as root after installing or updating shared libraries.

If installed to a custom directory, there are two options. Either add the library directory (e.g. /opt/guralp/lib) to the file /etc/ld.so.conf (see the ldconfig(8) man page for details), or run a command such as:

ldconfig -n /opt/guralp/lib

In any case, the ldconfig utility must be run after installation/update before the programs will be able to find the correct shared libraries. ldconfig manages library symlinks to allow for multiple compatible and incompatible versions of a library to be installed simultaneously. Please contact Güralp support if you need further help with this issue (in particular: if you have library or “symbol not found” errors when running the tools).

3.5 Running daemons at start-up

Several of these packages are intended to be run as daemons; processes which run in the background and are independent of any users on the system. It is recommended that a package such as daemon-tools, start-stop-daemon or daemonitor is used for this purpose. (The daemonitor package can be downloaded from http://www.lwithers.me.uk/usr/src/daemonitor/.)

Integration with the operating system differs by distribution, and is beyond the scope of this document. Generally the distribution's “init scripts” are used to perform this.