In file included from media/base/media_posix.cc:16:0: ./media/ffmpeg/ffmpeg_common.h:20:33: fatal error: libavcore/samplefmt.h: No such file or directory compilation terminated. make: *** [out/Release/obj.target/media/media/base/media_posix.o] Error 1 make: *** Waiting for unfinished jobs.... /usr/libexec/paludis/utils/emake: emake returned error 2
Created attachment 262889 [details] chromium info
According to bug 345325, this problem pops up with ffmpeg versions that are not new enough. What version of ffmpeg are you building against?
I was under the impression that chromium ships its own version of ffmpeg. I have ffmpeg-9999 installed, which I have rebuilt today. That might be the problem, though. Maybe it's not too old but too new.
In my case I get: x86_64-pc-linux-gnu-g++ '-DNO_HEAPCHECKER' '-DCHROMIUM_BUILD' '-DENABLE_REMOTING=1' '-DUSE_PROPRIETARY_CODECS' '-DENABLE_GPU=1' '-DGOOGLE_PROTOBUF_NO_RTTI' '-DUSE_SYSTEM_ZLIB' '-DFEATURE_ENABLE_SSL' '-DFEATURE_ENABLE_VOICEMAIL' '-DEXPAT_RELATIVE_PATH' '-DLINUX' '-DPOSIX' '-D__STDC_FORMAT_MACROS' '-DNDEBUG' '-DNVALGRIND' '-DDYNAMIC_ANNOTATIONS_ENABLED=0' -I. -Igpu -Ithird_party/protobuf -Ithird_party/protobuf/src -Ithird_party/libvpx/include -Ithird_party/libjingle/overrides -Ithird_party/libjingle/source -Ithird_party/expat/files -Iout/Release/obj/gen/protoc_out -pthread -fno-exceptions -Wall -Wno-unused-parameter -Wno-missing-field-initializers -D_FILE_OFFSET_BITS=64 -fvisibility=hidden -pipe -fPIC -fno-strict-aliasing -O2 -fno-ident -fdata-sections -ffunction-sections -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -MMD -MF out/Release/.deps/out/Release/obj.target/chromoting_base/remoting/base/decoder_vp8.o.d.raw -march=amdfam10 -O2 -pipe -DGENTOO_CHROMIUM_ENABLE_GECKO_MEDIAPLAYER -c -o out/Release/obj.target/chromoting_base/remoting/base/decoder_vp8.o remoting/base/decoder_vp8.cc x86_64-pc-linux-gnu-g++ '-DNO_HEAPCHECKER' '-DCHROMIUM_BUILD' '-DENABLE_REMOTING=1' '-DUSE_PROPRIETARY_CODECS' '-DENABLE_GPU=1' '-DGOOGLE_PROTOBUF_NO_RTTI' '-DUSE_SYSTEM_ZLIB' '-DFEATURE_ENABLE_SSL' '-DFEATURE_ENABLE_VOICEMAIL' '-DEXPAT_RELATIVE_PATH' '-DLINUX' '-DPOSIX' '-D__STDC_FORMAT_MACROS' '-DNDEBUG' '-DNVALGRIND' '-DDYNAMIC_ANNOTATIONS_ENABLED=0' -I. -Igpu -Ithird_party/protobuf -Ithird_party/protobuf/src -Ithird_party/libvpx/include -Ithird_party/libjingle/overrides -Ithird_party/libjingle/source -Ithird_party/expat/files -Iout/Release/obj/gen/protoc_out -pthread -fno-exceptions -Wall -Wno-unused-parameter -Wno-missing-field-initializers -D_FILE_OFFSET_BITS=64 -fvisibility=hidden -pipe -fPIC -fno-strict-aliasing -O2 -fno-ident -fdata-sections -ffunction-sections -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -MMD -MF out/Release/.deps/out/Release/obj.target/chromoting_base/remoting/base/decoder_row_based.o.d.raw -march=amdfam10 -O2 -pipe -DGENTOO_CHROMIUM_ENABLE_GECKO_MEDIAPLAYER -c -o out/Release/obj.target/chromoting_base/remoting/base/decoder_row_based.o remoting/base/decoder_row_based.cc x86_64-pc-linux-gnu-g++ '-DNO_HEAPCHECKER' '-DCHROMIUM_BUILD' '-DENABLE_REMOTING=1' '-DUSE_PROPRIETARY_CODECS' '-DENABLE_GPU=1' '-DGOOGLE_PROTOBUF_NO_RTTI' '-DUSE_SYSTEM_ZLIB' '-DFEATURE_ENABLE_SSL' '-DFEATURE_ENABLE_VOICEMAIL' '-DEXPAT_RELATIVE_PATH' '-DLINUX' '-DPOSIX' '-D__STDC_FORMAT_MACROS' '-DNDEBUG' '-DNVALGRIND' '-DDYNAMIC_ANNOTATIONS_ENABLED=0' -I. -Igpu -Ithird_party/protobuf -Ithird_party/protobuf/src -Ithird_party/libvpx/include -Ithird_party/libjingle/overrides -Ithird_party/libjingle/source -Ithird_party/expat/files -Iout/Release/obj/gen/protoc_out -pthread -fno-exceptions -Wall -Wno-unused-parameter -Wno-missing-field-initializers -D_FILE_OFFSET_BITS=64 -fvisibility=hidden -pipe -fPIC -fno-strict-aliasing -O2 -fno-ident -fdata-sections -ffunction-sections -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -MMD -MF out/Release/.deps/out/Release/obj.target/chromoting_base/remoting/base/decompressor_verbatim.o.d.raw -march=amdfam10 -O2 -pipe -DGENTOO_CHROMIUM_ENABLE_GECKO_MEDIAPLAYER -c -o out/Release/obj.target/chromoting_base/remoting/base/decompressor_verbatim.o remoting/base/decompressor_verbatim.cc x86_64-pc-linux-gnu-g++ '-DNO_HEAPCHECKER' '-DCHROMIUM_BUILD' '-DENABLE_REMOTING=1' '-DUSE_PROPRIETARY_CODECS' '-DENABLE_GPU=1' '-DGOOGLE_PROTOBUF_NO_RTTI' '-DUSE_SYSTEM_ZLIB' '-DFEATURE_ENABLE_SSL' '-DFEATURE_ENABLE_VOICEMAIL' '-DEXPAT_RELATIVE_PATH' '-DLINUX' '-DPOSIX' '-D__STDC_FORMAT_MACROS' '-DNDEBUG' '-DNVALGRIND' '-DDYNAMIC_ANNOTATIONS_ENABLED=0' -I. -Igpu -Ithird_party/protobuf -Ithird_party/protobuf/src -Ithird_party/libvpx/include -Ithird_party/libjingle/overrides -Ithird_party/libjingle/source -Ithird_party/expat/files -Iout/Release/obj/gen/protoc_out -pthread -fno-exceptions -Wall -Wno-unused-parameter -Wno-missing-field-initializers -D_FILE_OFFSET_BITS=64 -fvisibility=hidden -pipe -fPIC -fno-strict-aliasing -O2 -fno-ident -fdata-sections -ffunction-sections -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -MMD -MF out/Release/.deps/out/Release/obj.target/chromoting_base/remoting/base/decompressor_zlib.o.d.raw -march=amdfam10 -O2 -pipe -DGENTOO_CHROMIUM_ENABLE_GECKO_MEDIAPLAYER -c -o out/Release/obj.target/chromoting_base/remoting/base/decompressor_zlib.o remoting/base/decompressor_zlib.cc remoting/base/decoder_vp8.cc: In member function ‘virtual remoting::Decoder::DecodeResult remoting::DecoderVp8::DecodePacket(const remoting::VideoPacket*)’: remoting/base/decoder_vp8.cc:54: error: ‘vpx_codec_vp8_dx’ was not declared in this scope make: *** [out/Release/obj.target/chromoting_base/remoting/base/decoder_vp8.o] Error 1 make: *** Waiting for unfinished jobs.... I looks like there is more than one way this ebuild's compile can fail.
Ok, the problem is that libavcore got merged into libavutil on Feb 7th (which means the file has simply been moved). Chromium ships its own version of ffmpeg, indeed. media/ffmpeg/ is the only place where they include the system's ffmpeg and I'm totally not sure why they do that.
Although chromium ships with ffmpeg bundled, on Gentoo we build against the system libraries; that's just the Gentoo way. Would you mind pointing us at the relevant ffmpeg changesets if you have identified them already?
(In reply to comment #6) > Although chromium ships with ffmpeg bundled, on Gentoo we build against the > system libraries; that's just the Gentoo way. > > Would you mind pointing us at the relevant ffmpeg changesets if you have > identified them already? > commit 737eb5976f6a37703923ce3c3d5e6ca8eeabb43a Author: Reinhard Tartler <siretart@tauware.de> Date: Mon Feb 7 14:37:08 2011 +0100 Merge libavcore into libavutil It is pretty hopeless that other considerable projects will adopt libavutil alone in other projects. Projects that need small footprint are better off with more specialized libraries such as gnulib or rather just copy the necessary parts that they need. With this in mind, nobody is helped by having libavutil and libavcore split. In order to ease maintenance inside and around FFmpeg and to reduce confusion where to put common code, avcore's functionality is merged (back) to avutil.
*** Bug 356437 has been marked as a duplicate of this bug. ***
I think we can't support ffmpeg-9999. I'll keep this bug open for a while for reference, but really I think we just need to wait for upstream.
(In reply to comment #4) > remoting/base/decoder_vp8.cc:54: error: ‘vpx_codec_vp8_dx’ was not declared in > this scope > make: *** [out/Release/obj.target/chromoting_base/remoting/base/decoder_vp8.o] > Error 1 > make: *** Waiting for unfinished jobs.... > > I looks like there is more than one way this ebuild's compile can fail. Your issue is separate from Philipp's. It looks like you are running into this issue: http://code.google.com/p/chromium/issues/detail?id=68584 Can you please file a separate bug in Gentoo's bugzilla?
(In reply to comment #10) > Can you please file a separate bug in Gentoo's bugzilla? Never mind, see bug 358361.
*** Bug 358695 has been marked as a duplicate of this bug. ***
Maybe not merging with gecko-mediaplayer will help?
Solved downgrading ffmpeg to 0.6_p25767.
Created attachment 266481 [details, diff] chromium-9999-r1.ebuild.diff
(In reply to comment #14) > Solved downgrading ffmpeg to 0.6_p25767. yup.
I think this bug can be closed, -9999 ebuilds are generally not supported.
Just a closing comment: The fix for this should occur upstream. It looks like Chromium hasn't bumped ffmpeg in over 4 months, so it isn't likely that this fix will happen organically any time soon. If anyone wants to submit a patch upstream, you can do so by following this guide: http://www.chromium.org/developers/contributing-code Just keep in mind that the patched code must work with both the bundled and system versions of ffmpeg. From what I've seen, the fix is probably very simple.
Instead the chromium team should be notified about this.
(In reply to comment #18) > Just keep in mind that the patched code must work with both the bundled and > system versions of ffmpeg. From what I've seen, the fix is probably very > simple. And that means updating the bundled ffmpeg. ;-p Anyway, feel free to report this upstream. Patches are cool too.
So, has anyone already notified upstream about this? This is not just a matter of supporting live ebuilds, the next ffmpeg release will have this and the current libav release already does. This means no libav for chromium users.
(In reply to comment #21) > So, has anyone already notified upstream about this? > This is not just a matter of supporting live ebuilds, the next ffmpeg release > will have this and the current libav release already does. This means no libav > for chromium users. I'll do it tomorrow. That's what I do best ;)
Looks like ffmpeg with this change was released, so this bug is valid and hits ~arch users now. I've already reported this upstream and it's fixed there, maybe you guys want to backport the patch.
*** Bug 361337 has been marked as a duplicate of this bug. ***
Yes, the patch has landed upstream (http://code.google.com/p/chromium/issues/detail?id=77795), and I'll work on backporting it (should be trivial).
Have same problem. Chromium-11.0.696.25 fails to build against media-video/ffmpeg-0.6_p28715. fatal error: libavcore/samplefmt.h: No such file or directory
02 Apr 2011; Pawel Hajdan jr +files/chromium-ffmpeg-build-r0.patch, chromium-11.0.696.28.ebuild, chromium-12.0.712.0.ebuild: Backport upstream FFmpeg compatibility patch, bug #355405 by Philipp Thanks everyone for reporting, comments, and patches.