Summary: | www-client/chromium-9999: fails to compile using the latest trunk | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Robin Hallabro-Kokko <robin> |
Component: | Current packages | Assignee: | Bernard Cafarelli <voyageur> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | auke, floppym, hezhit, ormaaj, phajdan.jr, piotrek.juzwiak, wbrana, zmedico |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 323609 | ||
Bug Blocks: | |||
Attachments: |
The 500 last lines from the build log.
patch disables using system ffmpeg and enables SSE2 patch disables using system ffmpeg and enables SSE2 |
Description
Robin Hallabro-Kokko
2010-05-23 10:58:00 UTC
Someone told me he had a similar problem with CCACHE (#321127). Try to disable it. I get the same error, and I don't use ccache. (In reply to comment #1) > Someone told me he had a similar problem with CCACHE (#321127). > Try to disable it. > Disabled ccache and still failing. Attaching build log in case anyone is interested. Created attachment 232563 [details]
The 500 last lines from the build log.
The file is about 5.5M on it's own, stripping down to 500 lines.
If I had to take a guess it would be a missing include. Is that defined in one of these files (someone who knows C++)? smorgbox chromium-9999 # grep -r "CODEC_ID_VP8" . ./media/filters/ffmpeg_demuxer.cc: if (kDemuxerIsWebm && (stream->codec->codec_id != CODEC_ID_VP8 && ./third_party/ffmpeg/source/patched-ffmpeg-mt/libavformat/matroskaenc.c: CODEC_ID_VP8, ./third_party/ffmpeg/source/patched-ffmpeg-mt/libavformat/riff.c: { CODEC_ID_VP8, MKTAG('V', 'P', '8', '0') }, ./third_party/ffmpeg/source/patched-ffmpeg-mt/libavformat/matroska.c: {"V_VP8" , CODEC_ID_VP8}, ./third_party/ffmpeg/source/patched-ffmpeg-mt/libavcodec/avcodec.h: CODEC_ID_VP8, ./third_party/ffmpeg/source/patched-ffmpeg-mt/libavcodec/libvpxenc.c: CODEC_ID_VP8, ./third_party/ffmpeg/source/patched-ffmpeg-mt/libavcodec/libvpxdec.c: CODEC_ID_VP8, Or should CODEC_ID_VP8 be a string value instead? That if block at line 414 doesn't actually look too important... like it's just checking for some corner case. Might just try commenting it out until they sort things out upstream. Chromium needs modified ffmpeg. It doesn't build against system ffmpeg. USE="-ffmpeg" should fix build. (In reply to comment #6) > Chromium needs modified ffmpeg. It doesn't build against system ffmpeg. > USE="-ffmpeg" should fix build. > That use flag is no longer shipped with the ebuild. ffmpeg is a hard dependency. I guess we could merge the ffmpeg parts of an older ebuild and see what happens. (In reply to comment #5) > If I had to take a guess it would be a missing include. Is that defined in one > of these files (someone who knows C++)? > > smorgbox chromium-9999 # grep -r "CODEC_ID_VP8" . > ./media/filters/ffmpeg_demuxer.cc: if (kDemuxerIsWebm && > (stream->codec->codec_id != CODEC_ID_VP8 && > ./third_party/ffmpeg/source/patched-ffmpeg-mt/libavformat/matroskaenc.c: > CODEC_ID_VP8, > ./third_party/ffmpeg/source/patched-ffmpeg-mt/libavformat/riff.c: { > CODEC_ID_VP8, MKTAG('V', 'P', '8', '0') }, > ./third_party/ffmpeg/source/patched-ffmpeg-mt/libavformat/matroska.c: > {"V_VP8" , CODEC_ID_VP8}, > ./third_party/ffmpeg/source/patched-ffmpeg-mt/libavcodec/avcodec.h: > CODEC_ID_VP8, > ./third_party/ffmpeg/source/patched-ffmpeg-mt/libavcodec/libvpxenc.c: > CODEC_ID_VP8, > ./third_party/ffmpeg/source/patched-ffmpeg-mt/libavcodec/libvpxdec.c: > CODEC_ID_VP8, > > Or should CODEC_ID_VP8 be a string value instead? > > That if block at line 414 doesn't actually look too important... like it's just > checking for some corner case. Might just try commenting it out until they sort > things out upstream. > CODEC_ID_VP8 is defined as enum type in <libavcodec/avcodec.h>, which is located in /usr/include/libavcodec/avcodec.h and is much different to $(chromium_src_dir)/third_party/ffmpeg/source/patched-ffmpeg-mt/libavcodec/avcodec.h upgrade ffmpeg to svn version(media-video/ffmpeg-9999-r1) should fix build. $ grep CODEC_ID_VP8 ffmpeg/trunk/libavcodec/avcodec.h CODEC_ID_VP8, Created attachment 232705 [details, diff]
patch disables using system ffmpeg and enables SSE2
I can confirm that upgrading to the latest ffmpeg SVN resolves the build error. However, until ffmpeg actually includes a VP8 implementation, webm videos aren't going to play. Created attachment 233383 [details, diff]
patch disables using system ffmpeg and enables SSE2
VP8 should work with this patch
the latest ebuild could be put in the portage. I'm reluctant to switching back to bundled ffmpeg (even if it's "only" -9999 version), Pawel what do you think? For now to at least fix compilation, I've bumped chromium-9999 depend on >=ffmpeg-9999, and vp8 read support should come after bug #320817. When it is fixed (and a new snapshot of ffmpeg added in tree), we can update the deps and close this bug media/media/filters/audio_renderer_algorithm_default.o media/filters/audio_renderer_algorithm_default.cc media/ffmpeg/file_protocol.cc:86: error: invalid conversion from ‘int (*)(URLContext*, unsigned char*, int)’ to ‘int (*)(URLContext*, const unsigned char*, int)’ make: *** [out/Release/obj.target/media/media/ffmpeg/file_protocol.o] Error 1 make: *** Waiting for unfinished jobs.... * ERROR: www-client/chromium-9999 failed: Not sure if this is relevant to this bug but I tried to use x264 git and ffmpeg-9999 and it failed for me. (In reply to comment #14) That's a different problem. I opened a bug upstream, with a working patch. http://crbug.com/45821 It should depend on bug #320817 (I don't have rights to add it). Updating dep bug, this needs libvpx but also system ffmpeg supporting libvpx ;) (In reply to comment #17) > Updating dep bug, this needs libvpx but also system ffmpeg supporting libvpx ;) > I am not sure but the latest trunk needs gnome-keyring. SSE2 support was recently added by Phajdan (as well as gnome-keyring), and I've just updated -9999 to depend on >=ffmpeg-0.6 with vpx enabled. So looks like everything is fixed here :) Thanks everyone for the reports and suggestions |