dconf Install Instructions
Dependencies
dconf currently has a rather large number of run-time and build dependencies. This will be scaled back in the future.
- GLib/GObject 2.12
- DValue from git, built with dbus and gserialise support.
- DBus 1.0.2
- DBus-GLib 0.73
- Gtk+ (for tests/examples)
If you are building directly out of git (which is currently the only option) then the following are additionally required:
- automake 1.9
- autoconf
Obtaining
Currently, your only choice for obtaining dconf is to use git. The git repository is located at http://git.desrt.ca/dconf.git.
moonpix:~$ git-clone http://git.desrt.ca/dconf.git dconf
Building
The git repository contains only original source files and no generated files. As such, it does not directly contain the normal "./configure" script.
You can build and run the ./configure script using the included autogen.sh script.
moonpix:~/dconf$ ./autogen.sh --prefix=/opt/gnome
Once DValue has been configured, you can build it and install it as you'd normally expect to be able to.
moonpix:~/dconf$ make
Installing
Of course, this part is easy.
moonpix:~/dconf$ sudo make install
If you're installing to a non-standard prefix then you must ensure that your PKG_CONFIG_PATH environment variable is configured properly. You must also ensure that you include the library path in your /etc/ld.so.conf or in the LD_LIBRARY_PATH environment variable. Failure to do either of these may prevent you from building or using programs that depend on dconf.
You should also ensure that your XDG_CONFIG_DIRS environment variable is correctly set to point to the path where dconf-setup.xml was installed. If you used the option --prefix=/opt/gnome then this path is /opt/gnome/etc/xdg.
DBus Activation
Note that the dconf server may fail to activate due to all sorts of problems. A common case is that you have LD_LIBRARY_PATH set in your shell's profile but your dbus-daemon doesn't have it. This will cause the activated dconf-server to fail to find its required libraries.
A general workaround to these problems is to manually execute the dconf-server. It lives in ${prefix}/libexec/.