Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 331343 - Compilation of www-client/chromium-9999 fails saying av_register_protocol2 wasn't declared in scope
Summary: Compilation of www-client/chromium-9999 fails saying av_register_protocol2 wa...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Chromium Project
URL:
Whiteboard: ht-wanted
Keywords:
Depends on: 331567
Blocks:
  Show dependency tree
 
Reported: 2010-08-05 16:46 UTC by Christopher Dale
Modified: 2010-08-18 15:09 UTC (History)
0 users

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


Attachments
Output of emerge --info =www-client/chromium-9999 (bug.info.txt,3.75 KB, text/plain)
2010-08-05 16:46 UTC, Christopher Dale
Details
Output of emerge -pqv =www-client/chromium-9999 (bug.pqv.txt,184 bytes, text/plain)
2010-08-05 16:47 UTC, Christopher Dale
Details
Build log (bug.build.tar.gz,108.48 KB, application/octet-stream)
2010-08-05 16:49 UTC, Christopher Dale
Details
Build environment (bug.env.txt,115.81 KB, text/plain)
2010-08-05 16:50 UTC, Christopher Dale
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Christopher Dale 2010-08-05 16:46:13 UTC
i686-pc-linux-gnu-g++ -O2 -march=i686 -pipe -pthread -fno-exceptions -Wall -Wno-unused-parameter -Wno-missing-field-initializers -D_FILE_OFFSET_B
ITS=64 -fvisibility=hidden -m32 -mmmx -march=pentium4 -msse2 -mfpmath=sse -fno-strict-aliasing -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden '-DNO_TCMALLOC' '-DNO_HEAPCHECKER' '-DCHROMIUM_BUILD' '-DENABLE_REMOTING=1' '-DUSE_PROPRIETARY_CODECS' '-D__STDC_CONSTANT_MACROS' '-D__OMX_EXPORTS' '-D__STDC_FORMAT_MACROS' '-DNDEBUG' '-DNVALGRIND' '-DDYNAMIC_ANNOTATIONS_ENABLED=0' -I. -Iout/Release/obj/gen/ffmpeg -Ithird_party/openmax/il -Iout/Release/obj/gen/openmax -MMD -MF out/Release/.deps/out/Release/obj.target/media/media/filters/ffmpeg_glue.o.d.raw -c -o out/Release/obj.target/media/media/filters/ffmpeg_glue.o media/filters/ffmpeg_glue.cc
media/filters/ffmpeg_glue.cc: In constructor 'media::FFmpegGlue::FFmpegGlue()':
media/filters/ffmpeg_glue.cc:137: error: 'av_register_protocol2' was not declared in this scope
make: *** [out/Release/obj.target/media/media/filters/ffmpeg_glue.o] Error 1
make: *** Waiting for unfinished jobs....

Reproducible: Always

Steps to Reproduce:
1. USE="cups gnome sse2" emerge -v chromium-9999
Actual Results:  
Compilation failure:
i686-pc-linux-gnu-g++ -O2 -march=i686 -pipe -pthread -fno-exceptions -Wall -Wno-unused-parameter -Wno-missing-field-initializers -D_FILE_OFFSET_B
ITS=64 -fvisibility=hidden -m32 -mmmx -march=pentium4 -msse2 -mfpmath=sse -fno-strict-aliasing -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden '-DNO_TCMALLOC' '-DNO_HEAPCHECKER' '-DCHROMIUM_BUILD' '-DENABLE_REMOTING=1' '-DUSE_PROPRIETARY_CODECS' '-D__STDC_CONSTANT_MACROS' '-D__OMX_EXPORTS' '-D__STDC_FORMAT_MACROS' '-DNDEBUG' '-DNVALGRIND' '-DDYNAMIC_ANNOTATIONS_ENABLED=0' -I. -Iout/Release/obj/gen/ffmpeg -Ithird_party/openmax/il -Iout/Release/obj/gen/openmax -MMD -MF out/Release/.deps/out/Release/obj.target/media/media/filters/ffmpeg_glue.o.d.raw -c -o out/Release/obj.target/media/media/filters/ffmpeg_glue.o media/filters/ffmpeg_glue.cc
media/filters/ffmpeg_glue.cc: In constructor 'media::FFmpegGlue::FFmpegGlue()':
media/filters/ffmpeg_glue.cc:137: error: 'av_register_protocol2' was not declared in this scope
make: *** [out/Release/obj.target/media/media/filters/ffmpeg_glue.o] Error 1
make: *** Waiting for unfinished jobs....

Expected Results:  
Compilation succeeds
Comment 1 Christopher Dale 2010-08-05 16:46:54 UTC
Created attachment 241529 [details]
Output of emerge --info =www-client/chromium-9999
Comment 2 Christopher Dale 2010-08-05 16:47:21 UTC
Created attachment 241531 [details]
Output of emerge -pqv =www-client/chromium-9999
Comment 3 Christopher Dale 2010-08-05 16:49:32 UTC
Created attachment 241533 [details]
Build log
Comment 4 Christopher Dale 2010-08-05 16:50:00 UTC
Created attachment 241535 [details]
Build environment
Comment 5 Julien Sanchez archtester 2010-08-06 06:44:02 UTC
Edge chromium does not seem to be currently compatible with ffmpeg-0.6

Upstream bugs:
http://code.google.com/p/chromium/issues/detail?id=48705
and perhaps this one: http://code.google.com/p/chromium/issues/detail?id=50678
Comment 6 Christopher Dale 2010-08-06 13:07:15 UTC
Ah, okay... Thanks for looking into this! :D I'll just install ffmpeg from SVN then.
Comment 7 Christopher Dale 2010-08-06 16:56:12 UTC
Using ffmpeg from GIT got the compilation past this issue. My new issue is http://bugs.gentoo.org/show_bug.cgi?id=330463.
Comment 8 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-08-07 15:00:33 UTC
(In reply to comment #7)
> Using ffmpeg from GIT got the compilation past this issue. My new issue is
> http://bugs.gentoo.org/show_bug.cgi?id=330463.

Could you post the revision number that fixes this issue? We can request a version bump of ffmeg then.
Comment 9 Christopher Dale 2010-08-07 18:44:03 UTC
Surely:

FFmpeg version git-9b99f27, Copyright (c) 2000-2010 the FFmpeg developers
  built on Aug  6 2010 08:09:29 with gcc 4.4.4
  configuration: --prefix=/usr
  libavutil     50.23. 0 / 50.23. 0
  libavcore      0. 3. 0 /  0. 3. 0
  libavcodec    52.84. 3 / 52.84. 3
  libavformat   52.78. 0 / 52.78. 0
  libavdevice   52. 2. 1 / 52. 2. 1
  libavfilter    1.27. 1 /  1.27. 1
  libswscale     0.11. 0 /  0.11. 0
FFmpeg git-9b99f27
libavutil     50.23. 0 / 50.23. 0
libavcore      0. 3. 0 /  0. 3. 0
libavcodec    52.84. 3 / 52.84. 3
libavformat   52.78. 0 / 52.78. 0
libavdevice   52. 2. 1 / 52. 2. 1
libavfilter    1.27. 1 /  1.27. 1
libswscale     0.11. 0 /  0.11. 0
Comment 10 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-08-07 19:22:34 UTC
Thanks. Pasting here more git info for reference:

commit 9b99f2727c641bbc09889323a48b675e99b2aed9
Author: diego <diego@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Date:   Fri Aug 6 10:29:14 2010 +0000

    Add a CONFIG_ variable for generic Huffman routines.
    
    
    git-svn-id: file:///var/local/repositories/ffmpeg/trunk@24715 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

That means the SVN revision for that commit is 24715.
Comment 11 Julien Sanchez archtester 2010-08-07 19:47:50 UTC
More precisely, av_register_protocol2 was unfortunately introduced in ffmpeg shortly after 0.6 release with this git commit:

commit f8257f3fbbe1673c0eb32d262b565d8f56b9e740
Author: mstorsjo <mstorsjo@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Date:   Tue Jun 22 13:58:48 2010 +0000

    Add an av_register_protocol2 function that takes a size parameter
    
    This allows extending the URLProtocol struct without breaking binary
    compatibility with code compiled with older definitions of the struct.
    
    
    git-svn-id: file:///var/local/repositories/ffmpeg/trunk@23702 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

Should it mean we 'll have to wait until next official release of ffmpeg to see this issue resolved?
Comment 12 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-08-07 19:49:49 UTC
(In reply to comment #11)
> More precisely, av_register_protocol2 was unfortunately introduced in ffmpeg
> shortly after 0.6 release with this git commit:

Good catch.

> Should it mean we 'll have to wait until next official release of ffmpeg to see
> this issue resolved?

Not sure. We'll probably have to wait at least until ffmpeg-0.6 is stabilized (now it's the latest version in ~arch, which gives it good testing coverage; otherwise people would be testing the more recent snapshot instead).

aballier gave me the following snippet to recognize the version of ffmpeg:

#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 52, 35, 0 )

I'll see if we can update the chromium patch and send it upstream.
Comment 13 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-08-18 03:34:33 UTC
Now that bug #332171 is closed, and the 9999 ebuild got some updates recently, can anyone confirm that this bug is fixed?
Comment 14 Julien Sanchez archtester 2010-08-18 07:17:15 UTC
It's resolved now (for me). My compiled chromium version is 7.0.498.0 (56488). I have other runtime problems now but perhaps they are upstream (no new mathml or odd french accents).
I'll fill bugs here if they are relevant.
Comment 15 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-08-18 15:09:51 UTC
(In reply to comment #14)
> It's resolved now (for me). My compiled chromium version is 7.0.498.0 (56488).

Thanks for testing, I'm closing this bug then.

> I have other runtime problems now but perhaps they are upstream (no new mathml
> or odd french accents).
> I'll fill bugs here if they are relevant.

Feel free to e-mail me or chromium@g.o if you're not sure. They do indeed sound more like upstream issues.