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
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.
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.
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?
new build looks like a winner, thanks!