Linux HOWTOs

About | Home | Search


HOWTO: gnome-db
Description: Libraries for unified data access in GNOME
Click here for ChangeLog
NOTE: I use GNU tar >= 1.13.25 so it's -j for .tar.bz2 files,
it's safe to assume that make, gcc, binutils, fileutils/coreutils, gawk, sed, and grep are prerequisites for almost everything


# gnome-db
# ========
# gnome-db is the combination of libgda (GNU data access) and libgnomedb.

# If you ever want to uninstall either of them, cd into the source
# directory, run 'make uninstall', remove the source directory, and the
# tarball.

# Create directories for source and tarballs
mkdir -p -m 0700 ~/installed/gnome-db ~/src/gnome-db


# libgda 1.2.3
# =============
# Prerequisites:
# gawk
# intltool >= 0.30
# perl
# iconv
# gettext
# grep
# sed
# flex
# bison
# scrollkeeper
# pkg-config >= 0.9.0
# glib-2.0 >= 2.0.0
# libxml-2.0
# libxslt >= 1.0.9
# gtk-doc >= 1.0 (optional; used if you pass --enable-gtk-doc)
# Berkeley DB (bdb) >= 4.3.x (optional)
# ODBC libraries (no idea which...) (optional; add --with-odbc=)
# MySQL (optional; add --with-mysql=/usr/local/mysql)
# mSQL (optional; add --with-mSQL=)
# PostgreSQL (optional; add --with-postgres=)
# FreeTDS (optional; add --with-tds=)
# IBM DB2 (optional; add --with-ibmdb2=)
# Sybase (optional; add --with-sybase=)
# Oracle (optional; add --with-oracle=)
# Firebird (optional; add --with-firebird=)
# Xbase (optional; add --with-xbase=)
# SQLite (optional; add --with-sqlite=)
# MDB Tools (optional; add --with-mdb=)
# OpenLDAP (optional; add --with-ldap=)
# readline
# popt

# Note: libgda's readme says that libgda is no longer part of the gnome-db
# project, but www.gnome-db.org still lists it as if it is, so I'm leaving it
# in here.  If it truly becomes seperate with it's own web site, apps use it
# and not libgnomedb also, etc. then I'll move it to it's own howto.

# Install/update the XML::Parser perl module:
su -c "perl -MCPAN -e shell"
o conf make_install_arg UNINST=1
o conf prerequisites_policy follow
install Bundle::CPAN
install XML::Parser
exit

cd
test -f installed/gnome-db/libgda-1.2.3.tar.bz2 &&
 mv installed/gnome-db/libgda-1.2.3.tar.bz2 .
test ! -f libgda-1.2.3.tar.bz2 &&
 wget http://ftp.gnome.org/pub/gnome/sources/libgda/1.2/libgda-1.2.3.tar.bz2

# Verify tarball w/ md5sum:
echo "eb9c31c3102d542de728f5f55674d511  libgda-1.2.3.tar.bz2" | md5sum -c

cd src/gnome-db
find -maxdepth 1 -type d -name "libgda-*" -exec rm -r {} \;
tar xjvf ~/libgda-1.2.3.tar.bz2
cd libgda-1.2.3
test $UID = 0 && chown -R root:root .

# If you have db3 installed but not db4, pass --without-bdb to configure
# If your /usr/include/db.h is a symlink, make sure it really does point to
# db4 (usually something like /usr/include/db4/db.h or
# /usr/local/BerkeleyDB.4.4/include/db.h)

## For my own cutting and pasting convenience <g>, the configure line
## that I use is (it finds MySQL without --with-mysql=/usr/local/mysql):
# ./configure --prefix=/usr --sysconfdir=/etc --with-ldap

./configure --prefix=/usr --sysconfdir=/etc
make

# Become root to install it
su

( cd /usr/lib ; rm -f libgda-2.* libgda-report-2.* libgdasql.* )
make install
ldconfig
find /usr/share/locale -type f -name "libgda-2.mo" -exec rm {} \;
chown -R $USER .

# Become yourself again
exit

cd
rm -f installed/gnome-db/libgda-*.tar.*
mv libgda-1.2.3.tar.bz2 installed/gnome-db/


# libgnomedb 1.2.2
# ================
# Prerequisites:
# libgda >= 1.1.99 and it's prerequisites
# gconf
# libgnomeui-2.0 >= 1.103
# libbonobo-activation-2.0
# libbonoboui-2.0
# gtk+-2.0 >= 2.4.0
# libglade-2.0
# gtksourceview (optional)
# libecal, libebook (I think these are part of Evolution, but may be external
#   libraries that are used by it; I don't have it installed at the moment)

cd
test -f installed/gnome-db/libgnomedb-1.2.2.tar.bz2 &&
 mv installed/gnome-db/libgnomedb-1.2.2.tar.bz2 .
test ! -f libgnomedb-1.2.2.tar.bz2 &&
 wget http://ftp.gnome.org/pub/gnome/sources/libgnomedb/1.2/\
libgnomedb-1.2.2.tar.bz2

# Verify tarball w/ md5sum:
echo "cf8b1eb3aa3e7b18f46bc9bc9335dca7  libgnomedb-1.2.2.tar.bz2" | \
 md5sum -c

cd src/gnome-db
find -maxdepth 1 -type d -name "libgnomedb-*" -exec rm -r {} \;
tar xjvf ~/libgnomedb-1.2.2.tar.bz2
cd libgnomedb-1.2.2
test $UID = 0 && chown -R root:root .
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib

# If you get an error when building it that mentions "cannot find -lssl",
# re-run make like this (if you installed OpenSSL into /usr/local/ssl like
# the howto does):
# make LDFLAGS="-L/usr/local/ssl/lib"

make

# Become root to install it
su

rm -f /usr/lib/libgnomedb-2.*
make install
ldconfig
find /usr/share/locale -type f -name "libgnomedb-2.mo" -exec rm {} \;
chown -R $USER .

# Become yourself again
exit

cd
rm -f installed/gnome-db/libgnomedb-*.tar.*
mv libgnomedb-1.2.2.tar.bz2 installed/gnome-db/


# Update the scrollkeeper databases:
su -c "/usr/bin/scrollkeeper-update -p /var/lib/scrollkeeper"

Back to the list


Last updated: Tue, 07 Aug 2018 12:06:17 -0400
Jason Englander <jason at englanders dot us>