It is assumed that you know what you are doing. If you are trying to normally install stable Gramps version then see Installation page instead.
This page describes other possible ways of running Gramps without necessarily installing it the conventional way.
The two alternatives to the conventional installation are:
- Running from the source directory
- Installing locally (e.g. into a home directory or elsewhere without root permissions) or into a non-default prefix
Why install non-conventionally?
There might be many reasons you want to not conventionally install Gramps. You might have heard about a new feature you want to try that hasn't been released yet. You might be interested in adding a new feature. You might be interested in getting under the hood to take a look around. In case you have a stable working version of Gramps, you would not want to disturb that installation by installing something experimental on top of it.
Whether you want to run from the source directory or do a proper local or non-default install, you need first to get the source and configure it.
Running from the source directory
This is the strategy in which just a bare minimum gets installed globally, to enable Gramps to start. The entirety of Gramps code will sit in your home directory, right where you downloaded it, and will run from there.
Bare minimum installation on Linux
First execute the
./autogen.sh script. If your system lacks autotools then use
./configure instead. This needs to be done the first time and any time files are added:
Next, install the bare minimum files for Gramps.
Note: If you have a fairly recent stable Gramps version, you may be able to skip this step. If in doubt, try without it, and see if you get errors related to mime types or gconf schemas. If you do, you need to go through this part.
Change to the
data directory, then run
make install as a super-user (Ubuntu users will probably use
cd data make su make install
Bare minimum installation on Windows
Fundamentally all you need to run Gramps on Windows is the const.py file which is generated from the template named const.py.in. During generation, the Gramps version is placed in const.py. If you don't care about the version, you can just copy const.py.in to const.py. First, from a command prompt, cd into the directory where you downloaded or extraced the source files. Then, issue the following command:
copy src\const.py.in src\const.py
You can now start Gramps locally, by typing on the command line:
cd src python gramps.py
Now you can edit files and run
python gramps.py without mucking with your official installation of Gramps.
Note: You should NOT do make install with the Git version, as this will install the unstable version globally. If you want a more recent version of Gramps globally, download a stable release from sourceforge following the Installation instructions.
This way you should be able to run Gramps and be OK in most regards. You will probably not get the current translations because we did not install them properly. For that see:
This is the 100% proper installation strategy that allows you to skip nothing and install into weird places. People do that either because they lack root access and cannot install the regular way, or because of their personal reasons (e.g. weird systems without /usr dir :-). If you fall into this category, start with the INSTALL file shipped with the source.
Most things in Gramps can be installed anywhere and Gramps will happily run from that location. The exceptions are:
- gconf schemas
- mime types
You have to first decide where you want to install these, and then let the installer know about your decision. The trick is to install them in such locations where GConf and shared-mime-types system will know to look.
gconfd will look in these places:
- Whatever is returned by running:
The former is a global setup. The latter is the per-user setup, not system-wide. There is a number of ways to let
gconfd know where else to look, but this is outside the scope of installing gramps. Since the first way is a no-go for you for whatever reasons, you will need to pass something like this to the
configure script as an argument:
By default, the shared mime systems will look in these places:
/usr/local/share/mime(this may be broken on some systems)
$HOME/.local/share/mime(this is a per-user setup, not system-wide)
Likewise, there's a number of ways to instruct the shared mime system to look in other places, but this is the whole other story. Since the first way does not work for you, you will go with something like:
Since you are doing a local install, most likely you will need to specify the non-local prefix for your installation:
A local install will also need to skip the scrollkeeper registration of the helpfiles:
All together now
Putting it all together, a typical non-local install will start from running
configure with these arguments:
--prefix=$HOME/my_gramps_path \ --with-gconf-source=xml::$HOME/.gconf \ --with-gconf-schema-file-dir=$HOME \ --with-mime-dir=$HOME/.local/share/mime \ --disable-scrollkeeper
Of course, your mileage may vary, because you may want to go a global install into
/src/weird/path or whatever else you feel like doing. The only thing to worry about is that gconf schemas and mime types are properly found. So either install them in their default places, or maybe patch them to use your private paths.