Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 568600 - media-video/mpv-0.11.0 fails rebuild on vdpau after gcc-5.3.0 upgrade (and other rebuilds)
Summary: media-video/mpv-0.11.0 fails rebuild on vdpau after gcc-5.3.0 upgrade (and ot...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-18 02:59 UTC by Duncan
Modified: 2015-12-22 00:38 UTC (History)
1 user (show)

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


Attachments
emerge --info mpv (mpv.emerge.info,7.79 KB, text/plain)
2015-12-18 02:59 UTC, Duncan
Details
full build log (media-video:mpv-0.11.0:20151218-045218.log,164.36 KB, text/plain)
2015-12-18 04:49 UTC, Duncan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Duncan 2015-12-18 02:59:59 UTC
Created attachment 419556 [details]
emerge --info mpv

After gcc-5.3.0 upgrade, I tried to do the recommended rebuilds.  mpv-0.11.0, which I had already installed using gcc-4.9.3, failed to build in the normal revdep-rebuild, so (as with several others) I listed it to try again later.  However, it's one of only a handful that still refuses to build, after everything else is rebuilt and all other current ~amd64 upgrades (deep) are applied.

Here's the --ask --verbose prompt including USE flags:

[ebuild   R    ] media-video/mpv-0.11.0::gentoo  USE="X alsa cdio cli drm dvd egl encode iconv jpeg libass libmpv opengl rubberband vaapi vdpau xinerama xv -bluray -doc-pdf -dvb -enca -jack -lcms -libav -libcaca -libguess -lua -luajit -openal -oss -pulseaudio -pvr -raspberry-pi -samba -sdl (-selinux) -v4l -vf-dlopen -wayland -xscreensaver" 0 KiB

Here's the error section in the build log:

[143/416] Compiling stream/stream_mf.c
19:16:11 runner ['x86_64-pc-linux-gnu-gcc', '-march=native', '-pipe', '-O2', '-frename-registers', '-fweb', '-fmerge-all-constants', '-fgcse-sm', '-fgcse-las', '-fgcse-after-reload', '-ftree-vectorize', '-freorder-blocks-and-partition', '-D_ISOC99_SOURCE', '-D_GNU_SOURCE', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64', '-D_LARGEFILE64_SOURCE', '-std=c99', '-Wall', '-Werror=implicit-function-declaration', '-Wno-error=deprecated-declarations', '-Wno-error=unused-function', '-Wempty-body', '-Wdisabled-optimization', '-Wstrict-prototypes', '-Wno-format-zero-length', '-Werror=format-security', '-Wno-redundant-decls', '-Wall', '-Wundef', '-Wmissing-prototypes', '-Wshadow', '-Wno-switch', '-Wparentheses', '-Wpointer-arith', '-Wno-pointer-sign', '-DNO_BUILD_TIMESTAMPS', '-fPIC', '-pthread', '-I/tmp/portage/media-video/mpv-0.11.0/work/mpv-0.11.0/build', '-I/tmp/portage/media-video/mpv-0.11.0/work/mpv-0.11.0', '-I/usr/include/libdrm', '-I/usr/include/alsa', '-I/usr/include/freetype2', '-I/usr/include/fribidi', '-I/usr/include/glib-2.0', '-I/usr/lib64/glib-2.0/include', '-DHAVE_DVDREAD=1', '-DHAVE_DVDNAV=1', '-DHAVE_LIBAV=1', '-DHAVE_XV=1', '-DHAVE_XEXT=1', '-DHAVE_DRM=1', '-DHAVE_LIBAVFILTER=1', '-DHAVE_CDDA=1', '-DHAVE_VAAPI=1', '-DHAVE_ALSA=1', '-DHAVE_VAAPI_VPP=1', '-DHAVE_XINERAMA=1', '-DHAVE_RUBBERBAND=1', '-DHAVE_LIBAVDEVICE=1', '-DHAVE_XRANDR=1', '-DHAVE_LIBSWRESAMPLE=1', '-DHAVE_VDPAU=1', '-DHAVE_EGL_X11=1', '-DHAVE_X11=1', '-DHAVE_LIBASS=1', '../stream/stream_mf.c', '-c', '-o', '/tmp/portage/media-video/mpv-0.11.0/work/mpv-0.11.0/build/stream/stream_mf.c.15.o']
{standard input}: Assembler messages:
{standard input}:2073: Error: `mp_vd_lavc_vdpau' can't be equated to common symbol 'mp_vd_lavc_rpi'
{standard input}:2075: Error: `mp_vd_lavc_vda' can't be equated to common symbol 'mp_vd_lavc_rpi'
{standard input}:2077: Error: `mp_vd_lavc_videotoolbox' can't be equated to common symbol 'mp_vd_lavc_rpi'
{standard input}:2079: Error: `mp_vd_lavc_vaapi' can't be equated to common symbol 'mp_vd_lavc_rpi'
{standard input}:2081: Error: `mp_vd_lavc_vaapi_copy' can't be equated to common symbol 'mp_vd_lavc_rpi'
{standard input}:2083: Error: `mp_vd_lavc_dxva2_copy' can't be equated to common symbol 'mp_vd_lavc_rpi'

Waf: Leaving directory `/tmp/portage/media-video/mpv-0.11.0/work/mpv-0.11.0/build'
Build failed
 -> task in 'mpv' failed (exit status 1): 
        {task 139769221641296: c vd_lavc.c -> vd_lavc.c.15.o}
['x86_64-pc-linux-gnu-gcc', '-march=native', '-pipe', '-O2', '-frename-registers', '-fweb', '-fmerge-all-constants', '-fgcse-sm', '-fgcse-las', '-fgcse-after-reload', '-ftree-vectorize', '-freorder-blocks-and-partition', '-D_ISOC99_SOURCE', '-D_GNU_SOURCE', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64', '-D_LARGEFILE64_SOURCE', '-std=c99', '-Wall', '-Werror=implicit-function-declaration', '-Wno-error=deprecated-declarations', '-Wno-error=unused-function', '-Wempty-body', '-Wdisabled-optimization', '-Wstrict-prototypes', '-Wno-format-zero-length', '-Werror=format-security', '-Wno-redundant-decls', '-Wall', '-Wundef', '-Wmissing-prototypes', '-Wshadow', '-Wno-switch', '-Wparentheses', '-Wpointer-arith', '-Wno-pointer-sign', '-DNO_BUILD_TIMESTAMPS', '-fPIC', '-pthread', '-I/tmp/portage/media-video/mpv-0.11.0/work/mpv-0.11.0/build', '-I/tmp/portage/media-video/mpv-0.11.0/work/mpv-0.11.0', '-I/usr/include/libdrm', '-I/usr/include/alsa', '-I/usr/include/freetype2', '-I/usr/include/fribidi', '-I/usr/include/glib-2.0', '-I/usr/lib64/glib-2.0/include', '-DHAVE_DVDREAD=1', '-DHAVE_DVDNAV=1', '-DHAVE_LIBAV=1', '-DHAVE_XV=1', '-DHAVE_XEXT=1', '-DHAVE_DRM=1', '-DHAVE_LIBAVFILTER=1', '-DHAVE_CDDA=1', '-DHAVE_VAAPI=1', '-DHAVE_ALSA=1', '-DHAVE_VAAPI_VPP=1', '-DHAVE_XINERAMA=1', '-DHAVE_RUBBERBAND=1', '-DHAVE_LIBAVDEVICE=1', '-DHAVE_XRANDR=1', '-DHAVE_LIBSWRESAMPLE=1', '-DHAVE_VDPAU=1', '-DHAVE_EGL_X11=1', '-DHAVE_X11=1', '-DHAVE_LIBASS=1', '../video/decode/vd_lavc.c', '-c', '-o', '/tmp/portage/media-video/mpv-0.11.0/work/mpv-0.11.0/build/video/decode/vd_lavc.c.15.o']

Seems to be vdpau related.  I'll try turning that off after I finish filing this.  I already tried manually rebuilding libvdpau and libva-vdpau-driver, and I already tried with CCACHE_RECACHE=1, which turns it write-only (update the cache only, don't use it), just in case.

Meanwhile, I'll attach emerge --info mpv here, and the full build log afterward.
Comment 1 Duncan 2015-12-18 04:49:22 UTC
Created attachment 419558 [details]
full build log

Here's the full build log (for USE flags as above, tho the below discusses other workarounds I've tried).


FWIW, I tried building with USE=-vdpau, and despite my double-check that it passed --disable-vdpau at the configure step, it still failed with the same vdpau related errors.

Maybe I need to rebuild ffmpeg?  No, that doesn't work, at least not with USE=vdpau for both.

With USE=-vdpau for both ffmpeg and mpv (and the ffmpeg virtual), maybe?  No, same thing there.

Time to step back and try something else, like moderating cflags/cxxflags...
Comment 2 Duncan 2015-12-18 05:06:03 UTC
OK, it was cflags/cxxflags, specifically -fmerge-all-constants.  Without that, it works fine.  gcc-5.3 must treat that significantly differently than it did before, as AFAIK, that's the first time -fmerge-all-constants has given me problems /ever/, on /any/ package, and it definitely worked fine with gcc 4.9.3 as this was a reinstall, with the original built with it.


I could close this now, but I'll leave it open for the moment, in case others have the problem and/or in case you maintainers want to prune it from cflags in the ebuild.  If I remember, I'll close it in a few weeks/months if it's still open.

Meanwhile, off to see if that's the problem with a couple other pkgs that wouldn't rebuild, or if the gcc release notes for 5.3 or earlier 5.x say anything about it... =:^)

Anyway, thanks for the work maintaining! =:^)