Dependencies

4store requires several libraries to work, these include:

  •  raptor
  •  rasqal
  • glib2
  • libxml2
  • pcre ‡
  • avahi
  • readline
  • ncurses
  • termcap
  • expat
  • zlib

Most of these should be provided by your distribution.

CentOS 5

On CentOS and similar operating systems you can install all the dependencies (except raptor and rasqal) with:

yum install gcc glib2-devel libxml2-devel pcre-devel avahi avahi-devel \
 avahi-glib-devel readline-devel ncurses-devel termcap libtermcap-devel expat-devel zlib-devel

Fedora 12

Mostly as CentOS 5 above, but by default mDNS is firewalled, so the following is needed in /etc/sysconfig/iptables:

-A INPUT -m state --state NEW -m udp -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT

Thanks to Thomasz Chodakowski for finding the iptables line required.

Mac OS X

On Mac OSX, using fink you can do:

apt-get install autoconf, automake, expat-shlibs, gettext-tools, glib-shlibs, \
 glib2-dev, glib2-shlibs, libtool-shlibs, m4, make, pcre, pcre-bin, pcre-shlibs, pkgconfig

But see the FAQ entry if you get problems with GLib duplicate symbols.

Debian / Ubuntu

On Debian/Ubuntu you can:

Install some APT packages, instructions at  http://blog.dbtune.org/post/2009/08/14/4Store-stuff, or

apt-get install build-essential libpcre3-dev librasqal0-dev libraptor1-dev libglib2.0-dev ncurses-dev libreadline-dev

Which should install pretty much everything (skip the raptor + rasqal section below).

Raptor and Rasqal

Once you have done this, download and install raptor and rasqal from the URLs above.

Notes

Ideally Rasqal should be built with ./configure '--enable-query-languages=sparql rdql laqrs' to get support for projected expressions and COUNT(). If you don't have those options you will fail two query tests, but otherwise things will work.

if you build PCRE from source, make sure you enable unicode support with ./configure --enable-unicode-properties. If you don't have unicode support built in then the regex() FILTER function won't work.