Install GNOME development environment on Fedora
Minimal version requirements
For setting up a decent GNOME development environment you should be on a fairly recent distribution to avoid fighting with old problems and dependencies. The following instructions assume that you have installed Fedora 18 on your computer already.
Development specific package groups
Fedora provides a set of groups that contain nearly all relevant packages for software development. You can use the following command to install three groups which cover the development in a GNOME environment:
$ sudo yum groupinstall development-libs development-tools gnome-software-development
Alternatively you can install all necessary packages manually, which is explained in the following sections.
Install the developer-tools
First you need to install the basic tools needed for GNOME development:
To do so, install these packages either using Add/Remove Software or the yum command line utility:
$ sudo yum install anjuta glade devhelp
Install required packages for your favourite programming language
Decide which programming language you are going to use and install the appropriate packages for one or more languages. The following subsections will the packages you have to install:
C
For C programming you need to install the development version of the important GNOME libraries. Those contain the header files and additional linker information:
$ sudo yum install gtk3-devel gstreamer-devel clutter-devel webkitgtk3-devel libgda-devel gobject-introspection-devel
In addition, you will want to install the documentation packages of this libraries so you can view them in the API browser:
$ sudo yum install gtk3-devel-docs gstreamer-devel-docs clutter-doc
Note that there might be no packaged API documentation for some packages.
C++
Be sure to have the C++-Compiler installed:
$ sudo yum install gcc-c++
For C++ programming you need to install the development version of the important GNOME libraries. Those contain the header files and additional linker information:
$ sudo yum install gtkmm30-devel gstreamermm-devel cluttermm-devel webkitgtk3-devel libgdamm-devel
In addition, you will want to install the documentation packages of this libraries so you can view them in the API browser:
$ sudo yum install gtkmm30-doc gstreamermm-doc
Python
Python uses GObjectIntrospection which means you don't need to install additional development libraries but you should be sure to have a decent python environment installed though this is the default in Fedora. Also you need to install the pygobject package to be able to use introspection:
$ sudo yum install python pygobject2
Vala
As the Vala compiler actually translates your code into C code you will have to install all the packages listed in the C section and in addition you need to install the vala compiler:
$ sudo yum install vala vala-devel vala-tools vala-doc
Note that you need to install all appropriate development packages (*-devel) for libraries you use in your vala code.
JavaScript
JavaScript uses GObjectIntrospection which means you don't need to install additional development libraries but you need to have the JavaScript intepreter installed though this is the default in Fedora:
$ sudo yum install gjs gjs-devel
Note there is also Seed which is another JavaScript implementation used in GNOME but the examples on http://developer.gnome.org are all done with gjs.
Install additional libraries needed for the GStreamer demos
If you want to follow the tutorials on http://developer.gnome.org you need to install some additional GStreamer packages:
- gstreamer-plugins-bad-free
- gstreamer-plugins-bad-free-extras
Keep this page up-to-date
Distribution information can change rather fast so please correct errors found on this page. If you are not able to figure out yourself, please drop a mail to gnome-doc-list@gnome.org. Thanks!