Heads up: glibmm/gtkmm now requires -std=c++11

Kalev Lember kalevlember at gmail.com
Wed Sep 23 00:35:32 UTC 2015


Hi,

A quick heads up to anybody who might run into cryptic build errors when
building apps that use glibmm/gtkmm:

Latest glibmm/gtkmm stack in rawhide and F23 now uses C++11 features in
header files. This means when building other programs that use those
headers, the C++ compiler needs to be in C++11 mode now.

The fix is simple: make sure -std=c++11 is passed to the compiler.

It can be done in either in upstream build scripts or hacked in
downstream in spec files. I would usually always suggest to go for
upstreamable fixes, but I think in this case it's fine to do it
downstream as well. The reason is that the workaround is just a
temporary measure until GCC switches to use C++11 by default, which is
probably going to happen in F24 when GCC 6 lands.

Here's an example how to do it in a spec file:
http://pkgs.fedoraproject.org/cgit/inkscape.git/commit/?id=fc745c8687dd8a362235340bd3481ff18925dbaf

And here's how to do it in an upstreamable way:
https://git.gnome.org/browse/gnome-system-monitor/commit/?id=e5d3ac014d7acc73c5f508a937c5656ffa8f08ad
or
https://git.gnome.org/browse/gnome-system-monitor/commit/?id=d81fe60bc3d6a481b6bc330490fd079b5cc30acc

-- 
Kalev


More information about the devel mailing list