Closed Bug 1523611 Opened 10 months ago Closed 10 months ago

Firefox 65+ isn't enforcing >=libvpx-1.7.0 requirement

Categories

(Core :: WebRTC: Audio/Video, defect)

65 Branch
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
firefox65 + fixed
firefox66 --- fixed
firefox67 --- fixed

People

(Reporter: whissi, Assigned: padenot)

References

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0

Steps to reproduce:

Building Firefox 65 with system's <libvpx-1.7.0 will fail with following error:

34:32.92 /usr/bin/x86_64-pc-linux-gnu-g++ -o Unified_cpp_webrtc_vp8_gn0.o -c -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/dist/stl_wrappers -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/dist/system_wrappers -include /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/config/gcc_hidden.h -DNDEBUG -DTRIMMED=1 -DCHROMIUM_BUILD -DV8_DEPRECATION_WARNINGS -DWEBRTC_ENABLE_PROTOBUF=0 -DWEBRTC_MOZILLA_BUILD -DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0 -DWEBRTC_RESTRICT_LOGGING -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DNVALGRIND -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DWEBRTC_LINUX -DWEBRTC_POSIX -D_FILE_OFFSET_BITS=64 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp8_gn -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp8_gn -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/ipc/ipdl/ipdlheaders -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ipc/chromium/src -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ipc/glue -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/libyuv/libyuv/include -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/common_video/include -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/dist/include -fPIC -DMOZILLA_CLIENT -include /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/mozilla-config.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wc++1z-compat -Wduplicated-cond -Wimplicit-fallthrough -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wformat -Wformat-security -Wformat-overflow=2 -fno-sized-deallocation -march=corei7 -pipe -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns -fno-schedule-insns2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -O2 -fomit-frame-pointer -funwind-tables -MD -MP -MF .deps/Unified_cpp_webrtc_vp8_gn0.o.pp -fdiagnostics-color /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
34:32.92 In file included from /usr/include/vpx/vp8.h:33:0,
34:32.92 from /usr/include/vpx/vp8cx.h:18,
34:32.92 from /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/dist/system_wrappers/vpx/vp8cx.h:3,
34:32.92 from /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc:27,
34:32.92 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:2:
34:32.92 /var/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 'int webrtc::VP8EncoderImpl::InitAndSetControlSettings()':
34:32.92 /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: 'VP8E_SET_GF_CBR_BOOST_PCT' was not declared in this scope
34:32.92 vpx_codec_control(&(encoders
[i]), VP8E_SET_GF_CBR_BOOST_PCT,
34:32.92 ^
34:32.92 /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: note: suggested alternative: 'VP9E_SET_GF_CBR_BOOST_PCT'
34:32.92 /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:9: error: 'vpx_codec_control_VP8E_SET_GF_CBR_BOOST_PCT' was not declared in this scope
34:32.92 vpx_codec_control(&(encoders_[i]), VP8E_SET_GF_CBR_BOOST_PCT,
34:32.92 ^
34:32.93 /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:9: note: suggested alternative: 'vpx_codec_control_VP9E_SET_GF_CBR_BOOST_PCT'
34:32.93 /var/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)':
34:32.93 /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: 'VPXD_GET_LAST_QUANTIZER' was not declared in this scope
34:32.93 vpx_codec_control(decoder_, VPXD_GET_LAST_QUANTIZER, &qp);
34:32.93 ^
34:32.93 /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: note: suggested alternative: 'VP8E_GET_LAST_QUANTIZER'
34:32.93 /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:7: error: 'vpx_codec_control_VPXD_GET_LAST_QUANTIZER' was not declared in this scope
34:32.93 vpx_codec_control(decoder_, VPXD_GET_LAST_QUANTIZER, &qp);
34:32.93 ^
34:32.93 /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:7: note: suggested alternative: 'vpx_codec_control_VP8E_GET_LAST_QUANTIZER'
34:32.93 gmake[4]: *** [/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/config/rules.mk:1133: Unified_cpp_webrtc_vp8_gn0.o] Error 1
34:32.93 gmake[4]: 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'
34:32.93 gmake[3]: *** [/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
34:32.93 gmake[3]: *** Waiting for unfinished jobs....
34:33.17 gmake[4]: Entering directory '/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp9_gn'
34:33.17 media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp9_gn
34:33.17 /usr/bin/x86_64-pc-linux-gnu-g++ -o Unified_cpp_webrtc_vp9_gn0.o -c -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/dist/stl_wrappers -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/dist/system_wrappers -include /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/config/gcc_hidden.h -DNDEBUG -DTRIMMED=1 -DCHROMIUM_BUILD -DV8_DEPRECATION_WARNINGS -DWEBRTC_ENABLE_PROTOBUF=0 -DWEBRTC_MOZILLA_BUILD -DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0 -DWEBRTC_RESTRICT_LOGGING -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DNVALGRIND -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DWEBRTC_LINUX -DWEBRTC_POSIX -D_FILE_OFFSET_BITS=64 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp9_gn -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp9_gn -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/ipc/ipdl/ipdlheaders -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ipc/chromium/src -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ipc/glue -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/libyuv/libyuv/include -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/common_video/include -I/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/dist/include -fPIC -DMOZILLA_CLIENT -include /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/mozilla-config.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wc++1z-compat -Wduplicated-cond -Wimplicit-fallthrough -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wformat -Wformat-security -Wformat-overflow=2 -fno-sized-deallocation -march=corei7 -pipe -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns -fno-schedule-insns2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -O2 -fomit-frame-pointer -funwind-tables -MD -MP -MF .deps/Unified_cpp_webrtc_vp9_gn0.o.pp -fdiagnostics-color /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp9_gn/Unified_cpp_webrtc_vp9_gn0.cpp
34:33.17 In file included from /usr/include/vpx/vp8.h:33:0,
34:33.17 from /usr/include/vpx/vp8cx.h:18,
34:33.17 from /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/dist/system_wrappers/vpx/vp8cx.h:3,
34:33.17 from /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h:21,
34:33.17 from /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/screenshare_layers.h:13,
34:33.17 from /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/screenshare_layers.cc:10,
34:33.17 from /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp9_gn/Unified_cpp_webrtc_vp9_gn0.cpp:2:
34:33.17 /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc: In member function 'int webrtc::VP9EncoderImpl::InitAndSetControlSettings(const webrtc::VideoCodec*)':
34:33.17 /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:455:31: error: 'VP9E_SET_ROW_MT' was not declared in this scope
34:33.17 vpx_codec_control(encoder
, VP9E_SET_ROW_MT, 1);
34:33.17 ^
34:33.17 /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:455:31: note: suggested alternative: 'VP8E_SET_ROI_MAP'
34:33.18 /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:455:3: error: 'vpx_codec_control_VP9E_SET_ROW_MT' was not declared in this scope
34:33.18 vpx_codec_control(encoder_, VP9E_SET_ROW_MT, 1);
34:33.18 ^
34:33.18 /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:455:3: note: suggested alternative: 'vpx_codec_control_VP8E_SET_ROI_MAP'
34:33.18 /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc: In member function 'virtual int webrtc::VP9DecoderImpl::Decode(const webrtc::EncodedImage&, bool, const webrtc::RTPFragmentationHeader*, const webrtc::CodecSpecificInfo*, int64_t)':
34:33.18 /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:947:35: error: 'VPXD_GET_LAST_QUANTIZER' was not declared in this scope
34:33.18 vpx_codec_control(decoder_, VPXD_GET_LAST_QUANTIZER, &qp);
34:33.18 ^
34:33.18 /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:947:35: note: suggested alternative: 'VP8E_GET_LAST_QUANTIZER'
34:33.18 /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:947:7: error: 'vpx_codec_control_VPXD_GET_LAST_QUANTIZER' was not declared in this scope
34:33.18 vpx_codec_control(decoder_, VPXD_GET_LAST_QUANTIZER, &qp);
34:33.18 ^
34:33.18 /var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:947:7: note: suggested alternative: 'vpx_codec_control_VP8E_GET_LAST_QUANTIZER'
34:33.18 gmake[4]: *** [/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/config/rules.mk:1133: Unified_cpp_webrtc_vp9_gn0.o] Error 1
34:33.18 gmake[4]: Leaving directory '/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp9_gn'
34:33.18 gmake[3]: *** [/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/config/recurse.mk:74: media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp9_gn/target] Error 2
34:33.64 gmake[4]: Entering directory '/var/tmp/portage/www-client/firefox-65.0/work/firefox-65.0/ff/media/webrtc/trunk/webrtc/modules/video_processing/video_processing_gn'
34:33.64 media/webrtc/trunk/webrtc/modules/video_processing/video_processing_gn

However, configure is not enforcing >=libvpx-1.7.0:

0:14.30 checking for vpx >= 1.5.0... yes

See Also: → 1433158

Building against >=vpx-1.7.0 works.

Component: Untriaged → WebRTC: Audio/Video
Product: Firefox → Core
Blocks: 1433158

I'll do backports for earlier versions as well, should be alright.

Assignee: nobody → padenot
Pushed by padenot@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d8268f8ec7d2
Require libvpx >= 1.7.0. r=dminor

Comment on attachment 9040125 [details]
Bug 1523611 - Require libvpx >= 1.7.0. r?dminor

Beta/Release Uplift Approval Request

Feature/Bug causing the regression

Bug 1433158

User impact if declined

Downstream packager can potentially have broken builds after a successful configure

Is this code covered by automated tests?

No

Has the fix been verified in Nightly?

No

Needs manual test from QE?

No

If yes, steps to reproduce

List of other uplifts needed

none

Risk to taking this patch

Low

Why is the change risky/not risky? (and alternatives if risky)

it's build system code, just to ease the life of downstream maintainer

String changes made/needed

none

Attachment #9040125 - Flags: approval-mozilla-release?
Attachment #9040125 - Flags: approval-mozilla-beta?

Comment on attachment 9040125 [details]
Bug 1523611 - Require libvpx >= 1.7.0. r?dminor

Fix for a build configuration, should help downstream projects.
Let's uplift this for beta 4.

Attachment #9040125 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Status: ASSIGNED → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67

Comment on attachment 9040125 [details]
Bug 1523611 - Require libvpx >= 1.7.0. r?dminor

[Triage Comment]
NPOTB fix for distros using system libvpx. Approved for 65.0.1.

Attachment #9040125 - Flags: approval-mozilla-release? → approval-mozilla-release+
Flags: qe-verify-
You need to log in before you can comment on or make changes to this bug.