Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 712264

Summary: www-client/seamonkey-2.53.1[system-libvpx] and >=media-libs/libvpx-1.8.0: error: 'struct vpx_svc_ref_frame_config' has no member named 'frame_flags'
Product: Gentoo Linux Reporter: Andrew Church <achurch+gentoo>
Component: Current packagesAssignee: Lars Wendler (Polynomial-C) (RETIRED) <polynomial-c>
Status: RESOLVED FIXED    
Severity: normal CC: marcoep, mozilla, rdalek1967
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 677626    

Description Andrew Church 2020-03-12 18:08:02 UTC
seamonkey-2.53.1 fails to build with libvpx-1.8.2:

In file included from /tmp/portage/www-client/seamonkey-2.53.1/work/seamonkey-2.53.1/seamonk/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp9_gn/Unified_cpp_webrtc_vp9_gn0.cpp:20:
/tmp/portage/www-client/seamonkey-2.53.1/work/seamonkey-2.53.1/mozilla/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc: In member function  vpx_svc_ref_frame_config webrtc::VP9EncoderImpl::GenerateRefsAndFlags(const webrtc::VP9EncoderImpl::SuperFrameRefSettings&)':
/tmp/portage/www-client/seamonkey-2.53.1/work/seamonkey-2.53.1/mozilla/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:858:17: error: 'struct vpx_svc_ref_frame_config' has no member named 'frame_flags'
  858 |         sf_conf.frame_flags[layer_idx] = layer_flags;
      |                 ^~~~~~~~~~~

sf_conf is of type vpx_svc_ref_frame_config; the definition of this structure changed between libvpx-1.7.0 and libvpx-1.8.2, the latter of which does not have a frame_flags field.

Building with libvpx-1.7.0-r1 succeeds.
Comment 1 Dale 2020-03-30 15:03:12 UTC
I seem to be getting the same here.  Started a couple weeks ago.  

In file included from /var/tmp/portage/www-client/seamonkey-2.53.1/work/seamonkey-2.53.1/seamonk/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp9_gn/Unified_cpp_webrtc_vp9_gn0.cpp:20:
/var/tmp/portage/www-client/seamonkey-2.53.1/work/seamonkey-2.53.1/mozilla/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc: In member function 'vpx_svc_ref_frame_config webrtc::VP9EncoderImpl::GenerateRefsAndFlags(const webrtc::VP9EncoderImpl::SuperFrameRefSettings&)':
/var/tmp/portage/www-client/seamonkey-2.53.1/work/seamonkey-2.53.1/mozilla/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:858:17: error: 'struct vpx_svc_ref_frame_config' has no member named 'frame_flags'
  858 |         sf_conf.frame_flags[layer_idx] = layer_flags;
      |                 ^~~~~~~~~~~
/var/tmp/portage/www-client/seamonkey-2.53.1/work/seamonkey-2.53.1/mozilla/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc: In constructor 'webrtc::VP9DecoderImpl::VP9DecoderImpl()':
/var/tmp/portage/www-client/seamonkey-2.53.1/work/seamonkey-2.53.1/mozilla/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:893:36: warning: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'class webrtc::VideoCodec'; use assignment or value-initialization instead [-Wclass-memaccess]
  893 |   memset(&codec_, 0, sizeof(codec_));


If more info is needed, let me know.  Going to try solution listed in previous comment.
Comment 2 sphakka 2020-03-30 16:51:33 UTC
FYI, apparently there's no upstream bug. I guess they should be put in the loop, right?
Comment 3 Dale 2020-03-30 17:07:36 UTC
(In reply to sphakka from comment #2)
> FYI, apparently there's no upstream bug. I guess they should be put in the
> loop, right?

Maybe a dev will know how to do that.  I couldn't downgrade libvpx since Firefox wants the new one.  Emerge puked on my keyboard about that.  I guess I'm stuck with the older version of Seamonkey until either a new release that works or this is fixed.
Comment 4 sphakka 2020-03-30 17:31:35 UTC
@dale, as for Firefox, I just downgraded it yesterday with libvpx, etc. with no issue (a part from biblical compile times). Just be sure to have a backup of your older FF68 profile because it's not compatible with a newer FF7x -- FF should refuse to run on it, anyway. Otherwise you have a Firefox bug...
Comment 5 Jory A. Pratt gentoo-dev 2020-03-30 18:36:45 UTC
(In reply to Dale from comment #3)
> (In reply to sphakka from comment #2)
> > FYI, apparently there's no upstream bug. I guess they should be put in the
> > loop, right?
> 
> Maybe a dev will know how to do that.  I couldn't downgrade libvpx since
> Firefox wants the new one.  Emerge puked on my keyboard about that.  I guess
> I'm stuck with the older version of Seamonkey until either a new release
> that works or this is fixed.

simply disable the system-libvpx useflag and you will be able to keep libvpx-1.7
Comment 6 Jory A. Pratt gentoo-dev 2020-03-30 18:37:24 UTC
(In reply to sphakka from comment #2)
> FYI, apparently there's no upstream bug. I guess they should be put in the
> loop, right?

Upsteram far as mozilla goes is already fixed. Problem is seamonkey is so far behind it is not gonna be an easy patch to backport.
Comment 7 Konstantin Münning 2020-06-03 23:49:58 UTC
By the way, same here with seamonkey-2.53.2. Going back to bundled libvpx for this version.
Comment 8 Larry the Git Cow gentoo-dev 2020-08-15 10:25:24 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d26bb1194732de2120fe1fd4e50f7b997b61eadc

commit d26bb1194732de2120fe1fd4e50f7b997b61eadc
Author:     Lars Wendler <polynomial-c@gentoo.org>
AuthorDate: 2020-08-15 10:24:56 +0000
Commit:     Lars Wendler <polynomial-c@gentoo.org>
CommitDate: 2020-08-15 10:25:21 +0000

    www-client/seamonkey: Fixed build with USE="system-libvpx"
    
    Closes: https://bugs.gentoo.org/712264
    Package-Manager: Portage-3.0.2, Repoman-2.3.23
    Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>

 www-client/seamonkey/Manifest                | 1 +
 www-client/seamonkey/seamonkey-2.53.3.ebuild | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)