This is what I currently get with "-DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8" (gcc 8.0.1, libsigc++ 2.10.0): (more errors follow, this is just the first one) [ 5%] Building CXX object CMakeFiles/pulseview.dir/main.cpp.o In file included from /usr/include/sigc++-2.0/sigc++/sigc++.h:104, from /usr/include/glibmm-2.4/glibmm/thread.h:49, from /usr/include/glibmm-2.4/glibmm.h:88, from [...]/include/libsigrokcxx/libsigrokcxx.hpp:78, from [...]/pulseview/main.cpp:25: /usr/include/sigc++-2.0/sigc++/signal.h: In static member function ‘static sigc::internal::signal_emit0<void, sigc::nil>::result_type sigc::internal::signal_emit0<void, sigc::nil>::emit(sigc::internal::signal_impl*)’: /usr/include/sigc++-2.0/sigc++/signal.h:798:56: error: cast between incompatible function types from ‘sigc::internal::hook’ {aka ‘void* (*)(void*)’} to ‘sigc::internal::signal_emit0<void, sigc::nil>::call_type’ {aka ‘void (*)(sigc::internal::slot_rep*)’} [-Werror=cast-function-type] (reinterpret_cast<call_type>(slot.rep_->call_))(slot.rep_); ^ /usr/include/sigc++-2.0/sigc++/signal.h: In static member function ‘static sigc::internal::signal_emit0<void, sigc::nil>::result_type sigc::internal::signal_emit0<void, sigc::nil>::emit_reverse(sigc::internal::signal_impl*)’: /usr/include/sigc++-2.0/sigc++/signal.h:825:55: error: cast between incompatible function types from ‘sigc::internal::hook’ {aka ‘void* (*)(void*)’} to ‘sigc::internal::signal_emit0<void, sigc::nil>::call_type’ {aka ‘void (*)(sigc::internal::slot_rep*)’} [-Werror=cast-function-type] (reinterpret_cast<call_type>(it->rep_->call_))(it->rep_); ^
See also: https://github.com/libsigcplusplus/libsigcplusplus/issues/1
So these bugs aren't PV issues and will be fixed in libsigc++ and we should revisit this bug when the fix has been included in a release (latest release is 2.99.11 as of this writing).
Doesn't happen anymore with gcc 8.3.0 and libsigc++ 2.10.1 for example, seems to have been fixed upstream in the mean time.