Running Gramps Genealogy program on Solaris 10
Gramps is an acronym for Genealogical Research and Analysis Management Programming System). It is a community project, created, developed and governed by genealogists.

Gramps official home page is gramps-project.org
Why Gramps on Solaris?
Whilst Gramps is available for various flavours of Linux and Windows. There is no install release available for the Solaris operating system. This is where I come in (I don't run windows at home) so I created the steps necessary and posted the results on the Gramps project wiki page.
At the time of writing, Gramps version 3.0.1 was available and I have successfully installed on Solaris 10 (SPARC) and OpenSolaris X86 (2008.05)
Installing Dependencies
Even with the latest releases of Solaris/OpenSolaris a number of missing dependencies need to be resolved before you can install Gramps, namely Berkeley DB, Python BSDDB Interface and Python ReportLab.
You will need to install these dependencies before you can move forward and install Gramps.
Berkeley DB
- Download the BSDDB core from www.oracle.com. For the Gramps 3.0.1 installation I've used
Berkeley DB 4.5.20
(although 4.6 and 4.7 are available I found a number of db corruptions while using these later releases so I stuck with the trusted 4.5x version). - Unpack, build and install
% gtar zxfB db-4.5.20.tar.gz % cd db-4.5.20/build_unix % ../dist/configure --prefix=/usr % gmake % su # gmake install
- Note: Using the
--prefix=/usr
on the configure command-line is a must under Solaris, without installing the Berkeley DB in this location Python BSDDB interface fails to install.
Python BSDDB Interface
- Download bsddb3-4.5.0.tar.gz from pybsddb.sourceforce.net.
- Unpack, build and install
% gtar zxfB bsddb3-4.5.0.tar.gz % cd bsddb3-4.5.0 % python setup.py build Found Berkeley DB 4.5 installation. include files in /usr/include library files in /usr/lib library name is libdb-4.5 running build running build_py running build_ext % su # python setup.py install
- Note: You must download and build a version of the Python BSDDB Interface which supports the version of Berkeley DB installed on your system.
Python ReportLab
- Download Report 2.1 (latest version at the time of writing), from www.reportlab.org/ftp.
- Unpack, build and install
% gtar zxfB ReportLab_2_1.tgz % cd reportlab_2_1/reportlab % python setup.py build % su # python setup.py install
Installing Gramps
Download & Unpack
- Download Gramps 3.0.1 (latest version at time of writing) from the Gramps sourceforge.net page.
- Unpack
% gtar zxvf gramps-3.0.1.tar.gz % cd gramps-3.0.1
Prebuild Changes
A small number of changes are needed prior to compiling and installing Gramps 3.0.1 on the Solaris platform
- file: configure
Although the Gramps 3.0.1 package requires a python version of 2.5 or later. The Solaris build of python 2.4 works well with Gramps 3.0.1 and no issues have been noticed. Note: This change negates the need install a later release of python ;-)
change line 6297 of this file to read:
minver = map(int, string.split('2.4', '.')) + [0, 0, 0]
change line 6329 to read:minver = map(int, string.split('2.4', '.')) + [0, 0, 0]
- file: src/gramps.py
change line 97 to read:
MIN_PYTHON_VERSION = (2, 4, 0, , 0)
- file: gramps.sh.in
Unlike other UNIX/Linux versions the default /bin/sh under Solaris is the older bourne shell. In order to allow the script to work we need to modify the first line of this file to read ksh (or bash if you prefer):
#!/bin/ksh
- file: src/gen/db/base.py
change line 39 to read:
from bsddb3 import db
- file: src/gen/db/dbdir.py
change line 39 to read:
from bsddb3 import dbshelve, db
- file: src/Editors/_EditFamily.py
change line 28 to read:
from bsddb3 import db as bsddb_db
- file: src/GrampsDbUtils/_GrampsBSDDB.py
change line 38 to read:
from bsddb3 import dbshelve, db
- file: src/GrampsLogger/_ErrorReportAssistant.py
change line 5 to read:
import sys, os, bsddb3
change line 102 to read:str(bsddb3.__version__),
- file: src/plugins/Leak.py
change line 34 to read:
from bsddb3.db import DBError
Configure Gramps
- To configure Gramps all you need to do is run the configure script:
% ./configure
- Other options to configure that are useful include telling the script to setup Gramps to install in a directory of your choosing instead of the default (/usr/local):
% ./configure --prefix=/usr
Compile Gramps
- To compile Gramps simple issue make.
% make
Testing the Build
- To test the Gramps build, simply run:
% python ./src/gramps.py
Finally, Install Gramps
- Finally, type make to install into your desired location
% su # make install
Running Gramps
To run Gramps, simply type gramps
if the installation path for the Gramps binaries are in your $PATH, otherwise type the full path to the binary, ie: /your/dest/dir/gramps
That's all folks!