Install GNOME development environment on Ubuntu
Contents
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 Ubuntu 16.04 LTS (or higher) on your computer already.
Install the developer-tools
First you need to install the basic tools needed for GNOME development. To do so, install these packages using the apt command line utility:
anjuta - Integrated development environment (or use your favorite IDE or text editor)
GNOME Builder - A brand new Integrated development environment designed for GNOME
glade - Interface designer
devhelp - API Browser
Or alternatively,
$ sudo apt install anjuta gnome-builder glade devhelp
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:
- gstreamer1.0-plugins-bad
- gstreamer1.0-plugins-bad-multiverse
Or alternatively,
$ sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-plugins-bad-multiverse
Install required packages for your favorite programming language
You can 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:
- libgtk-3-dev
- libgstreamer1.0-dev
- libclutter-1.0-dev
- libwebkit2gtk-4.0-dev
- libgda-5.0-dev
Or alternatively,
$ sudo apt install libgtk-3-dev libgstreamer1.0-dev libclutter-1.0-dev libwebkit2gtk-4.0-devlibgda-5.0-dev
In addition, you will want to install the documentation packages of this libraries so you can view them in the API browser:
- libgtk-3-doc
- gstreamer1.0-doc
- libclutter-1.0-doc
- libwebkit2gtk-4.0-doc
- libgda-5.0-doc
Or alternatively,
$ sudo apt install libgtk-3-doc gstreamer1.0-doc libclutter-1.0-doc libwebkit2gtk-4.0-doc libgda-5.0-doc
C++
Be sure to have the C++-Compiler installed:
- g++
Or alternatively,
$ sudo apt install g++
For C++ programming you need to install the development version of the important GNOME libraries. Those contain the header files and additional linker information:
- libgtkmm-3.0-dev
- libgstreamermm-1.0-dev
- libcluttermm-1.0-dev (not available yet)
- libgdamm5.0-dev
Or alternatively,
$ sudo apt install libgtkmm-3.0-dev libgstreamermm-1.0-dev libgdamm5.0-dev
In addition, you will want to install the documentation packages of this libraries so you can view them in the API browser:
- libgtkmm-3.0-doc
- libgstreamermm-1.0-doc
- libcluttermm-1.0-doc (not available currently)
- libgdamm5.0-doc
Or alternatively,
$ sudo apt install libgtkmm-3.0-doc libcluttermm-1.0-doc libgdamm5.0-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 and the introspection bindings installed:
- python
- python-gobject
Or alternatively,
$ sudo apt install python python-gobject
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:
- valac
- vala-utils (Not available in Ubuntu 12.04)
- valadoc
Or alternatively,
$ sudo apt install valac valadoc
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:
- gjs
- libgjs-dev
Or alternatively,
$ sudo apt install gjs libgjs-dev
Note there is also Seed which is another JavaScript implementation used in GNOME but the examples on developer.gnome.org are all done with gjs.
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!