[redland-dev] How to keep up to date?

Dave Beckett dave.beckett at bristol.ac.uk
Fri Mar 4 00:45:21 GMT 2005

On Mon, 28 Feb 2005, Danny Ayers wrote:

> Hi Dave, folks,
> I finally got my installs of Redland running ok* (the problems I was
> having were due to old libs hanging around, and general
> Linux-newbiness - note below). But I would like to keep current with
> the latest versions, particularly for the SPARQL bits. Any suggestions
> for the best way to go about this? (I'm more interested in having an
> unstable/dev setup than stable/live).

See if this helps,  you can be the first tester since this is just a brain 


Building Latest Redland From CVS

So you want the latest bits and pieces?  That means running from
CVS.   There are several redland packages but it's easiest if you
just get two - redland and redland-bindings, since redland includes
raptor and rasqal.

Checking out the Redland Sources

Follow the instructions to get CVS redland and bindings checked out,
given in:

and you'll end up with two directories, 'redland' and 'bindings'.

Now it is a matter of setting up CVS.  For this you need to run the
autotools on the cvs tree.  However, before doing that you need to
have the right set of utility programs and libraries, so that's the
first step and it's somewhat system specific.

Debian Setup

Starting from the redland Debian Build Dependencies (which are for
building from releases, *not* from CVS) the core set of packages
needed.  For simplicity, I've removed lower level versions:

  autotools-dev libtool perl libdb4.3-dev libmysqlclient12-dev
  libsqlite3-dev libxml2-dev libcurl3-dev

bindings extras:
  python2.2 python2.2-dev python2.3 python2.3-dev ruby1.8 ruby1.8-dev
  ... more depending on languages ...

Also needed are reasonably new versions of automake and autoconf.  I
always use the latest there is, which is right now, automake 1.9.5
(1.7 min) and autoconf 2.59 (2.54 min)

Finally the parsers need bison, flex 2.5.31 and swig 1.3.x (1.3.14
min) for generating bindings.

For actual debian unstable/sid users this is easier since redland's
in the archive and all you need is:
  $ sudo apt-get build-dep redland redland-bindings

plus the extras:
  $ sudo apt-get install bison swig1.3 flex automake-1.9 autoconf2.50

Redland and bindings ship with Ubuntu on CD1 (yay!) and are in Debian.

Redhat Setup

Something similar applies to the world of RPMs if you have yum or apt
installed although the package names are different:

  libtool perl db4-devel mysql-devel 
  libxml2-devel curl-devel 

  python python-devel ruby ruby-devel
  ... more depending on languages ...

I had to build flex 2.5.31 as the ancient flex on RedHat FC3 was of
no use but the rest can be installed with:

  $ sudo yum install PACKAGES

Redland and bindings are in some RPM distributions.

OSX (w/fink) Setup

There's a similar set of packages for OSX with fink with *sigh*
slightly different names again, something like:

  autoconf2.5 automake1.8 curl-ssl-dev curl-ssl-shlibs db42 db42-bin
  db42-shlibs flex-devel libtool14 libtool14-shlibs pkgconfig swig

  ... more for languages ...

on OSX the fink you need is in /sw/lib/flex/bin/flex after installing

  $ sudo fink install PACKAGES

You can try to get by without fink but you won't have any persistent
storage.  Perl, python and required headers should already be

BSDen and Gentoo Setup

Sorry, I don't know the relevant port-based systems instructions.
You can probably work out the right names.  For gentoo it is
something like 'emerge PACKAGES'.

Redland and bindings are in freshports and gentoo.

Configuring and building Redland

Now it's time to try the autogen.sh scripts

  $ cd redland
  $ ./autogen.sh --with-raptor=internal --with-rasqal=internal --with-prefix=/usr

and see what happens.  The --with options ensure redland's always
built with the CVS versions of everything rather than any system version.

  $ make
  $ make check

which may work, this being development versions in CVS, there are no

If brave and you want it globally:

  $ sudo make install

Configuring and building Redland bindings

  $ cd ../bindings

This involves picking a language, but it's optional, so either don't:
  $ ./autogen.sh --with-redland=internal

or do:
  $ ./autogen.sh --with-redland=internal --with-perl --with-python=/usr/bin/python2.5

  $ make
  $ make check

Same caveats as above; things may break.

If you didn't do the --with-LANGUAGE or if you just wanted to build
something else, you can always just 'cd LANGUAGE' and 'make' for
any of the bindings languages.

Then to install the bindings in their natural places:

$ sudo make install

What To Do When Something Gets Fixed In CVS

  $ cd redland
  $ cvs up -APd
  $ make

then maybe: sudo make install

  $ cd ../bindings
  $ cvs up -APd
  $ make

then maybe: sudo make install

But now and then you'll need to re-run the autogen.sh scripts such as
when new directories are added or removed from CVS or files are
renamed, moved or deleted.  This can usually be seen when make stops
working with some error about missing files after a 'cvs up'

Help!  This is Too Complex

Grab the nightly tarballs (source) or RPMs then :)

More information about the redland-dev mailing list