= Dependencies = 4store requires several libraries to work, these include: * [http://librdf.org/raptor/ raptor] * [http://librdf.org/rasqal/ 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 [//faqs#0e9b6f07 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.