Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 611394 - www-client/chromium-58.0.3026.3 fails with system libvpx (VPXD_GET_LAST_QUANTIZER)
Summary: www-client/chromium-58.0.3026.3 fails with system libvpx (VPXD_GET_LAST_QUANT...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Chromium Project
URL: https://bugs.chromium.org/p/chromium/...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-03-02 10:08 UTC by Paweł Hajdan, Jr. (RETIRED)
Modified: 2018-02-03 22:46 UTC (History)
5 users (show)

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


Attachments
build.log for amd64 keyword stabilized re-test (build.log.xz,208.18 KB, application/x-xz)
2017-10-21 22:24 UTC, ᎫᏤᏣ (kuzetsa)
Details
Updated libvpx 1.7.0 ebuild needed to fix this bug. (libvpx-1.7.0.ebuild,3.87 KB, text/plain)
2018-02-03 22:43 UTC, nordaux
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2017-03-02 10:08:20 UTC
x86_64-pc-linux-gnu-g++ -MMD -MF obj/third_party/webrtc/modules/video_coding/webrtc_vp8/vp8_impl.o.d -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DDISABLE_NACL -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DWEBRTC_RESTRICT_LOGGING -DEXPAT_RELATIVE_PATH -DHAVE_SCTP -DENABLE_EXTERNAL_AUTH -DHAVE_SRTP -DHAVE_WEBRTC_VIDEO -DHAVE_WEBRTC_VOICE -DLOGGING_INSIDE_WEBRTC -DUSE_WEBRTC_DEV_BRANCH -DFEATURE_ENABLE_VOICEMAIL -DEXPAT_RELATIVE_PATH -DGTEST_RELATIVE_PATH -DNO_MAIN_THREAD_WRAPPING -DNO_SOUND_SYSTEM -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_LINUX -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -I../.. -Igen -I../../third_party/webrtc_overrides -I../../third_party -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Igen/shim_headers/libjpeg_shim -Igen/shim_headers/libvpx_shim -I../../third_party/webrtc/common_video/include -I../../third_party/webrtc/common_video/libyuv/include -I../../third_party/libyuv/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -m64 -march=x86-64 -pthread -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections -g0 -fvisibility=hidden -fvisibility-inlines-hidden -std=gnu++11 -Wno-narrowing -fno-rtti -fno-exceptions -O2 -pipe -march=native -fno-delete-null-pointer-checks -c ../../third_party/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc -o obj/third_party/webrtc/modules/video_coding/webrtc_vp8/vp8_impl.o
In file included from /usr/include/vpx/vpx_encoder.h:32:0,
                 from ../../third_party/webrtc/modules/video_coding/codecs/vp8/vp8_impl.h:21,
                 from ../../third_party/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:11:
../../third_party/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)’:
../../third_party/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:1150:35: error: ‘VPXD_GET_LAST_QUANTIZER’ was not declared in this scope
       vpx_codec_control(decoder_, VPXD_GET_LAST_QUANTIZER, &qp);
                                   ^
../../third_party/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:1150:7: error: ‘vpx_codec_control_VPXD_GET_LAST_QUANTIZER’ was not declared in this scope
       vpx_codec_control(decoder_, VPXD_GET_LAST_QUANTIZER, &qp);
       ^

This is with libvpx-1.6.1 .
Comment 1 ᎫᏤᏣ (kuzetsa) 2017-10-21 22:24:25 UTC
Created attachment 499590 [details]
build.log for amd64 keyword stabilized re-test

package.use.mask profile entry led me to this bug

suspected keywording on libvpx-1.6.1
performed followup test using stable

Updated testing result:

amd64 keyword-stablized media-libs/libvpx-1.5.0
amd64 keyword-stablized www-client/chromium-62.0.3202.62

chromium with USE +system-libpx still fails to build

vpx_codec_control() error persists, same as above.

(attached build.log.xz)
Comment 2 Ingo Brunberg 2017-10-22 08:45:02 UTC
Will this ever work? If I understand it correctly, libvpx is developed inside the chromium project. Even the latest release (1.6.1) is far behind the bundled code.

So wouldn't it be better to drop the system-libvpx option? To me it seems not worth the grief, especially since the library is not that big.
Comment 3 Luke McKee 2018-01-14 07:23:17 UTC
I just made an ebuild libvpx-9999 by modifying the existing one to have at the top...

```
DESCRIPTION="WebM VP8 and VP9 Codec SDK"
HOMEPAGE="http://www.webmproject.org"


if [[ ${PV} == *9999* ]]; then
    inherit git-r3
    EGIT_REPO_URI="https://chromium.googlesource.com/webm/${PN}.git"
elif [[ ${PV} == *pre* ]]; then
    SRC_URI="mirror://gentoo/${P}.tar.bz2"
    KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
else
    SRC_URI="http://webm.googlecode.com/files/${PN}-v${PV}.tar.bz2"
    KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
    S="${WORKDIR}/${PN}-v${PV}"
fi

SRC_URI="${SRC_URI} 
    test? ( mirror://gentoo/${PN}-testdata-${LIBVPX_TESTDATA_VER}.tar.bz2 )"
```
And unmasked the use flag
profile/package.use.mask/04-lmc:>=www-client/chromium-63.0.3239.132 -system-libvpx

Maybe the libvpx guys can add a 9999 ebuild and you could modify the gentoo ebuild to rquire libvpx-9999 to solve this problem. Works for me.

Firefox/ffmpeg and others can use libvpx-9999 without any problems too.
It doesn't look like google is going to release a libvpx anytime soon. This bug has been open a year so seems like the best solution for those who want to have less duplicated libraries.

Luke
Comment 4 nordaux 2018-02-03 22:43:13 UTC
Created attachment 517706 [details]
Updated libvpx 1.7.0 ebuild needed to fix this bug.
Comment 5 nordaux 2018-02-03 22:46:50 UTC
There is already released the libvpx 1.7.0 version on upstream that is fully compatible with latest chromium ebuild from the portage tree. I've attached the updated ebuild on previous comment.