Skip to content

1.2.1: compilation error: call of overloaded 'ptr_fun(<unresolved overloaded function type>)' is ambiguous

Summary:

When building inkscape 1.2.1 with gcc 10.3.0, glibmm-2.66.2 and libsigc++-2.10.8 (on NetBSD but I don't think that's relevant here), I see:

[ 97%] Building CXX object src/CMakeFiles/inkscape_base.dir/actions/actions-help-url.cpp.o
.../inkscape-1.2.1_2022-07-14_9c6d41e410/src/actions/actions-edit.cpp: In function 'void add_actions_edit(InkscapeApplication*)':
.../inkscape-1.2.1_2022-07-14_9c6d41e410/src/actions/actions-edit.cpp:325:111: error: call of overloaded 'ptr_fun(<unresolved overloaded function type>)' is ambiguous
  325 |     gapp->add_action( "clone",                           sigc::bind<InkscapeApplication*>(sigc::ptr_fun(&clone), app));
      |                                                                                                               ^
In file included from /usr/pkg/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:8,
                 from /usr/pkg/include/sigc++-2.0/sigc++/functors/slot.h:7,
                 from /usr/pkg/include/sigc++-2.0/sigc++/signal_base.h:27,
                 from /usr/pkg/include/sigc++-2.0/sigc++/signal.h:8,
                 from /usr/pkg/include/sigc++-2.0/sigc++/sigc++.h:123,
                 from /usr/pkg/include/glibmm-2.4/glibmm/signalproxy.h:27,
                 from /usr/pkg/include/glibmm-2.4/glibmm/objectbase.h:22,
                 from /usr/pkg/include/glibmm-2.4/glibmm/wrap.h:22,
                 from /usr/pkg/include/glibmm-2.4/glibmm/containerhandle_shared.h:24,
                 from /usr/pkg/include/glibmm-2.4/glibmm/arrayhandle.h:21,
                 from /usr/pkg/include/glibmm-2.4/glibmm.h:107,
                 from /usr/pkg/include/giomm-2.4/giomm.h:22,
                 from .../inkscape-1.2.1_2022-07-14_9c6d41e410/src/actions/actions-edit.cpp:14:
/usr/pkg/include/sigc++-2.0/sigc++/functors/ptr_fun.h:471:1: note: candidate: 'sigc::pointer_functor1<T_arg1, T_return> sigc::ptr_fun(T_return (*)(T_arg1)) [with T_arg1 = InkscapeApplicatio
n*; T_return = void]'
  471 | ptr_fun(T_return (*_A_func)(T_arg1))
      | ^~~~~~~
/usr/pkg/include/sigc++-2.0/sigc++/functors/ptr_fun.h:504:1: note: candidate: 'sigc::pointer_functor4<T_arg1, T_arg2, T_arg3, T_arg4, T_return> sigc::ptr_fun(T_return (*)(T_arg1, T_arg2, T_arg3, T_arg4)) [with T_arg1 = int (*)(void*); T_arg2 = void*; T_arg3 = int; T_arg4 = void*; T_return = int]'
  504 | ptr_fun(T_return (*_A_func)(T_arg1, T_arg2, T_arg3, T_arg4))
      | ^~~~~~~

I didn't find an open issue on this, and I checked the repository, but there was no change to that particular source file in the last month.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information