Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 575690 - media-libs/opencv-3.1.0-r2 fails to compile ("modules/xobjdetect/src/waldboost.hpp:53:7: error: redefinition of ‘class cv::xobjdetect::WaldBoost’")
Summary: media-libs/opencv-3.1.0-r2 fails to compile ("modules/xobjdetect/src/waldboos...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Amy Liffey
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 566920
  Show dependency tree
 
Reported: 2016-02-26 06:50 UTC by Martux
Modified: 2016-11-14 16:07 UTC (History)
10 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
the build log (build.log,508.06 KB, text/plain)
2016-02-26 06:50 UTC, Martux
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martux 2016-02-26 06:50:50 UTC
Created attachment 426582 [details]
the build log

emerge --info
Portage 2.2.27 (python 3.4.3-final-0, default/linux/amd64/13.0/desktop/plasma/systemd, gcc-5.3.0, glibc-2.22-r2, 4.4.2-gentoo x86_64)
=================================================================
System uname: Linux-4.4.2-gentoo-x86_64-Intel-R-_Core-TM-_i7-4712MQ_CPU_@_2.30GHz-with-gentoo-2.2
KiB Mem:     8087280 total,   1088196 free
KiB Swap:    8190972 total,   8190972 free
Timestamp of repository gentoo: Fri, 26 Feb 2016 06:30:01 +0000
sh bash 4.3_p42-r2
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p42-r2::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.22.1::gentoo
dev-lang/python:          2.7.11-r2::gentoo, 3.4.3-r7::gentoo
dev-util/cmake:           3.4.3::gentoo
dev-util/pkgconfig:       0.29::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.20.5::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            5.3.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r2::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

kde
    location: /var/lib/layman/kde
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/env.d/43kdepaths /etc/env.d/99skype /usr/share/config /usr/share/config/kdm/kdmrc /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--jobs=9 --load-average=8.0 --with-bdeps=y --keep-going"
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 xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://tux.rainside.sk/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ http://gentoo.gg3.net/"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j9"
PKGDIR="/usr/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 --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa amd64 asf avahi berkdb bluetooth bluray branding bzip2 cairo cdda cdr cli cracklib css cups custom-cflags custom-optimization cxx dbus declarative dri dts dvd dvdr ebook emboss encode exif fam ffmpeg firefox flac fortran gdbm gif glamor glib gpm hddtemp iconv icu id3tag java jpeg jpeg2k kde kipi lame lcms libnotify lzma mad matroska mmx mmxext mng modemmanager modules mp3 mp4 mpeg mtp multilib ncurses networkmanager nls nptl nsplugin ogg opencl opengl openmp pam pango pch pcre pdf phonon pic plasma png policykit ppds pulseaudio python3 qml qt3support qt5 quicktime readline sdl seccomp session smp spell sse sse2 ssl startup-notification svg symlink systemd taglib tcpd theora threads tiff truetype twolame udev udisks unicode usb v4l vaapi vcd vdpau vorbis wavpack widgets wxwidgets x264 xattr xcb xcomposite xinerama xml xscreensaver xv xvid xvmc zeroconf zlib" ABI_X86="32 64" ALSA_CARDS="snd_hda_intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21 ruby23" USERLAND="GNU" VIDEO_CARDS="intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Alexis Ballier gentoo-dev 2016-02-26 09:42:58 UTC
*** Bug 575692 has been marked as a duplicate of this bug. ***
Comment 2 Dennis Schridde 2016-02-27 19:08:44 UTC
Could you please add "modules/xobjdetect/src/waldboost.hpp:53:7: error: redefinition of ‘class cv::xobjdetect::WaldBoost’" to the summary?


In file included from /var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0_build/modules/xobjdetect/precomp.hpp:77:0:
/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv_contrib-3.1.0/modules/xobjdetect/src/waldboost.hpp:53:7: error: redefinition of ‘class cv::xobjdetect::WaldBoost’
 class WaldBoost {
       ^
In file included from /var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0_build/modules/xobjdetect/precomp.hpp:48:0:
/usr/include/opencv2/xobjdetect.hpp:136:18: error: previous definition of ‘class cv::xobjdetect::WaldBoost’
 class CV_EXPORTS WaldBoost : public Algorithm
                  ^
In file included from /var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0_build/modules/xobjdetect/precomp.hpp:78:0:
/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv_contrib-3.1.0/modules/xobjdetect/src/wbdetector.hpp:56:42: error: expected class-name before ‘{’ token
 class WBDetectorImpl : public WBDetector {
                                          ^
/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv_contrib-3.1.0/modules/xobjdetect/src/wbdetector.hpp:71:15: error: cannot declare field ‘cv::xobjdetect::WBDetectorImpl::boost_’ to be of abstract type ‘cv::xobjdetect::WaldBoost’
     WaldBoost boost_;
               ^
In file included from /var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0_build/modules/xobjdetect/precomp.hpp:48:0:
/usr/include/opencv2/xobjdetect.hpp:136:18: note:   because the following virtual functions are pure within ‘cv::xobjdetect::WaldBoost’:
 class CV_EXPORTS WaldBoost : public Algorithm
                  ^
/usr/include/opencv2/xobjdetect.hpp:146:30: note:       virtual std::vector<int> cv::xobjdetect::WaldBoost::train(cv::Mat&, const cv::Mat&, bool)
     virtual std::vector<int> train(Mat& data,
                              ^
/usr/include/opencv2/xobjdetect.hpp:154:19: note:       virtual float cv::xobjdetect::WaldBoost::predict(const cv::Ptr<cv::xobjdetect::FeatureEvaluator>&) const
     virtual float predict(
                   ^
make[2]: Leaving directory '/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0_build'
Comment 3 Amy Liffey gentoo-dev 2016-05-07 13:21:57 UTC
I wonder is this happening for you even with opencv-3.1.0-r1?

Thanks
Comment 4 Dennis Schridde 2016-05-08 21:12:28 UTC
(In reply to Amy Winston from comment #3)
> I wonder is this happening for you even with opencv-3.1.0-r1?

It ain't. I just tried.
Comment 5 Martux 2016-05-08 21:20:43 UTC
-r1 just compiled fine here.
Comment 6 Alexander 2016-05-14 11:28:52 UTC
Confirm, same problem.

Portage 2.2.28 (python 3.4.3-final-0, !../../var/lib/layman/distros/profiles/CLD/amd64, gcc-4.9.3, glibc-2.22-r4, 4.4.9-calculate x86_64)
=================================================================
System uname: Linux-4.4.9-calculate-x86_64-AMD_Phenom-tm-_II_X6_1055T_Processor-with-gentoo-15.17
KiB Mem:     8167100 total,   4052772 free
KiB Swap:    8388604 total,   6126772 free
Timestamp of repository gentoo: Fri, 13 May 2016 08:30:01 +0000
sh bash 4.3_p42-r1
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
ccache version 3.1.9 [disabled]
app-shells/bash:          4.3_p42-r1::gentoo
dev-lang/perl:            5.20.2::gentoo
dev-lang/python:          2.7.10-r1::gentoo, 3.4.3-r1::gentoo
dev-util/ccache:          3.1.9-r4::gentoo
dev-util/cmake:           3.3.2-r1::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.19.1::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.9.3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r4::gentoo
Repositories:

distros
    location: /var/lib/layman/distros
    masters: calculate gentoo
    priority: 0

calculate
    location: /var/lib/layman/calculate
    masters: gentoo
    priority: 1

stuff
    location: /var/lib/layman/stuff
    masters: gentoo
    priority: 2

steam-overlay
    location: /var/lib/layman/steam-overlay
    masters: gentoo
    priority: 3

gentoo
    location: /usr/portage
    sync-type: git
    sync-uri: git://git.calculate-linux.org/repo/gentoo.git
    priority: 4

Installed sets: @custom
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo"
CXXFLAGS="-O2 -march=native"
DISTDIR="/tmp"
EMERGE_DEFAULT_OPTS=" --quiet-build=n --with-bdeps=y --binpkg-respect-use=y --jobs=4 --jobs=6"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles http://distfiles.gentoo.org"
LANG="ru_RU.UTF-8"
LDFLAGS="-Wl,--as-needed"
MAKEOPTS="-j6"
PKGDIR="/var/calculate/packages/x86_64"
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 --exclude=/.git"
PORTAGE_TMPDIR="/var/calculate/tmp"
USE="3dnow 3dnowext X a52 aac acl acpi aes alsa amd64 amr audiofile avi avx bash-completion berkdb bittorrent bzip2 cairo cddb cdparanoia cdr chm cli consolekit cpudetection cracklib crypt css cue cups cxx dbus djvu dri dv dvd dvdr dvdread ebook encode exif faac ffmpeg flash fma3 fma4 foomaticdb fortran ftp gd gdbm gif gphoto2 gpm gstreamer gtk hunspell iconv id3tag imagemagick imap introspection irc jabber jpeg jpeg2k kde libnotify libwww lm_sensors logrotate lzo mad matroska mbox mikmod mmx mmxext modules mp3 mpeg mplayer multilib musepack ncurses networkmanager nfs nls nptl nsplugin ogg oggvorbis openal opencore-amr openexr opengl openmp oscar padlock pam pch pcre pdf png policykit popcnt portaudio pulseaudio qt3support qt5 quicktime raw rdesktop readline real scanner sdl seccomp semantic-desktop session smp speex spell srt sse sse2 sse3 sse4_1 sse4_2 sse4a ssl ssse3 svg tcpd tga theora threads tiff truetype udev udisks unicode usb userlocales v4l v4l2 vaapi vcd vdpau vhosts vorbis wavpack webkit webp win32codecs wmf wxwindows x264 x265 xanim xattr xcomposite xmp xop xv xvid xvmc zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="* ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="3dnow 3dnowext mmx mmxext popcnt sse sse2 sse3 sse4a" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64 efi-32 pc" INPUT_DEVICES="keyboard mouse evdev mutouch synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en ru ru_RU" LIRC_DEVICES="devinput" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21" THEMES="CLD" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 7 Amy Liffey gentoo-dev 2016-05-14 13:18:42 UTC
(In reply to Alexander from comment #6)
> Confirm, same problem.
> 
> Portage 2.2.28 (python 3.4.3-final-0,
> !../../var/lib/layman/distros/profiles/CLD/amd64, gcc-4.9.3, glibc-2.22-r4,
> 4.4.9-calculate x86_64)
> =================================================================
> System uname:
> Linux-4.4.9-calculate-x86_64-AMD_Phenom-tm-_II_X6_1055T_Processor-with-
> gentoo-15.17
> KiB Mem:     8167100 total,   4052772 free
> KiB Swap:    8388604 total,   6126772 free
> Timestamp of repository gentoo: Fri, 13 May 2016 08:30:01 +0000
> sh bash 4.3_p42-r1
> ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
> ccache version 3.1.9 [disabled]
> app-shells/bash:          4.3_p42-r1::gentoo
> dev-lang/perl:            5.20.2::gentoo
> dev-lang/python:          2.7.10-r1::gentoo, 3.4.3-r1::gentoo
> dev-util/ccache:          3.1.9-r4::gentoo
> dev-util/cmake:           3.3.2-r1::gentoo
> dev-util/pkgconfig:       0.28-r2::gentoo
> sys-apps/baselayout:      2.2::gentoo
> sys-apps/openrc:          0.19.1::gentoo
> sys-apps/sandbox:         2.10-r1::gentoo
> sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
> sys-devel/automake:       1.11.6-r1::gentoo, 1.13.4::gentoo, 1.14.1::gentoo,
> 1.15::gentoo
> sys-devel/binutils:       2.25.1-r1::gentoo
> sys-devel/gcc:            4.9.3::gentoo
> sys-devel/gcc-config:     1.7.3::gentoo
> sys-devel/libtool:        2.4.6::gentoo
> sys-devel/make:           4.1-r1::gentoo
> sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
> sys-libs/glibc:           2.22-r4::gentoo
> Repositories:
> 
> distros
>     location: /var/lib/layman/distros
>     masters: calculate gentoo
>     priority: 0
> 
> calculate
>     location: /var/lib/layman/calculate
>     masters: gentoo
>     priority: 1
> 
> stuff
>     location: /var/lib/layman/stuff
>     masters: gentoo
>     priority: 2
> 
> steam-overlay
>     location: /var/lib/layman/steam-overlay
>     masters: gentoo
>     priority: 3
> 
> gentoo
>     location: /usr/portage
>     sync-type: git
>     sync-uri: git://git.calculate-linux.org/repo/gentoo.git
>     priority: 4
> 
> Installed sets: @custom
> ACCEPT_KEYWORDS="amd64"
> ACCEPT_LICENSE="*"
> CBUILD="x86_64-pc-linux-gnu"
> CFLAGS="-O2 -march=native"
> CHOST="x86_64-pc-linux-gnu"
> CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt
> /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0"
> CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d
> /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild
> /etc/sandbox.d /etc/splash /etc/terminfo"
> CXXFLAGS="-O2 -march=native"
> DISTDIR="/tmp"
> EMERGE_DEFAULT_OPTS=" --quiet-build=n --with-bdeps=y --binpkg-respect-use=y
> --jobs=4 --jobs=6"
> FCFLAGS="-O2 -pipe"
> FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks
> ebuild-locks fixlafiles merge-sync news parallel-fetch parallel-install
> preserve-libs protect-owned sandbox sfperms strict unknown-features-warn
> unmerge-logs unmerge-orphans userfetch usersandbox usersync xattr"
> FFLAGS="-O2 -pipe"
> GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles
> http://distfiles.gentoo.org"
> LANG="ru_RU.UTF-8"
> LDFLAGS="-Wl,--as-needed"
> MAKEOPTS="-j6"
> PKGDIR="/var/calculate/packages/x86_64"
> 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 --exclude=/.git"
> PORTAGE_TMPDIR="/var/calculate/tmp"
> USE="3dnow 3dnowext X a52 aac acl acpi aes alsa amd64 amr audiofile avi avx
> bash-completion berkdb bittorrent bzip2 cairo cddb cdparanoia cdr chm cli
> consolekit cpudetection cracklib crypt css cue cups cxx dbus djvu dri dv dvd
> dvdr dvdread ebook encode exif faac ffmpeg flash fma3 fma4 foomaticdb
> fortran ftp gd gdbm gif gphoto2 gpm gstreamer gtk hunspell iconv id3tag
> imagemagick imap introspection irc jabber jpeg jpeg2k kde libnotify libwww
> lm_sensors logrotate lzo mad matroska mbox mikmod mmx mmxext modules mp3
> mpeg mplayer multilib musepack ncurses networkmanager nfs nls nptl nsplugin
> ogg oggvorbis openal opencore-amr openexr opengl openmp oscar padlock pam
> pch pcre pdf png policykit popcnt portaudio pulseaudio qt3support qt5
> quicktime raw rdesktop readline real scanner sdl seccomp semantic-desktop
> session smp speex spell srt sse sse2 sse3 sse4_1 sse4_2 sse4a ssl ssse3 svg
> tcpd tga theora threads tiff truetype udev udisks unicode usb userlocales
> v4l v4l2 vaapi vcd vdpau vhosts vorbis wavpack webkit webp win32codecs wmf
> wxwindows x264 x265 xanim xattr xcomposite xmp xop xv xvid xvmc zlib"
> ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106
> cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0
> intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci"
> APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias
> auth_basic authn_alias authn_anon authn_dbm authn_default authn_file
> authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user
> autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env
> expires ext_filter file_cache filter headers include info log_config logio
> mem_cache mime mime_magic negotiation rewrite setenvif speling status
> unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow
> plan sheets stage tables krita karbon braindump author" CAMERAS="* ptp2"
> COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog"
> CPU_FLAGS_X86="3dnow 3dnowext mmx mmxext popcnt sse sse2 sse3 sse4a"
> ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin
> garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle
> oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox
> ubx" GRUB_PLATFORMS="efi-64 efi-32 pc" INPUT_DEVICES="keyboard mouse evdev
> mutouch synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk
> hd44780 lb216 lcdm001 mtxorb ncurses text"
> LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en
> ru ru_RU" LIRC_DEVICES="devinput" OFFICE_IMPLEMENTATION="libreoffice"
> PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7"
> PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21" THEMES="CLD"
> USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan
> length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq
> steal rawnat logmark ipmark dhcpmac delude chaos account"
> Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL,
> PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS,
> PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

And opencv-3.1.0-r1 builds for you fine as well?

Amy
Comment 8 Alexander 2016-05-15 10:43:28 UTC
Yes.
Comment 9 Dennis Schridde 2016-05-21 10:25:44 UTC
The reason seems rather obvious: The (old) system file /usr/include/opencv2/xobjdetect.hpp is being included instead of the (new) file in the source tree opencv_contrib-3.1.0/modules/xobjdetect/include/opencv2/xobjdetect.hpp.

The reason for that is a wrong order of include directories in the call to GCC:
cd /var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0_build/modules/xobjdetect && /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC "-D__OPENCV_BUILD=1" "-DCVAPI_EXPORTS" -isystem"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0_build" -isystem"/usr/include" -isystem"/usr/include/eigen3" -isystem"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0_build" -isystem"/usr/include" -isystem"/usr/include/eigen3" -isystem"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv_contrib-3.1.0/modules/xobjdetect/include" -isystem"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv_contrib-3.1.0/modules/xobjdetect/src" -isystem"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0_build/modules/xobjdetect" -I"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0/modules/core/include" -I"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0/modules/imgproc/include" -I"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0/modules/ml/include" -I"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0/modules/imgcodecs/include" -I"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0/modules/videoio/include" -I"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0/modules/highgui/include" -I"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0/modules/objdetect/include" -pipe -O2 -march=bdver3 -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -fopenmp -DCVAPI_EXPORTS -x c++-header -o /var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0_build/modules/xobjdetect/precomp.hpp.gch/opencv_xobjdetect_Gentoo.gch /var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0_build/modules/xobjdetect/precomp.hpp

Here, -isystem"/usr/include" appears (several times) before -isystem"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv_contrib-3.1.0/modules/xobjdetect/include".

The reason for that is that ocv_target_include_directories() (called by ocv_define_module() in opencv_contrib-3.1.0/modules/xobjdetect/CMakeLists.txt) appends the include directories, instead of prepending them.
Comment 10 Amy Liffey gentoo-dev 2016-05-21 10:38:20 UTC
(In reply to Dennis Schridde from comment #9)
> The reason seems rather obvious: The (old) system file
> /usr/include/opencv2/xobjdetect.hpp is being included instead of the (new)
> file in the source tree
> opencv_contrib-3.1.0/modules/xobjdetect/include/opencv2/xobjdetect.hpp.
> 
> The reason for that is a wrong order of include directories in the call to
> GCC:
> cd
> /var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0_build/modules/
> xobjdetect && /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC "-D__OPENCV_BUILD=1"
> "-DCVAPI_EXPORTS"
> -isystem"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.
> 0_build" -isystem"/usr/include" -isystem"/usr/include/eigen3"
> -isystem"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.
> 0_build" -isystem"/usr/include" -isystem"/usr/include/eigen3"
> -isystem"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv_contrib-3.1.
> 0/modules/xobjdetect/include"
> -isystem"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv_contrib-3.1.
> 0/modules/xobjdetect/src"
> -isystem"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0_build/
> modules/xobjdetect"
> -I"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0/modules/
> core/include"
> -I"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0/modules/
> imgproc/include"
> -I"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0/modules/ml/
> include"
> -I"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0/modules/
> imgcodecs/include"
> -I"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0/modules/
> videoio/include"
> -I"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0/modules/
> highgui/include"
> -I"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0/modules/
> objdetect/include" -pipe -O2 -march=bdver3 -fsigned-char -W -Wall
> -Werror=return-type -Werror=non-virtual-dtor -Werror=address
> -Werror=sequence-point -Wformat -Werror=format-security
> -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow
> -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor
> -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse
> -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2
> -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -fopenmp
> -DCVAPI_EXPORTS -x c++-header -o
> /var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0_build/modules/
> xobjdetect/precomp.hpp.gch/opencv_xobjdetect_Gentoo.gch
> /var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv-3.1.0_build/modules/
> xobjdetect/precomp.hpp
> 
> Here, -isystem"/usr/include" appears (several times) before
> -isystem"/var/tmp/portage/media-libs/opencv-3.1.0-r2/work/opencv_contrib-3.1.
> 0/modules/xobjdetect/include".
> 
> The reason for that is that ocv_target_include_directories() (called by
> ocv_define_module() in
> opencv_contrib-3.1.0/modules/xobjdetect/CMakeLists.txt) appends the include
> directories, instead of prepending them.

If it's that obvious I will be happy to accept your patch :)


Thank you.

Amy
Comment 11 Dennis Schridde 2016-05-21 10:50:49 UTC
(In reply to Amy Winston from comment #10)
> If it's that obvious I will be happy to accept your patch :)

Maybe I should have been more specific: The reason why compilation fails is obvious. What is not obvious is why CMake / OpenCV's usage of it behaves in this way.

I am unable to figure out how that command line is actually being composed. opencv-3.1.0_build/modules/xobjdetect/CMakeFiles/opencv_xobjdetect.dir/flags.make or DependInfo.cmake contain no hint of "/usr/include", but still it appears in opencv-3.1.0_build/modules/xobjdetect/CMakeFiles/pch_Generate_opencv_xobjdetect.dir/build.make, which ultimately causes the build to fail.

Maybe someone with more CMake experience can help?
Comment 12 Dennis Schridde 2016-05-21 10:52:09 UTC
P.S: In case anyone else wonders: https://github.com/Itseez/opencv_contrib/commit/53b3deed6f2b82aee41fa27712db7052f35a22fb does not fix this bug.
Comment 13 Dennis Schridde 2016-05-21 10:59:22 UTC
(In reply to Dennis Schridde from comment #9)
> The reason for that is that ocv_target_include_directories() (called by
> ocv_define_module() in
> opencv_contrib-3.1.0/modules/xobjdetect/CMakeLists.txt) appends the include
> directories, instead of prepending them.

P.P.S. This is slightly wrong, I just missed to rephrase it: All the module's local directories are being added via target_include_directories(), called in ocv_target_include_directories(), when ocv_define_module() is being called. However, when actually building, -isystem".../opencv-3.1.0_build" -isystem"/usr/include" -isystem"/usr/include/eigen3" -isystem".../work/opencv-3.1.0_build" -isystem"/usr/include" -isystem"/usr/include/eigen3" suddenly appears even before them on the commandline out of thin air.
Comment 14 Dennis Schridde 2016-05-21 11:11:25 UTC
What is particularly confusing, is that the CMake docs say that the INCLUDE_DIRECTORIES used to compile a specific target are initialised with the directory INCLUDE_DIRECTORIES, and target_include_directories() then adds to that [1]. However, I don't see "/usr/include" appearing in a call to target_include_directories(). So I conclude that it comes from the directory property. But using the BEFORE argument in the calls to target_include_directories() does not change the order in which they appear on the command line. It appears as if "/usr/include" does not stem from the initial value of the INCLUDE_DIRECTORIES target property, either...

[1]: https://cmake.org/cmake/help/v3.5/prop_tgt/INCLUDE_DIRECTORIES.html#prop_tgt:INCLUDE_DIRECTORIES
Comment 15 Amy Liffey gentoo-dev 2016-05-21 11:57:23 UTC
(In reply to Dennis Schridde from comment #14)
> What is particularly confusing, is that the CMake docs say that the
> INCLUDE_DIRECTORIES used to compile a specific target are initialised with
> the directory INCLUDE_DIRECTORIES, and target_include_directories() then
> adds to that [1]. However, I don't see "/usr/include" appearing in a call to
> target_include_directories(). So I conclude that it comes from the directory
> property. But using the BEFORE argument in the calls to
> target_include_directories() does not change the order in which they appear
> on the command line. It appears as if "/usr/include" does not stem from the
> initial value of the INCLUDE_DIRECTORIES target property, either...
> 
> [1]:
> https://cmake.org/cmake/help/v3.5/prop_tgt/INCLUDE_DIRECTORIES.html#prop_tgt:
> INCLUDE_DIRECTORIES

Well my point of asking everyone if r1 works was that I would rather use old contrib for new opencv since new contrib is very buggy. Unfortunatelly I don't have time to fix all those bugs.

So my solutions would be drop r2 version. What do you think about it?
Comment 16 Amy Liffey gentoo-dev 2016-05-21 12:03:35 UTC
(In reply to Dennis Schridde from comment #12)
> P.S: In case anyone else wonders:
> https://github.com/Itseez/opencv_contrib/commit/
> 53b3deed6f2b82aee41fa27712db7052f35a22fb does not fix this bug.

And yes this commit was fixing other opencv bug.
Comment 17 Dennis Schridde 2016-05-21 13:11:16 UTC
(In reply to Amy Winston from comment #15)
> So my solutions would be drop r2 version. What do you think about it?

Unless someone has a bright idea what causes this, I'd also be in favour of dropping r2.
Comment 18 Dennis Schridde 2016-05-21 13:22:55 UTC
See-Also: https://github.com/Itseez/opencv_contrib/issues/675
Comment 19 Amy Liffey gentoo-dev 2016-05-28 11:53:28 UTC
Version is not in tree any more.

Amy
Comment 20 Dennis Schridde 2016-05-28 17:23:37 UTC
(In reply to Amy Winston from comment #19)
> Version is not in tree any more.

I forgot to mention that, but from trying to track down the bug through the build system, I think it probably also exists in -r1, but I does not manifest as a compilation failure. I.e. -r1 probably also uses the wrong (i.e. system) headers when compiling opencv, but as I have -r1 installed already, those are the same as the source headers and hence compatible. In -r2 the contents of some headers was moved and thus the source headers from -r2 are incompatible with the system headers installed by -r1, which ultimately leads to the symptoms described here.

tl;dr: The bug probably exists also in other versions and not just -r2 and will likely show up whenever the system opencv headers are incompatible to the source headers.
Comment 21 Amy Liffey gentoo-dev 2016-05-28 17:32:19 UTC
(In reply to Dennis Schridde from comment #20)
> (In reply to Amy Winston from comment #19)
> > Version is not in tree any more.
> 
> I forgot to mention that, but from trying to track down the bug through the
> build system, I think it probably also exists in -r1, but I does not
> manifest as a compilation failure. I.e. -r1 probably also uses the wrong
> (i.e. system) headers when compiling opencv, but as I have -r1 installed
> already, those are the same as the source headers and hence compatible. In
> -r2 the contents of some headers was moved and thus the source headers from
> -r2 are incompatible with the system headers installed by -r1, which
> ultimately leads to the symptoms described here.
> 
> tl;dr: The bug probably exists also in other versions and not just -r2 and
> will likely show up whenever the system opencv headers are incompatible to
> the source headers.

You should note that opencv_contrib is experimental as almost whole opencv is. 
If you want to use stable version of opencv please use 2.4.12.


I will try to look at these and make some small changes to the new revision bump in next few months. Patches or ideas are welcome. You can also reach me on irc.

Thank you 

Amy
Comment 22 Dennis Schridde 2016-05-29 05:47:01 UTC
See-Also: bug #584428
Comment 23 Martux 2016-06-04 20:16:04 UTC
No idea if this is still related, but media-libs/opencv-3.1.0-r3 fails for me too.
Comment 24 Martux 2016-06-04 20:17:25 UTC
No idea if this is still related, but media-libs/opencv-3.1.0-r3 fails for me too.
Comment 25 Siuchung Cheung (Clement) 2016-07-17 00:18:19 UTC
Still having this problem on r4.

Yes, r1 works. But it triggers BUG588958.
Comment 26 Jonathan Scruggs (RETIRED) gentoo-dev 2016-11-11 10:54:44 UTC
Is this still an issue for OpenCV 3.1.0-r6? I updated the the contrib modules to a much later date in hoping this fixes the issue. It compiles fine for me, but would like others to test the new revision.

Cheers.
Comment 27 Jonathan Scruggs (RETIRED) gentoo-dev 2016-11-14 16:07:21 UTC
No response, so closing as resolved. If it's not, please ask for this bug to be reopened.