Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 676806 - www-client/firefox-65.0 - .../work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:693:44: error: 'VP8E_SET_GF_CBR_BOOST_PCT' was not declared in this scope
Summary: www-client/firefox-65.0 - .../work/firefox-65.0/media/webrtc/trunk/webrtc/mod...
Status: RESOLVED DUPLICATE of bug 676762
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-29 15:26 UTC by Andre Müller
Modified: 2019-01-29 16:47 UTC (History)
0 users

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


Attachments
firefox-65.0 build log (build.log.xz,101.57 KB, application/x-xz)
2019-01-29 15:26 UTC, Andre Müller
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andre Müller 2019-01-29 15:26:40 UTC
Created attachment 563192 [details]
firefox-65.0 build log

Compilation of firefox-65.0 fails for me.
The full build log is attached as .xz

The offending snippet seems to be:
[...]
8 6:44.18 /tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/tr
unk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc: In member function 'int 
webrtc::VP8EncoderImpl::InitAndSetControlSettings()':
8 6:44.18 /tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:693:44: error: 'VP8E_SET_GF_CBR_BOOST_PCT' was not declared in this scope
8 6:44.18          vpx_codec_control(&(encoders_[i]), VP8E_SET_GF_CBR_BOOST_PCT,
8 6:44.18                                             ^
8 6:44.18 /tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:693:44: note: suggested alternative: 'VP9E_SET_GF_CBR_BOOST_PCT'
8 6:44.18 /tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:693:9: error: 'vpx_codec_control_VP8E_SET_GF_CBR_BOOST_PCT' was not declared in this scope
8 6:44.18          vpx_codec_control(&(encoders_[i]), VP8E_SET_GF_CBR_BOOST_PCT,
8 6:44.18          ^
8 6:44.18 /tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:693:9: note: suggested alternative: 'vpx_codec_control_VP9E_SET_GF_CBR_BOOST_PCT'
8 6:44.18 /tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc: In member function 'virtual int webrtc::VP8DecoderImpl::Decode(const webrtc::EncodedImage&, bool, const webrtc::RTPFragmentationHeader*, const webrtc::CodecSpecificInfo*, int64_t)':
8 6:44.18 /tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:1192:35: error: 'VPXD_GET_LAST_QUANTIZER' was not declared in this scope
8 6:44.18        vpx_codec_control(decoder_, VPXD_GET_LAST_QUANTIZER, &qp);
8 6:44.19                                    ^
8 6:44.19 /tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:1192:35: note: suggested alternative: 'VP8E_GET_LAST_QUANTIZER'
8 6:44.19 /tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:1192:7: error: 'vpx_codec_control_VPXD_GET_LAST_QUANTIZER' was not declared in this scope
8 6:44.19        vpx_codec_control(decoder_, VPXD_GET_LAST_QUANTIZER, &qp);
8 6:44.19        ^
8 6:44.19 /tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:1192:7: note: suggested alternative: 'vpx_codec_control_VP8E_GET_LAST_QUANTIZER'
8 6:44.19 gmake[4]: *** [/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/config/rules.mk:1133: Unified_cpp_webrtc_vp8_gn0.o] Error 1
8 6:44.19 gmake[4]: Leaving directory '/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp8_gn'
8 6:44.19 gmake[3]: *** [/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/config/recurse.mk:74: media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp8_gn/target] Error 2
8 6:44.19 gmake[3]: *** Waiting for unfinished jobs....


===================

# emerge -pqv '=www-client/firefox-65.0::gentoo'
[ebuild     U ] www-client/firefox-65.0 [64.0.2] USE="eme-free hardened screenshot system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite system-webp%* -bindist -clang -custom-cflags -custom-optimization -dbus -debug -geckodriver -gmp-autoupdate -hwaccel -jack -lto (-neon) -pgo% -pulseaudio (-selinux) -startup-notification -test -wayland% -wifi" L10N="-ach -af -an -ar -as -ast -az -bg -bn-BD -bn-IN -br -bs -ca -cak -cs -cy -da -de -dsb -el -en-GB -en-ZA -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mai -mk -ml -mr -ms -nb -nl -nn -or -pa -pl -pt-BR -pt-PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv -ta -te -th -tr -uk -uz -vi -xh -zh-CN -zh-TW" 

====

# emerge --info '=www-client/firefox-65.0::gentoo'
Portage 2.3.51 (python 3.6.5-final-0, default/linux/amd64/17.0/no-multilib, gcc-7.3.0, glibc-2.27-r6, 4.20.5 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.20.5-x86_64-Intel-R-_Core-TM-_i7-6700_CPU_@_3.40GHz-with-gentoo-2.6
KiB Mem:    16289652 total,   7193344 free
KiB Swap:   16777212 total,  16775676 free
Timestamp of repository gentoo: Tue, 29 Jan 2019 12:30:01 +0000
Head commit of repository gentoo: f6b1e98dafd989b7d8e297cfa52a42946b83468a
sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.30 p5) 2.30.0
app-shells/bash:          4.4_p23-r1::gentoo
dev-lang/perl:            5.26.2::gentoo
dev-lang/python:          2.7.15::gentoo, 3.6.5::gentoo
dev-util/cmake:           3.9.6::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.38.3-r1::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.11.6-r3::gentoo, 1.16.1-r1::gentoo
sys-devel/binutils:       2.30-r4::gentoo
sys-devel/gcc:            7.3.0-r3::gentoo
sys-devel/gcc-config:     2.0::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.14-r1::gentoo (virtual/os-headers)
sys-libs/glibc:           2.27-r6::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-max-age: 24
    sync-rsync-extra-opts: 
    sync-rsync-verify-jobs: 1

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /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/init.d /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=native"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--rebuild-if-new-rev n --misspell-suggestions n"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN 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"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict 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="C"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j8"
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="/tmp"
USE="X amd64 berkdb bzip2 cairo cli crypt cxx dri fortran gdbm hardened iconv ipv6 jpeg libtirpc minimal ncurses nptl opengl openmp pcre png readline seccomp ssl tcpd tiff unicode 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="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 sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock 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" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-1" POSTGRES_TARGETS="postgres9_5 postgres10" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python3_6" RUBY_TARGETS="ruby24" USERLAND="GNU" VIDEO_CARDS="intel" 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, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Armitage 2019-01-29 15:39:07 UTC
Same problem here while compiling with clang-7.0.1.

38:18.90 In file included from /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp8_gn/Unified_cpp_webrtc_vp8_gn0.cpp:38:
38:18.90 /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:693:44: error: use of undeclared identifier 'VP8E_SET_GF_CBR_BOOST_PCT'
38:18.90         vpx_codec_control(&(encoders_[i]), VP8E_SET_GF_CBR_BOOST_PCT,
38:18.90                                            ^
38:18.90 /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:1192:35: error: use of undeclared identifier 'VPXD_GET_LAST_QUANTIZER'
38:18.90       vpx_codec_control(decoder_, VPXD_GET_LAST_QUANTIZER, &qp);
38:18.91                                   ^
38:18.91 2 errors generated.
38:18.91 gmake[5]: *** [/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/config/rules.mk:1133: Unified_cpp_webrtc_vp8_gn0.i_o] Error 1
38:18.91 gmake[5]: Leaving directory '/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp8_gn'
38:18.91 gmake[4]: *** [/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/config/recurse.mk:74: media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp8_gn/target] Error 2
Comment 2 Armitage 2019-01-29 15:59:24 UTC
I think that media-libs/libvpx >= 1.7.0 is needed in order to compile Firefox-65.0.

I'm testing it now and I'll let you know.
Comment 3 Armitage 2019-01-29 16:11:16 UTC
For now, after checking the libvpx code, it seems that I'm on the right direction. With libvpx-1.5.0, which is the stable version, the VP8E_SET_GF_CBR_BOOST_PCT and VPXD_GET_LAST_QUANTIZER are not defined.

# find libvpx-1.5.0/ -type f -exec grep VP8E_SET_GF_CBR_BOOST_PCT {} +
# find libvpx-1.5.0/ -type f -exec grep VPXD_GET_LAST_QUANTIZER {} +


The both find commands return no results. But on libvpx-1.7.0 are present:

# find libvpx-1.7.0/ -type f -exec grep VPXD_GET_LAST_QUANTIZER {} +
libvpx-1.7.0/vp8/vp8_dx_iface.c:  { VPXD_GET_LAST_QUANTIZER, vp8_get_quantizer },
libvpx-1.7.0/vpx/vp8dx.h:  VPXD_GET_LAST_QUANTIZER,
libvpx-1.7.0/vpx/vp8dx.h:VPX_CTRL_USE_TYPE(VPXD_GET_LAST_QUANTIZER, int *)
libvpx-1.7.0/vpx/vp8dx.h:#define VPX_CTRL_VPXD_GET_LAST_QUANTIZER
libvpx-1.7.0/vp9/vp9_dx_iface.c:  { VPXD_GET_LAST_QUANTIZER, ctrl_get_quantizer },
libvpx-1.7.0/vpxdec.c:          if (vpx_codec_control(&decoder, VPXD_GET_LAST_QUANTIZER, &qp)) {
libvpx-1.7.0/vpxdec.c:            warn("Failed VPXD_GET_LAST_QUANTIZER: %s",

# find libvpx-1.7.0/ -type f -exec grep VP8E_SET_GF_CBR_BOOST_PCT {} +
libvpx-1.7.0/examples/vpx_temporal_svc_encoder.c:    vpx_codec_control(&codec, VP8E_SET_GF_CBR_BOOST_PCT, 0);
libvpx-1.7.0/test/datarate_test.cc:      encoder->Control(VP8E_SET_GF_CBR_BOOST_PCT, gf_boost_);
libvpx-1.7.0/vp8/vp8_cx_iface.c:  extra_cfg.gf_cbr_boost_pct = CAST(VP8E_SET_GF_CBR_BOOST_PCT, args);
libvpx-1.7.0/vp8/vp8_cx_iface.c:  { VP8E_SET_GF_CBR_BOOST_PCT, ctrl_set_rc_gf_cbr_boost_pct },
libvpx-1.7.0/vpx/vp8cx.h:  VP8E_SET_GF_CBR_BOOST_PCT,
libvpx-1.7.0/vpx/vp8cx.h:VPX_CTRL_USE_TYPE(VP8E_SET_GF_CBR_BOOST_PCT, unsigned int)
libvpx-1.7.0/vpx/vp8cx.h:#define VPX_CTRL_VP8E_SET_GF_CBR_BOOST_PCT
libvpx-1.7.0/vpxenc.c:                                        VP8E_SET_GF_CBR_BOOST_PCT,

I did not check if VP8E_SET_GF_CBR_BOOST_PCT and VPXD_GET_LAST_QUANTIZER are defined in libvpx-1.6.0.

Firefox is still compiling, I'll let you know once it finish.
Comment 4 Armitage 2019-01-29 16:25:55 UTC
I checked that VP8E_SET_GF_CBR_BOOST_PCT and VPXD_GET_LAST_QUANTIZER are not defined on libvpx-1.6.0.

So the Firefox-65.0 ebuild should be patched like that:

@@ -88,7 +88,7 @@
        system-icu? ( >=dev-libs/icu-60.2:= )
        system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
        system-libevent? ( >=dev-libs/libevent-2.0:0= )
-       system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] )
+       system-libvpx? ( >=media-libs/libvpx-1.7.0:0=[postproc] )
        system-sqlite? ( >=dev-db/sqlite-3.25.3:3[secure-delete,debug=] )
        system-webp? ( >=media-libs/libwebp-1.0.1:0= )
        wifi? ( kernel_linux? ( >=sys-apps/dbus-0.60
Comment 5 William Seager 2019-01-29 16:28:13 UTC
I can confirm firefox 65 builds with libvpx-1.7.0
Comment 6 Thomas Deutschmann (RETIRED) gentoo-dev 2019-01-29 16:42:10 UTC

*** This bug has been marked as a duplicate of bug 676762 ***
Comment 7 Andre Müller 2019-01-29 16:47:06 UTC
I can confirm it builds against libvpx-1.7.0

Thanks Armitage, all!