On 05-08-2014 11:40, Ken Moffat wrote:
> On my current system (20140803), inkscape-0.48.5 failed to build
> against libsigc++-2.3.2 :
>
> /usr/include/sigc++-2.0/sigc++/visit_each.h:169:64: error: cannot convert
> ‘const sigc::adaptor_functor<sigc::bound_mem_functor0<void, SPDesktop> >’ to
> ‘int’ in initialization
> /usr/include/sigc++-2.0/sigc++/visit_each.h:169:29: warning: unused variable
> ‘do_visit_each’ [-Wunused-variable]
> { sigc::visitor<T_functor>::do_visit_each(_A_action, _A_functor); }
> ^
> CXX device-manager.o
> Makefile:5958: recipe for target 'desktop.o' failed
> make[2]: *** [desktop.o] Error 1
>
>
> This is the only package in my build which needs libsigc++, I have
> fixed this for the moment by reverting to libsigc++-2.3.1.
>
> Google found nothing useful - I'm on the bleeding edge again :) -
> so for the moment this is just a notification that there seems to be
> a problem with this combination. I noticed the comments in the
> ticket that libsigc++ 2.3 turned out to be a development version.
>
> ĸen
>
ĸen, I'm sorry for that.
When updating, I rebuild and reinstalled cairomm-1.10.0 and
glibmm-2.40.0, but not Cdrdao-1.2.3. These were the packages depending
on libsigc++. I knew about the possibility of API break, was in the
News, one of the last commits did it:
{{{
Note: The implementation of bug #724496 breaks API for some users,
but it does not break ABI.
Only users who have added their own visit_each() overloads are affected by
the API break. Their programs will still compile, but there will be run-time
errors, if they rely on auto-disconnection of slots.
Updated instructions for users who implement their own adaptors are found
in the description of sigc::adapts<>.
* Replace visit_each() overloads by struct visitor<>.
Add the test_visit_each test case.
(Ryan Beasley, Kjell Ahlstedt) Bug #724496
* signal_impl::notify(): Don't delete signal_impl during erase().
(Kjell Ahlstedt) Bug #564005 (Alexander Shaduri)
...
}}}
After spending some hours, I came with this idea, and produced a patch.
Please, try the attached patch reverting that commit. It is compressed,
uncompressed size > 70KB. If it works, how should we submit: .patch.xz
or .patch
--
[]s,
Fernando
libsigc++-2.3.2-fix_API_visit_each-1.patch.xz
Description: Binary data
-- http://lists.linuxfromscratch.org/listinfo/blfs-dev FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
