Strus installation guide

Packages

Packages are built on the OpenSUSE Build Cluster from the master branch. Unfortunately, there is no releasing yet a download page to fetch packages of a specific release yet. Here is a list of links to the packages:

  1. strusBase
  2. strus
  3. strusAnalyzer
  4. strusTrace
  5. strusModule
  6. strusRpc
  7. strusPattern
  8. strusVector
  9. strusUtilities
  10. strusBindings (Python)
  11. strusBindings (Java)
  12. strusBindings (PHP)

Packages that failed to build are not visible. You can get an overview on the status of the latest build here. The bindings package is on many platforms marked as failed, but it might still be available for your purpose. The package is split into a variant for each binding language. You might be able to install the package strus-python, even if strusbindings is marked as failed on the OpenSUSE build cluster. This can, for example, be the case because the Java build failed but Python succeeded.
The vector and the pattern package require a newer compiler than available on the build cluster or fail due to missing support of 3rdParty packages.

Start it from a docker image

The Strus Docker images are out of date by far but will be updated soon.

There are 4 docker images available based on ubuntu 14.04:

  1. patrickfrey/strus-ub1404-env: strus search engine prerequisites (build tools, 3rdParty libraries) for ubuntu.
  2. patrickfrey/strus-ub1404: strus search engine libraries and command line tools (without language bindings).
  3. patrickfrey/strus-ub1404-bind: strus search engine application development base (strus-ub1404 plus language bindings).
  4. patrickfrey/strus-ub1404-nginx: strus search engine service using Nginx as the web server.
  5. patrickfrey/strus-ub1404-pysrv: strus search engine server implemented using tornado.

Clone from Github

There exists a Github project strusAll for simiplifying out of source builds of Strus. You can clone it with

git clone git@github.com:patrickfrey/strusAll.git
		

You can also clone the projects one by one from Github:

git clone git@github.com:patrickfrey/<projectname>.git
		
The following projects (substitute for <projectname>) are part of the strus universe: strusBase, strus, strusAnalyzer, strusTrace, strusModule, strusRpc, strusPattern, strusVector, strusBindings, strusUtilities.

3rd party dependencies

Follow the instructions in INSTALL.3rdParty of every strus project for installing the prerequisites.
Hier is a list with the most important 3rd party software you need to install for strus.:

Build the software

The build system is CMake. Go into the top level directory of the strusAll project and execute the instructions in INSTALL (for Linux), INSTALL.FreeBSD, INSTALL.OpenBSD or INSTALL.OSX depending on your platform.
If you build the procects separately you have to do this for each project.
The projects will by default be installed in the default location for utilities (On Ubuntu in /usr/local). Respect the order implied by dependencies if you build the projects separately. The projects have due to dependencies to be built and installed in the following order (projects on the same line can be built in reversed order too because they have no build dependencies to each other):

  1. strusBase
  2. strus, strusAnalyze
  3. strusTrace
  4. strusModule
  5. strusRpc
  6. strusPattern, strusVector, strusBindings, strusUtilities