reassign 897852 src:pangomm
quit

Hi,

I think this is a pangomm bug - see the errors below about incompatible function type casts.

I was misled by the final error message, but actually, that's because the autoconfery for rsbackup does:

# 1. Glibmm uses C++14 features
# 2. Which Clang moans about even in gnu++11 mode.
# 3. But you can disable the moan with a -Wno... option.
# 4. But GCC errors if it encounters some _other_ warning.
#
# 2 and 4 are probably bugs. Anyway the fix is:
AC_CACHE_CHECK([whether Glibmm uses features from the future],
  [rjk_cv_glibmm_future],
  [save_CXXFLAGS="${CXXFLAGS}"
   CXXFLAGS="${CXXFLAGS} ${rjk_cv_pangomm_cflags}"
   AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <glibmm/object.h>]])],
     [rjk_cv_glibmm_future=no],
     [rjk_cv_glibmm_future=yes])
   CXXGLAGS="${save_CXXFLAGS}"
])
if test $rjk_cv_glibmm_future = yes; then
  CXXFLAGS="${CXXFLAGS} -Wno-c++14-extensions"
fi

And you can see in the build log:
checking whether Glibmm uses features from the future... yes

...but I think in fact what happened is that the compile failed (probably due to the function cast that gcc complains about here), and that causes the build to append the -Wno-C++14-extensions argument.

But the package would have FTBFS anyway, because of the pangomm error, hence my reassigning this bug.

In file included from /usr/include/sigc++-2.0/sigc++/sigc++.h:104,
                  from /usr/include/pangomm-1.4/pangomm/layout.h:7,
                  from Render.h:23,
                  from Render.cc:16:
/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_);
                                                        ^
At global scope:
cc1plus: error: unrecognized command line option ‘-Wno-c++14-extensions’ 
[-Werror]
cc1plus: all warnings being treated as errors

Sorry, I should have looked at this sooner.

Regards,

Matthew

Reply via email to