I'm learning GTK+3. I can compile my program on Fedora, but when I tested it on Ubuntu 13.10, I got errors

undefined reference to gtk_widget_init_template


undefined reference to gtk_widget_class_set_template_from_resource

while compiling.

Does Ubuntu provide support for gtk+3.10?

Since the two mentioned above are introduced in gtk+3.10. I'm sure I've installed all regular development files needed by gtk.


version of GTK - by default

Ubuntu 13.10 defaults to Gtk+ 3.8.

Run dpkg -s libgtk-3-0|grep '^Version' | cut -d' ' -f2-

In Saucy the answer is 3.8.6-0ubuntu3.1

The various development packages (the -dev packages) in the repository will also be v3.8.

suggested ways to build 3.10 compatible software

To build GTK3.10 specific packages you'll need to use either the current development version (at the time of writing this) of Ubuntu called 14.04 or use the Gnome-3 PPA

The version reported in 14.04 is 3.10-7-0ubuntu1

My recommendation is to install 14.04 in a virtual machine using a good virtualization software such as Virtual Box or ESXi1.

If you choose to use the Gnome-3 PPA then you need to be aware that not all of Gnome-3 v3.10 is available - so your package your are building may not work.

To add the PPA:

sudo add-apt-repository ppa:gnome3-team/gnome3
sudo apt-get update && sudo apt-get upgrade

Since the PPA updates numerous core packages, this may make your desktop unstable.

Again, my recommendation is to use virtualization software to install a copy on 13.10 upgraded with the Gnome 3 PPA.

External links:

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.