Note: The FernUniversität in Hagen is not responsible for the content or the privacy policies of Web sites to which it may link.



For research papers see the link on the Secondo home page. To become acquainted with Secondo, we recommend to start with the short documents listed below before delving into User Manual or Programmer's Guide.

If you have some problems concerning installation or usage please read first the informally collected notes in the Release-Notes.txt.

Lecture Video

Here is a video of a lecture presented by Ralf Hartmut Güting on August 14 at the Summer School "Stuck in motion? Reconnecting questions and tools in movement ecology", Evenstad, Norway, August 2012.

The lecture (about 2 hrs duration) provides an introduction to the management of moving objects in databases to an audience of animal ecologists; it contains about one hour of practical demonstrations of the Secondo system and the querying and visualization of moving objects. The lecture is entitled "Calculations with Moving Objects in Databases" (streaming, download).

Secondo News

If you wish to be informed about new Secondo releases or new documentation, bugs discovered and bugfixes, please send an email to with a message like "please put me on the Secondo News mailing list". In the same way you can ask for removal from this list, of course.

Source Code

Below you can download the source code. We offer a MS-Windows and a Unix/Linux version, since the coding convention for an end of line on MS-Windows are two bytes CR/LF and on Linux its only LF. The latter can cause trouble on MS-Windows systems.

Date Version MS-Windows (CP1252) Linux (ISO-Latin), also for Mac OS X Notes
09/17/2014 3.4.0 Source Code (98 MB) Source Code (94 MB) notes
10/31//2012 3.3.0 Source Code (33 MB) Source Code (31 MB) notes
12/16/2011 3.2.1 Source Code (27 MB) Source Code (25 MB) notes
09/08/2011 3.2.0 Source Code (28 MB) Source Code (26 MB) notes
07/20/2011 3.1.0 Source Code (24 MB) Source Code (24 MB) notes
06/25/2010 3.0.0 Source Code (25 MB) Source Code (23 MB) notes
01/25/2010 2.9.2 Source Code (21 MB) Source Code (20 MB) notes
10/05/2009 2.9.1 Source Code (21 MB) Source Code (20 MB) notes
08/24/2009 2.9.0 Source Code (21 MB) Source Code (20 MB) notes
06/04/2009 2.8.4 Source Code (21 MB) Source Code (20 MB) notes
01/05/2009 2.8.3 Source Code (13 MB) Source Code (13 MB) notes
12/19/2008 2.8.2 Source Code (13 MB) Source Code (13 MB) notes
12/16/2008 2.8.1 Source Code (13 MB) Source Code (13 MB) notes
10/10/2008 2.7 Source Code (13 MB) Source Code (14 MB)  
10/25/2007 2.6 Source Code (13 MB) Source Code (12 MB) notes
09/17/2007 2.5 Source Code (12 MB) Source Code (11 MB) notes

GUI Binaries

Below you can download the binaries of the graphical user interface of Secondo. It can be run on any platform with an installed Java Runtime Environment version 1.5 or higher. Furthermore, you will need access to a running Secondo server and optionally a running optimizer server.
For using the GUI, just download and unpack the zip-File into an arbitrary directory.

On Linux systems, start a terminal, navigate to the newly created directory and start the gui by entrering sgui. On Windows based systems, double click on sgui.bat if the directory containing the file java.exe is contained in your PATH environment variable, or double click on Javagui.jar if your system is configured to process jar files directly.
The zip file contains a file named ViewerList.txt. This file contains the names of all available viewers. By default, only a small part of them is load when starting the gui. You can add each of the listed viewers by entering gui addViewer <viewer's name>. If a viewer should be loaded at starting time, insert the viewer name into the file gui.cfg to the variable KNOWN_VIEWERS.

Further information can be found in the documentation.

Release Date Download Release Notes

SecondoVM Appliance

The SecondoVM Appliance offers the possibility to use a full-fledged Secondo system within a virtual machine on your preferred system.

SecondoVM is a Linux-based installation of the Secondo extensible DBMS on a virtual machine. It is distributed as a zip-archive file. A user just needs to install VMware Player, a virtualization software, in order to play the virtual machine.

VMware Player is available from the VMware website ( It is available for Linux, and Windows. For non-commercial use, Licences are free of charge. For Macintosh platforms, one can use VMware Fusion (30 days of free trial period) or install the free VMware Player on a Windows/Linux installation using BootCamp.

The SecondoVM appliance was set up using the 32bit variant of Ubuntu as a base. When starting the virtual machine, VMware will set up a virtual network, acting as a NAT-bridge between the virtual and your machine's physical network. This allows for full communications with the system running on the virtual machine. Hence, you can use secure shell (ssh) to communicate with the virtual machine. Also, VMware tools can be used to share folders between the host and guest system.

Setting up the virtual machine does not require any difficult or time-intensive installation process.

Live CD

The Secondo-Live CD offers the possibility to try out the Secondo system without any changes on your hard disk. This CD is based on Xubuntu 10.04 and Secondo 3.0. Some applications of the original Xubuntu system are replaced by Secondo together with some example data. This CD should run on x86/32 bit machines with at least 512MB of RAM. The first step for trying out the Secondo-Live CD is to burn the ISO Image to a CD.

The ISO Image can be found here: SecondoLive2.0.iso (Secondo 3.0)
Please check the correctness of your download using the md5-checksum

fa27ccc544f888d9ebbb3d9e8b1f3514  SecondoLive2.0.iso

After creating the CD, change the boot sequence of your computer to boot first from CD using the BIOS-settings dialog of your computer. Then, put the CD into the CD drive, turn on the computer and wait for some time. When the Xfce desktop is completely loaded, start a console. Within the secondo directory, you will find the subdirectories bin, optimizer, and Javagui. Here you can start your preferred Secondo user interface (refer to the Secondo User Manual).

Note that the live version is not appropriate for complex queries producing a lot of data. The whole system runs completely within the main memory and uses no hard disk space. While in a regular Secondo installation data which cannot be held within the main memory is swapped to the hard-disk, in the live system the hard disk is mapped to a ram disk which is also part of the main memory.

System Requirements for Secondo

If you plan to compile Secondo by yourself on your system (not within the appliance) you need to install some tools and define some shell environment variables. You can do this using your system's package manager (like yast, aptitude, or dselect), or by compiling the tool's source code. In the latter case please take care for the appropriate configure switches. We have collected comprehensive details about the installation in the SDK-SETUP documentation.

Secondo depends on the following free software packages (see the table below). In all cases, the development versions are required (packages with development versions usually contain the string "devel" or "dev" in their names)! The versions noted have been sucessfully used with Secondo, but you can also try other versions.

software package version project home page
Berkeley DB >4.3.29 Oracle Berkeley DB
SWI-Prolog 5.6.37
GCC  >4.7
Java SDK  1.7
Bison  2.1
Flex  2.5.33
Make  3.79.1, 3.80
BASH  2.x
GSL  1.12
libjpeg  6.2
libreadline  5.2

A more detailed list is presented in the SDK-SETUP documentation. For compiling on MS-Windows platforms we use windows ports of the tools above (basically MSYS and MinGW) collected at Some of this software is not easy to compile, but at you will find precompiled windows binaries. To ease this process, we have compiled a standard development kit ( Secondo SDK) for Windows and strongly recommend to use it (see below).

Platform Specific Installation without Secondo Development Kit

We have collected some instruction guidelines for various operating systems and Linux distributions, providing information on how to install which packages and how to set up the environment:
Platform Installation Guide Additional Software Needed
Fedora 20 Fedora 20 Installation Guide Installation Script
SuSe 12.2 SuSe 12.2 Installation Guide Installation Script
SuSe 12.1 SuSe 12.1 Installation Guide Installation Script
SuSe 11.3 SuSe 11.3 Installation Guide  
Ubuntu 14.04 Ubuntu 14.04 Installation Guide Installation Script
Ubuntu 12.04 Ubuntu 12.04 Installation Guide Installation Script
Ubuntu 11.10 Ubuntu 11.10 Installation Guide Installation Script
Ubuntu 10.04 LTS Secondo 3.0/XUbuntu 10.04 LTS Installation Guide  
Ubuntu 9.10 Secondo 3.0/Ubuntu 9.10 Installation Guide  
Ubuntu 8.04 LTS Ubuntu 8.04 Installation Guide Tool for Patching Secondo Versions
File .secondorc

Secondo Development Kits

To try out Secondo, we strongly recommend to use either the SecondoVM or the Secondo Live-CD.
For developing with Secondo, we suggest to use a Linux platform or Mac-OSX. If you are using one of the distributions mentioned in here, please follow the instructions for your operating system in that table. Note that the script normally runs also with higher versions.
If using a quite different Linux distribution, install the tools from the table requirements using the software management tool provided by your distribution.
Note, some algebra modules require further libraries to be installed. If you want to use such an algebra, take a look to the file makefile.algebras to find out which additional libraries are required.
For developing with Mac-OSX, please use the SDK from the table below.

Secondo-SDK is a comprehensive tool collection and an installation script which automates most of the tasks.

The column "Known to Work" means that the installation works for this platform. Note that the Secondo version in the installation kit does not necessarily compile without problems. It may need to be replaced by a recent version that can be downloaded above.

System Installation Guide SDK Download Size Known to Work
(with recent Secondo version)
Known not to Work Last Change
Mac OS X El Capitan/Mavericks/Yosemite Guide SDK_OSX_EL_CAPITAN 125 MB 10.9 Mavericks
10.10 Yosemite
10.11 El Capitan
Mac OS X Lion Mac-OSX Lion Guide SDK_OSX_Lion 52 MB 10.7 Lion   2011-12-16
Mac OS X Mac-OSX Guide SDK_OSX 90 MB 10.4 Tiger
10.5 Leopard
10.6 Snow Leopard (from Nov. 2010)

The system dependent installation guides will help you to set up your environment ready to compile Secondo whereas the SDK setup documentation provides detailed information about the compile time and run time dependencies in general.

Moreover, we keep the earlier versions here if someone needs them for some reason.

How to use other Java SDK versions

For several reasons (e.g. after updating Java to a more recent version) one may need to change the Java SDK used by Secondo.

Installation without Secondo SDK

Edit the environment variable J2SDK_ROOT (e.g. in a file .secondorc) and set it to the root directory of the new Java installation (e.g. /usr/lib/jvm/java-1.5.0-sun).

Installation with Secondo SDK

In an installation with Secondo SDK this can be done by editing the file

  $SECONDO_SDK/secondo.config.win32  { or *.linux, *.linux64, *.mac_osx }

Here $SECONDO_SDK is a placeholder for the root directory of the Secondo SDK installation. Besides the windows configuration file there are also system dependent files for linux 32-bit, linux 64-bit and Mac. The only setting you have to do is to change the value of variable J2SDK_ROOT, e.g.

  export J2SDK_ROOT="/c/Java/jdk1.5.0_12" 

Note that the correct directory name depends on your choice during the JDK installation process and the JDK version. In the example above it was JDK 1.5.0 update 12, which is currently contained in the Secondo SDK.


Here we present some data sets e.g. geographical data or relations with standard data types represented in a textual nested list format suitable for Secondo.

data set description
berlindb The city map of Berlin
geodb Zip codes of German cities
metrodb Some trains of the Berlin metro represented as moving points
opengeodb German states and districts. For further information visit
optdb Some relations used by the examples in the optimizer documentation
osnabrueck City map of the German city Osnabrück
transobj A java program converting data from
vorwahlobj Area codes of German cities

Last Changed: 2014-10-21 (tb)