Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 355405 - www-client/chromium-10.0.648.82 libavcore/samplefmt.h missing (ffmpeg-9999)
Summary: www-client/chromium-10.0.648.82 libavcore/samplefmt.h missing (ffmpeg-9999)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Chromium Project
URL: http://src.chromium.org/viewvc/chrome...
Whiteboard:
Keywords:
: 356437 358695 361337 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-02-18 10:17 UTC by Philipp
Modified: 2011-04-02 13:31 UTC (History)
13 users (show)

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


Attachments
chromium info (chromium-info,18.60 KB, text/plain)
2011-02-18 10:18 UTC, Philipp
Details
chromium-9999-r1.ebuild.diff (chromium-9999-r1.ebuild.diff,715 bytes, patch)
2011-03-19 12:27 UTC, iGentoo
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp 2011-02-18 10:17:37 UTC
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
Comment 1 Philipp 2011-02-18 10:18:07 UTC
Created attachment 262889 [details]
chromium info
Comment 2 Wormo (RETIRED) gentoo-dev 2011-02-18 20:30:48 UTC
According to bug 345325, this problem pops up with ffmpeg versions that are not new enough. What version of ffmpeg are you building against?
Comment 3 Philipp 2011-02-18 21:15:25 UTC
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.
Comment 4 Ed Tomlinson 2011-02-19 00:50:46 UTC
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.
Comment 5 Philipp 2011-02-19 12:27:53 UTC
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.
Comment 6 Mike Gilbert gentoo-dev 2011-02-21 23:27:53 UTC
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?
Comment 7 Philipp 2011-02-22 09:16:03 UTC
(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.
Comment 8 Mike Gilbert gentoo-dev 2011-02-26 19:24:41 UTC
*** Bug 356437 has been marked as a duplicate of this bug. ***
Comment 9 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-03-01 07:33:53 UTC
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.
Comment 10 Mike Gilbert gentoo-dev 2011-03-10 17:44:29 UTC
(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?
Comment 11 Mike Gilbert gentoo-dev 2011-03-11 15:56:14 UTC
(In reply to comment #10)
> Can you please file a separate bug in Gentoo's bugzilla?

Never mind, see bug 358361.
Comment 12 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-03-17 19:48:06 UTC
*** Bug 358695 has been marked as a duplicate of this bug. ***
Comment 13 dE 2011-03-19 08:38:57 UTC
Maybe not merging with gecko-mediaplayer will help?
Comment 14 Vasco Gervasi 2011-03-19 10:24:22 UTC
Solved downgrading ffmpeg to 0.6_p25767.
Comment 15 iGentoo 2011-03-19 12:27:00 UTC
Created attachment 266481 [details, diff]
chromium-9999-r1.ebuild.diff
Comment 16 dE 2011-03-19 13:11:40 UTC
(In reply to comment #14)
> Solved downgrading ffmpeg to 0.6_p25767.

yup.
Comment 17 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-03-22 15:05:05 UTC
I think this bug can be closed, -9999 ebuilds are generally not supported.
Comment 18 Mike Gilbert gentoo-dev 2011-03-22 15:26:33 UTC
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.
Comment 19 dE 2011-03-22 15:32:59 UTC
Instead the chromium team should be notified about this.
Comment 20 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-03-22 15:37:31 UTC
(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.
Comment 21 Christoph Mende (RETIRED) gentoo-dev 2011-03-29 18:22:26 UTC
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.
Comment 22 dE 2011-03-31 17:17:27 UTC
(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 ;)
Comment 23 Christoph Mende (RETIRED) gentoo-dev 2011-04-02 08:54:05 UTC
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.
Comment 24 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-04-02 09:30:20 UTC
*** Bug 361337 has been marked as a duplicate of this bug. ***
Comment 25 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-04-02 09:32:10 UTC
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).
Comment 26 Simeon Maryasin 2011-04-02 13:14:42 UTC
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
Comment 27 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-04-02 13:31:40 UTC
  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.