Bug 1285812

Summary: ladish FTBFS in rawhide due to glibmm change to use C++11
Product: [Fedora] Fedora Reporter: Jonathan Wakely <jwakely>
Component: ladishAssignee: Brendan Jones <brendan.jones.it>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: brendan.jones.it, oget.fedora
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-16 06:27:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jonathan Wakely 2015-11-26 14:12:49 UTC
ladish can't be built in rawhide at present, because it uses glibmm which now requires C++11 or later.


In file included from /usr/include/glibmm-2.4/glibmm/exception.h:25:0,
                 from /usr/include/glibmm-2.4/glibmm/error.h:23,
                 from /usr/include/glibmm-2.4/glibmm/thread.h:49,
                 from /usr/include/glibmm-2.4/glibmm.h:87,
                 from /usr/include/gtkmm-2.4/gtkmm.h:87,
                 from /usr/include/libgnomecanvasmm-2.6/libgnomecanvasmm.h:29,
                 from ../gui/flowcanvas/Canvas.hpp:27,
                 from ../gui/canvas.cpp:28:
/usr/include/glibmm-2.4/glibmm/ustring.h:267:3: error: identifier 'noexcept' is a keyword in C++11 [-Werror=c++0x-compat]
   ~ustring() noexcept;
   ^
In file included from /usr/include/c++/5.2.1/type_traits:35:0,
                 from /usr/include/sigc++-2.0/sigc++/visit_each.h:22,
                 from /usr/include/sigc++-2.0/sigc++/functors/slot.h:6,
                 from /usr/include/sigc++-2.0/sigc++/signal_base.h:27,
                 from /usr/include/sigc++-2.0/sigc++/signal.h:8,
                 from /usr/include/sigc++-2.0/sigc++/sigc++.h:86,
                 from /usr/include/glibmm-2.4/glibmm/thread.h:51,
                 from /usr/include/glibmm-2.4/glibmm.h:87,
                 from /usr/include/gtkmm-2.4/gtkmm.h:87,
                 from /usr/include/libgnomecanvasmm-2.6/libgnomecanvasmm.h:29,
                 from ../gui/flowcanvas/Canvas.hpp:27,
                 from ../gui/canvas.cpp:28:
/usr/include/c++/5.2.1/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
 #error This file requires compiler and library support for the \
  ^


The spec file needs to pass -std=gnu++11 or similar.

Comment 1 Jonathan Wakely 2016-01-15 13:25:01 UTC
N.B. this will be "fixed" by the F24 mass rebuild using GCC 6, because the default will be -std=gnu++14

Comment 2 Jan Kurik 2016-02-24 14:02:35 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle.
Changing version to '24'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora24#Rawhide_Rebase

Comment 3 Orcan Ogetbil 2017-02-16 06:27:44 UTC
This build was still failing in rawhide mass rebuild (f26).
I think the glibmm24 package needs an update. The headers are still using the old throw specifier.

For now, I rebuilt the ladish package with removing the -Werror. This can be revisited if glibmm24 package gets an fix. Feel free to reopen this bug

Comment 4 Jonathan Wakely 2017-02-16 09:28:27 UTC
There's nothing wrong with the glibmm24 package, it uses throw() in C++14 which is fine (deprecated, but still valid). The reason for the build failure was that ladish uses -Werror