Summary: | media-gfx/inkscape-0.48.5 - In file included from desktop.cpp:57: /usr/include/sigc++-2.0/sigc++/limit_reference.h:115:8: error: ‘visitor’ is not a class template | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Juergen Rose <rose> |
Component: | Current packages | Assignee: | GNOME C++ Bindings Maintainers (OBSOLETE) <gnome-mm+disabled> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | franz.trischberger |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
patch to fix missing visit /var/tmp/portage/media-gfx/inkscape-0.48.5/temp/build.log |
Description
Juergen Rose
2014-09-05 00:08:01 UTC
Did you update to libsigc++-2.3.2? According to this https://git.gnome.org/browse/libsigc++2/commit/?id=81c778422768f14eb9ed18645a0a4352dd37c2cb there was a change that broke API. The commit states there should be not compile time error, only one during runtime (if I understand that correctly). If it breaks due to that change inkscape will need a patch. Could you try if downgrading libsigc++ to 2.3.1 fixes inkscape compilation? I had the same issue and confirm that downgrading libsigc++ to 2.3.1 fixes the compilation. Created attachment 384272 [details, diff]
patch to fix missing visit
Seems this was an issue within libsigc++ itself, so that needs to be patched.
I attached the upstream libsigc++ commit.
(I am currently rebuilding inkscape, already passed the problematic file but one never knows ;))
(In reply to Franz Fellner from comment #1) > Did you update to libsigc++-2.3.2? > According to this > https://git.gnome.org/browse/libsigc++2/commit/ > ?id=81c778422768f14eb9ed18645a0a4352dd37c2cb > there was a change that broke API. The commit states there should be not > compile time error, only one during runtime (if I understand that > correctly). If it breaks due to that change inkscape will need a patch. > Could you try if downgrading libsigc++ to 2.3.1 fixes inkscape compilation? I installed at Sep 4th libsigc++-2.3.2. After downgrading to libsigc++-2.3.1 I could also install inkscape-0.48.5 again. (In reply to Franz Fellner from comment #3) > Created attachment 384272 [details, diff] [details, diff] > patch to fix missing visit > > Seems this was an issue within libsigc++ itself, so that needs to be patched. > I attached the upstream libsigc++ commit. > (I am currently rebuilding inkscape, already passed the problematic file but > one never knows ;)) After using this patch I was also able to emerge inkscape-0.48.5 with patched libsigc++-2.3.2. i can confirm this problem t T_functor&) [with T_functor = sigc::bind_functor<-1, sigc::pointer_functor3<SPObject*, SPObject*, SPDesktop*, void>, SPDesktop*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>; T_return = void; T_arg1 = SPObject*; T_arg2 = SPObject*]’ /usr/include/sigc++-2.0/sigc++/functors/slot.h:1188:26: required from ‘sigc::slot<T_return, T_arg1, T_arg2, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::slot(const T_functor&) [with T_functor = sigc::bind_functor<-1, sigc::pointer_functor3<SPObject*, SPObject*, SPDesktop*, void>, SPDesktop*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>; T_return = void; T_arg1 = SPObject*; T_arg2 = SPObject*]’ desktop.cpp:1493:95: required from here /usr/include/sigc++-2.0/sigc++/visit_each.h:169:64: warning: left operand of comma operator has no effect [-Wunused-value] { sigc::visitor<T_functor>::do_visit_each(_A_action, _A_functor); } ^ /usr/include/sigc++-2.0/sigc++/visit_each.h:169:64: error: cannot convert ‘const sigc::bind_functor<-1, sigc::pointer_functor3<SPObject*, SPObject*, SPDesktop*, void>, SPDesktop*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>’ 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); } ^ /usr/include/sigc++-2.0/sigc++/visit_each.h: In instantiation of ‘void sigc::visit_each(const T_action&, const T_functor&) [with T_action = sigc::internal::limit_derived_target<sigc::trackable*, sigc::internal::slot_do_unbind>; T_functor = sigc::adaptor_functor<sigc::bound_mem_functor0<void, SPDesktop> >]’: /usr/include/sigc++-2.0/sigc++/visit_each.h:201:46: required from ‘void sigc::visit_each_type(const T_action&, const T_functor&) [with T_type = sigc::trackable*; T_action = sigc::internal::slot_do_unbind; T_functor = sigc::adaptor_functor<sigc::bound_mem_functor0<void, SPDesktop> >]’ /usr/include/sigc++-2.0/sigc++/functors/slot.h:60:79: required from ‘static void* sigc::internal::typed_slot_rep<T_functor>::destroy(void*) [with T_functor = sigc::bound_mem_functor0<void, SPDesktop>]’ /usr/include/sigc++-2.0/sigc++/functors/slot.h:38:19: required from ‘sigc::internal::typed_slot_rep<T_functor>::typed_slot_rep(const T_functor&) [with T_functor = sigc::bound_mem_functor0<void, SPDesktop>]’ /usr/include/sigc++-2.0/sigc++/functors/slot.h:451:65: required from ‘sigc::slot0<T_return>::slot0(const T_functor&) [with T_functor = sigc::bound_mem_functor0<void, SPDesktop>; T_return = void]’ /usr/include/sigc++-2.0/sigc++/functors/slot.h:1134:26: required from ‘sigc::slot<T_return, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::slot(const T_functor&) [with T_functor = sigc::bound_mem_functor0<void, SPDesktop>; T_return = void]’ desktop.cpp:1501:88: required from here /usr/include/sigc++-2.0/sigc++/visit_each.h:169:64: warning: left operand of comma operator has no effect [-Wunused-value] { sigc::visitor<T_functor>::do_visit_each(_A_action, _A_functor); } ^ /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); } ^ <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined [enabled by default] <built-in>:0:0: note: this is the location of the previous definition Makefile:5961: recipe for target 'desktop.o' failed make[2]: *** [desktop.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory '/var/tmp/portage/media-gfx/inkscape-0.48.5/work/inkscape-0.48.5/src' Makefile:1022: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/media-gfx/inkscape-0.48.5/work/inkscape-0.48.5' Makefile:716: recipe for target 'all' failed make: *** [all] Error 2 * ERROR: media-gfx/inkscape-0.48.5::gentoo failed (compile phase): * emake failed * Portage 2.2.12 (python 3.3.5-final-0, default/linux/amd64/13.0/desktop, gcc-4.8.3, glibc-2.19-r1, 3.16.1-gentoo x86_64) ================================================================= System uname: Linux-3.16.1-gentoo-x86_64-Intel-R-_Core-TM-_i7-3740QM_CPU_@_2.70GHz-with-gentoo-2.2 KiB Mem: 24627212 total, 8406096 free KiB Swap: 25461756 total, 25461756 free Timestamp of tree: Sat, 06 Sep 2014 00:00:01 +0000 ld GNU ld (Gentoo 2.24 p1.4) 2.24 app-shells/bash: 4.2_p47 dev-java/java-config: 2.2.0 dev-lang/python: 2.7.8, 3.3.5-r1, 3.4.1 dev-util/cmake: 2.8.12.2-r2 dev-util/pkgconfig: 0.28-r2 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.13.1 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.11.6, 1.14.1 sys-devel/binutils: 2.24-r3 sys-devel/gcc: 4.8.3 sys-devel/gcc-config: 1.8 sys-devel/libtool: 2.4.2-r1 sys-devel/make: 4.0-r1 sys-kernel/linux-headers: 3.16 (virtual/os-headers) sys-libs/glibc: 2.19-r1 Repositories: gentoo bitcoin steam-overlay bumblebee printer-drivers lokal ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=corei7 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=corei7 -O2 -pipe" DISTDIR="/mnt/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="de_DE.UTF-8" LC_ALL="" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j9" PKGDIR="/mnt/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/mnt/portage" Created attachment 384298 [details]
/var/tmp/portage/media-gfx/inkscape-0.48.5/temp/build.log
CCing Pacho Ramos as the maintainer (really hope this isn't a bad idea... sry if it is) It's a better idea to CC full set of maintainer to get faster attention and don't depend on when I am able to check the mails ;) $ epkginfo -Hm dev-libs/libsigc++ * dev-libs/libsigc++ [gentoo] gnome-mm (gnome-mm@gentoo.org) I am checking it now anyway +*libsigc++-2.3.2-r1 (07 Sep 2014) + + 07 Sep 2014; Pacho Ramos <pacho@gentoo.org> + +files/libsigc++-2.3.2-missing-include.patch, +libsigc++-2.3.2-r1.ebuild, + -libsigc++-2.3.2.ebuild: + Add missing include (#522166 by Juergen Rose and Franz Fellner) + |