[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
dump.
Dave
------------------------
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:
http://librdf.org/INSTALL.html
http://librdf.org/bindings/INSTALL.html
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:
redland:
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:
redland:
libtool perl db4-devel mysql-devel
libxml2-devel curl-devel
bindings:
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
swig-shlibs
... more for languages ...
on OSX the fink you need is in /sw/lib/flex/bin/flex after installing
flex-devel.
$ 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
installed.
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
guarantees.
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
Usually;
$ 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 :)
http://download.librdf.org/snapshots/
More information about the redland-dev
mailing list