Bug 724015

Summary: kdeedu (rocs) FTBFS against boost-1.47.0
Product: [Fedora] Fedora Reporter: Rex Dieter <rdieter>
Component: kdeeduAssignee: Ngo Than <than>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: jreznik, kevin, ltinkl, pmachata, rdieter, rnovacek, ry, smparrish, than
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: 2011-07-23 18:20:38 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 711845    

Description Rex Dieter 2011-07-21 13:43:22 EDT
build.log snippet:

In file included from /usr/include/boost/numeric/conversion/converter.hpp:14:0,
                 from /usr/include/boost/numeric/conversion/cast.hpp:32,
                 from /usr/include/boost/lexical_cast.hpp:31,
                 from /usr/include/boost/math/constants/constants.hpp:15,
                 from /usr/include/boost/graph/topology.hpp:17,
                 from /builddir/build/BUILD/kdeedu-4.6.95/rocs-4.6.95/src/Plugins/AssignValues/assignvalueswidget.h:25,
                 from /builddir/build/BUILD/kdeedu-4.6.95/rocs-4.6.95/src/Plugins/AssignValues/assignvaluestoolsplugin.cpp:20:
/usr/include/boost/numeric/conversion/converter_policies.hpp: In member function 'void boost::numeric::def_overflow_handler::operator()(boost::numeric::range_check_result)':
/usr/include/boost/numeric/conversion/converter_policies.hpp:162:31: error: exception handling disabled, use -fexceptions to enable
Comment 1 Petr Machata 2011-07-22 05:59:57 EDT
The problem is in boost/numeric/conversion, which should throw exceptions with boost::throw_exception, not literal throw, to aid compilation with -fno-exceptions.  I'm spinning a build that should fix this.

Note that boost::throw_exception is then defined in the client.  In rocs, it's in src/Plugins/dotParser/dotgrammar.cpp:

namespace boost
{
  void throw_exception(std::exception const &) {}
}

But, from boost documentation, "callers of throw_exception are allowed to assume that the function never returns; therefore, if the user-defined throw_exception returns, the behavior is undefined".  Just FYI.
Comment 2 Kevin Kofler 2011-07-22 08:01:47 EDT
FWIW, I think it sucks that we're building KDE with -fno-exceptions when the rest of Fedora is using -fexceptions even for C code. We should probably patch the kdelibs CMakeLists.txt to kill that -fno-exceptions use.
Comment 3 Rex Dieter 2011-07-23 00:27:43 EDT
Build requeued,
https://koji.fedoraproject.org/koji/taskinfo?taskID=3224594

in the meantime, I would tend to agree with kevin's sentiments about exceptions.  anyone interested to poke kde upstream about that?
Comment 4 Rex Dieter 2011-07-23 18:20:38 EDT
new build looks like a winner, thanks!