Install GNOME development environment on openSUSE

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 openSUSE 12.3 on your computer already.

Development specific package groups

openSUSE 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 zypper in -t pattern devel_basis devel_gnome 

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:

  • anjuta - Integrated development environment

  • glade - Interface designer

  • devhelp - API Browser

To do so, install these packages either using Software Management in YaST or the zypper command line utility:

$ sudo zypper in 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 zypper in gtk3-devel gstreamer-0_10-devel clutter-devel libwebkitgtk-devel libgda-5_0-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 zypper in gstreamer-0_10-doc clutter-doc libgda-5_0-doc

(!) Note that there might be no packaged API documentation for some packages.

C++

Be sure to have the C++-Compiler installed:

$ sudo zypper in 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 zypper in gtkmm3-devel gstreamer-0_10-devel clutter-devel libwebkitgtk-devel libgda-5_0-devel

In addition, you will want to install the documentation packages of this libraries so you can view them in the API browser:

$ sudo zypper in gtkmm3-doc gstreamer-0_10-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 openSUSE. Also you need to install the pygobject package to be able to use introspection:

$ sudo zypper in 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:

$ sudo zypper in vala libvala-0_18-devel

(!) 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 openSUSE:

$ sudo zypper in gjs libgjs-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-0_10-plugins-bad

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!


DeveloperDocumentation

Projects/DeveloperTools/Installation/OpenSuSE (last edited 2014-09-03 19:30:01 by SvitozarCherepii)