Table of Contents
If you are interested in helping out with the development of gtkmm, or fixing a bug in gtkmm, you'll probably need to build the development version of gtkmm. However, you should not install a development version over your stable version. Instead, you should install it alongside your existing gtkmm installation, in a separate path.
The easiest way to do this is using jhbuild. jhbuild is a program that makes building GNOME software much easier by calculating dependencies and building things in the correct order. This section will give a brief explanation of how to set up jhbuild to build and install gtkmm from the source repository (git). For up-to-date information on jhbuild, please refer to the jhbuild manual. If you need assistance using jhbuild, you should ask for help on the gnome-love mailing list.
Note | |
---|---|
Note that to build gtkmm from git, you'll often need to build many of its dependencies from git as well. jhbuild makes this easier than it would normally be, but it will take quite a while to build and install them all. You will probably encounter build problems, though these will usually be corrected quickly if you report them. |
To set up jhbuild, follow the basic installation instructions from the jhbuild manual. After you have installed jhbuild, you should copy the sample jhbuild configuration file into your home directory by executing the following command from the jhbuild directory:
$ cp examples/sample.jhbuildrc ~/.jhbuildrc
The gtkmm module is defined in the
gnome-suites-core-deps-3.x.modules
moduleset, so edit your
.jhbuildrc
file and set your moduleset setting to the
latest version e.g. like so:
moduleset = 'gnome-suites-core-deps-3.12'
After setting the correct moduleset, you need to tell
jhbuild which module or modules to build. To
build gtkmm and all of its dependencies, set modules
like so:
modules = [ 'gtkmm' ]
You can build several modules by setting the
modules
variable to a meta-package, e.g.
meta-gnome-core
, or listing more than one module name.
The modules
variable specifies which modules will be
built when you don't explicitly specify anything on the command line. You
can always build a different moduleset later by specifying it on the
commandline (e.g. jhbuild build gtkmm).
Setting a prefix | |
---|---|
By default, jhbuild's configuration is
configured to install all software built with
jhbuild under the
|
When you downloaded jhbuild from the git repository,
you got a number of .modules
files, specifying
dependencies between modules. By default jhbuild
does not use the downloaded versions of these files, but reads the
latest versions in the git repository. This is usually what you want.
If you don't want it, use the use_local_modulesets
variable in .jhbuildrc
.