Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 832529 - media-libs/opencv-4.5.2-r{3,5} - caffe_io.cpp:1114:35: error: no matching function for call to ‘google::protobuf::io::CodedInputStream::SetTotalBytesLimit(const int&, int)’
Summary: media-libs/opencv-4.5.2-r{3,5} - caffe_io.cpp:1114:35: error: no matching fun...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Paul Zander
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-02-02 04:04 UTC by Bernd
Modified: 2024-04-21 17:53 UTC (History)
2 users (show)

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


Attachments
opencv-4.5.2-r3:20220201-114322.log (opencv-4.5.2-r3:20220201-114322.log,369.19 KB, text/plain)
2022-02-02 04:05 UTC, Bernd
Details
opencv-4.5.2-r5:20220201-120433.log (opencv-4.5.2-r5:20220201-120433.log,368.77 KB, text/plain)
2022-02-02 04:06 UTC, Bernd
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bernd 2022-02-02 04:04:39 UTC
I have protobuf-3.18.2 installed. The error is:

FAILED: modules/dnn/CMakeFiles/opencv_dnn.dir/src/caffe/caffe_io.cpp.o 
/usr/bin/x86_64-pc-linux-gnu-g++ -DCVAPI_EXPORTS -DHAVE_PROTOBUF=1 -DOPENCV_DNN_EXTERNAL_PROTOBUF=1 -D_USE_MAT
H_DEFINES -D__OPENCV_BUILD=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/var/tmp/
portage/media-libs/opencv-4.5.2-r5/work/opencv-4.5.2/modules/dnn/include -I/var/tmp/portage/media-libs/opencv-
4.5.2-r5/work/opencv-4.5.2_build-abi_x86_64.amd64/modules/dnn -I/var/tmp/portage/media-libs/opencv-4.5.2-r5/wo
rk/opencv-4.5.2/modules/core/include -I/var/tmp/portage/media-libs/opencv-4.5.2-r5/work/opencv-4.5.2/modules/i
mgproc/include -isystem /var/tmp/portage/media-libs/opencv-4.5.2-r5/work/opencv-4.5.2_build-abi_x86_64.amd64 -
isystem /usr/include/eigen3  -O2 -pipe -march=znver2 -frecord-gcc-switches -fstack-protector-strong -fstack-ch
eck   -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-poi
nt -Wformat -Werror=format-security -Wundef -Winit-self -Wpointer-arith -Wsign-promo -Wuninitialized -Wsuggest
-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostic
s-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -
msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mf16c -mfma -mavx -mavx2 -fvisibility=hidden -fvisibility-inlines-hi
dden -fopenmp -Wno-deprecated -Wno-missing-declarations -Wno-shadow -Wno-unused-parameter -Wno-sign-compare -W
no-invalid-offsetof -fPIC -std=c++11 -MD -MT modules/dnn/CMakeFiles/opencv_dnn.dir/src/caffe/caffe_io.cpp.o -M
F modules/dnn/CMakeFiles/opencv_dnn.dir/src/caffe/caffe_io.cpp.o.d -o modules/dnn/CMakeFiles/opencv_dnn.dir/sr
c/caffe/caffe_io.cpp.o -c /var/tmp/portage/media-libs/opencv-4.5.2-r5/work/opencv-4.5.2/modules/dnn/src/caffe/
caffe_io.cpp
/var/tmp/portage/media-libs/opencv-4.5.2-r5/work/opencv-4.5.2/modules/dnn/src/caffe/caffe_io.cpp: In function 
‘bool cv::dnn::ReadProtoFromBinary(google::protobuf::io::ZeroCopyInputStream*, google::protobuf::Message*)’:
/var/tmp/portage/media-libs/opencv-4.5.2-r5/work/opencv-4.5.2/modules/dnn/src/caffe/caffe_io.cpp:1114:35: erro
r: no matching function for call to ‘google::protobuf::io::CodedInputStream::SetTotalBytesLimit(const int&, in
t)’
 1114 |     coded_input.SetTotalBytesLimit(kProtoReadBytesLimit, 536870912);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /var/tmp/portage/media-libs/opencv-4.5.2-r5/work/opencv-4.5.2/modules/dnn/src/caffe/caff
e_io.cpp:93:
/usr/include/google/protobuf/io/coded_stream.h:401:8: note: candidate: ‘void google::protobuf::io::CodedInputS
tream::SetTotalBytesLimit(int)’
  401 |   void SetTotalBytesLimit(int total_bytes_limit);
      |        ^~~~~~~~~~~~~~~~~~
/usr/include/google/protobuf/io/coded_stream.h:401:8: note:   candidate expects 1 argument, 2 provided


Reproducible: Always




I was testing packages to build against vtk-9.1.0 when this bug happened.

Portage 3.0.30 (python 3.9.10-final-0, default/linux/amd64/17.1/systemd, gcc-11.2.1, glibc-2.34-r7, 5.15.17-gentoo-0 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.15.17-gentoo-0-x86_64-AMD_Ryzen_7_3800X_8-Core_Processor-with-glibc2.34
KiB Mem:    32824732 total,   6004016 free
KiB Swap:   33554428 total,  31239740 free
Head commit of repository gentoo-git: f36f069e888843369d525b0e67bf7c76f9a80cde

Head commit of repository waebbl: 7fdece0c0c77413afbb0817ba3397a9147830bbc

Timestamp of repository gentoo: Tue, 01 Feb 2022 11:07:12 +0000
Head commit of repository gentoo: fa958dad0484c811e65b8565bfce6a353a749d51

sh bash 5.1_p16
ld GNU ld (Gentoo 2.37_p1 p2) 2.37
app-misc/pax-utils:        1.3.3::gentoo
app-shells/bash:           5.1_p16::gentoo
dev-lang/perl:             5.34.0-r6::gentoo
dev-lang/python:           3.8.12_p1-r2::gentoo, 3.9.10-r1::gentoo-git, 3.10.2-r1::gentoo-git
dev-util/cmake:            3.21.4::gentoo
dev-util/meson:            0.60.3::gentoo
sys-apps/baselayout:       2.8::gentoo
sys-apps/sandbox:          2.29::gentoo
sys-apps/systemd:          250.3::gentoo
sys-devel/autoconf:        2.71-r1::gentoo
sys-devel/automake:        1.16.5::gentoo
sys-devel/binutils:        2.37_p1-r2::gentoo-git
sys-devel/binutils-config: 5.4::gentoo
sys-devel/gcc:             11.2.1_p20220115::gentoo
sys-devel/gcc-config:      2.5-r1::gentoo
sys-devel/libtool:         2.4.6-r6::gentoo
sys-devel/llvm:            13.0.0::gentoo
sys-devel/make:            4.3::gentoo
sys-kernel/linux-headers:  5.16::gentoo (virtual/os-headers)
sys-libs/glibc:            2.34-r7::gentoo-git
Repositories:

gentoo-git
    location: /var/db/repos/gentoo-git
    sync-type: git
    sync-uri: https://github.com/waebbl/gentoo.git
    masters: gentoo
    priority: 99

waebbl
    location: /var/db/repos/waebbl
    sync-type: git
    sync-uri: https://github.com/waebbl/waebbl-gentoo.git
    masters: gentoo
    priority: 99

gentoo
    location: /var/db/repos/gentoo
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo.git
    priority: 100

Installed sets: @tools
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=znver2 -frecord-gcc-switches -fstack-protector-strong -fstack-check"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=znver2 -frecord-gcc-switches -fstack-protector-strong -fstack-check"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--complete-graph --keep-going --fail-clean --usepkg --buildpkg --buildpkg-exclude='x11-drivers/nvidia-drivers virtual/* acct-group/* acct-user/* app-eselect/* dev-util/nvidia-cuda-toolkit' --autounmask=n --binpkg-respect-use=y --binpkg-changed-deps=y"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe -march=znver2 -frecord-gcc-switches -fstack-protector-strong -fstack-check"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg buildpkg-live buildsyspkg cgroup clean-logs config-protect-if-modified distlocks ebuild-locks fail-clean fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms sign split-elog split-log strict strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -march=znver2 -frecord-gcc-switches -fstack-protector-strong -fstack-check"
GENTOO_MIRRORS="https://ftp.fau.de/gentoo/ https://ftp-stud.hs-esslingen.de/pub/Mirrors/Gentoo/"
LANG="C.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0"
MAKEOPTS="-j4"
PKGDIR="/var/cache/binpkgs"
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/portage-ondisk"
SHELL="/bin/bash"
USE="X acl amd64 bzip2 cli crypt dri fortran gdbm iconv ipv6 libglvnd libtirpc multilib ncurses nls nptl openmp pam pcre readline seccomp split-usr ssl systemd udev unicode xattr zlib" ABI_X86="64" ADA_TARGET="gnat_2020" 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="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" RUBY_TARGETS="ruby26 ruby27" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LEX, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 Bernd 2022-02-02 04:05:41 UTC
Created attachment 764167 [details]
opencv-4.5.2-r3:20220201-114322.log

build log for 4.5.2-r3
Comment 2 Bernd 2022-02-02 04:06:15 UTC
Created attachment 764168 [details]
opencv-4.5.2-r5:20220201-120433.log

build log for 4.5.2-r5
Comment 3 Bernd 2022-02-02 04:07:00 UTC
(chroot multi) artus /etc # emerge -pqv =opencv-4.5.2-r5
[ebuild     UD] media-libs/opencv-4.5.2-r5 [4.5.5] USE="eigen features2d openmp python vtk -contrib -contribcvv -contribdnn -contribfreetype -contribhdf (-contribovis) -contribsfm -contribxfeatures2d -cuda -debug -dnnsamples -download -examples -ffmpeg -gdal -gflags -glog -gphoto2 -gstreamer -gtk3 -ieee1394 -java -jpeg -jpeg2k -lapack -lto -opencl -opencvapps -openexr -opengl -png -qt5 -tesseract -testprograms -threads -tiff -v4l -vaapi -webp -xine" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="avx avx2 f16c fma3 popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3 -avx512f" PYTHON_TARGETS="python3_9 -python3_8 -python3_10"
Comment 4 Arfrever Frehtes Taifersar Arahesis 2022-02-02 04:54:26 UTC
> /var/tmp/portage/media-libs/opencv-4.5.2-r5/work/opencv-4.5.2/modules/dnn/src/caffe/caffe_io.cpp: In function ‘bool cv::dnn::ReadProtoFromBinary(google::protobuf::io::ZeroCopyInputStream*, google::protobuf::Message*)’:
> /var/tmp/portage/media-libs/opencv-4.5.2-r5/work/opencv-4.5.2/modules/dnn/src/caffe/caffe_io.cpp:1114:35: error: no matching function for call to ‘google::protobuf::io::CodedInputStream::SetTotalBytesLimit(const int&, int)’
>  1114 |     coded_input.SetTotalBytesLimit(kProtoReadBytesLimit, 536870912);
>       |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /var/tmp/portage/media-libs/opencv-4.5.2-r5/work/opencv-4.5.2/modules/dnn/src/caffe/caffe_io.cpp:93:
> /usr/include/google/protobuf/io/coded_stream.h:401:8: note: candidate: ‘void google::protobuf::io::CodedInputStream::SetTotalBytesLimit(int)’
>   401 |   void SetTotalBytesLimit(int total_bytes_limit);
>       |        ^~~~~~~~~~~~~~~~~~
> /usr/include/google/protobuf/io/coded_stream.h:401:8: note:   candidate expects 1 argument, 2 provided


This is known incompatibility with >=dev-libs/protobuf-3.18:
https://github.com/protocolbuffers/protobuf/pull/8794
https://github.com/protocolbuffers/protobuf/commit/cda795437d00a15f375d3d5e2659adac715459c6

Second argument of function google::protobuf::io::CodedInputStream::SetTotalBytesLimit() was ignored for long time.
Comment 5 Arfrever Frehtes Taifersar Arahesis 2022-02-02 05:00:11 UTC
Amy Liffey:

In media-libs/opencv ebuilds:

$ grep dev-libs/protobuf opencv-*.ebuild
opencv-4.5.2-r3.ebuild: <dev-libs/protobuf-3.19:=[${MULTILIB_USEDEP}]
opencv-4.5.2-r5.ebuild: <dev-libs/protobuf-3.19:=[${MULTILIB_USEDEP}]
opencv-4.5.4.ebuild:    dev-libs/protobuf:=[${MULTILIB_USEDEP}]
opencv-4.5.5.ebuild:    dev-libs/protobuf:=[${MULTILIB_USEDEP}]
$ grep KEYWORDS= opencv-*.ebuild
opencv-4.5.2-r3.ebuild:KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
opencv-4.5.2-r5.ebuild:KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
opencv-4.5.4.ebuild:KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
opencv-4.5.5.ebuild:KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"

So media-libs/opencv-4.5.4 is already stable, and =media-libs/opencv-4.5.2* can be deleted.

If you really need to keep =media-libs/opencv-4.5.2*, then please add trivial patch fixing call to function google::protobuf::io::CodedInputStream::SetTotalBytesLimit(), instead of depending on old dev-libs/protobuf.


I want to delete old dev-libs/protobuf soon...
Comment 6 Bernd 2022-02-02 15:39:14 UTC
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #4)
> This is known incompatibility with >=dev-libs/protobuf-3.18:
> https://github.com/protocolbuffers/protobuf/pull/8794
> https://github.com/protocolbuffers/protobuf/commit/
> cda795437d00a15f375d3d5e2659adac715459c6
> 
> Second argument of function
> google::protobuf::io::CodedInputStream::SetTotalBytesLimit() was ignored for
> long time.

I had protobuf-3.18.2 installed at the time of build, as is also shown in the cmake configuration output summary.

(In reply to Arfrever Frehtes Taifersar Arahesis from comment #5)
> Amy Liffey:
> 
> So media-libs/opencv-4.5.4 is already stable, and =media-libs/opencv-4.5.2*
> can be deleted.
> 
> If you really need to keep =media-libs/opencv-4.5.2*, then please add
> trivial patch fixing call to function
> google::protobuf::io::CodedInputStream::SetTotalBytesLimit(), instead of
> depending on old dev-libs/protobuf.

I don't need 4.5.2 at all, but was just testing compatibility against vtk-9.1.0 which I'd like the get unmasked. So I was trying to identify packages or versions which won't work.

I'd support to remove these versions.