Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 835788 - mail-client/thunderbird[system-av1]: fails to build with media-libs/dav1d-1.0.0
Summary: mail-client/thunderbird[system-av1]: fails to build with media-libs/dav1d-1.0.0
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks: 835807
  Show dependency tree
 
Reported: 2022-03-22 09:01 UTC by Christian Bricart
Modified: 2022-03-24 22:05 UTC (History)
13 users (show)

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


Attachments
build.log (build.log.gz,607.28 KB, application/gzip)
2022-03-22 09:06 UTC, Christian Bricart
Details
emerge --info (emerge-info.txt,9.66 KB, text/plain)
2022-03-22 09:09 UTC, Christian Bricart
Details
Patch from comment #7 with adapted line numbers (thunderbird-91.7.0-dav1d-1.0.0.patch,1.37 KB, patch)
2022-03-22 22:10 UTC, Jan Breig
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Bricart 2022-03-22 09:01:06 UTC
media-libs/dav1d-1.0.0 received a bump from 0.9.2 in ~amd64 and causes rebuilds - also for mail-client/thunderbird[system-av1], which fails compile against updated dav1d.


Reproducible: Always




downgrading to media-libs/dav1d-0.9.2 lets the thunderbird build succeed again.
Comment 1 Christian Bricart 2022-03-22 09:06:11 UTC
Created attachment 767557 [details]
build.log

8 3:58.46 In file included from Unified_cpp_dom_media_platforms0.cpp:65:
8 3:58.47 /var/tmp/portage-disk/portage/mail-client/thunderbird-91.7.0/work/thunderbird-91.7.0/dom/media/platforms/agnostic/DAV1DDecoder.cpp:39:12: error: no member named 'n
_frame_threads' in 'Dav1dSettings'
8 3:58.47   settings.n_frame_threads =
8 3:58.47   ~~~~~~~~ ^
8 3:58.47 /var/tmp/portage-disk/portage/mail-client/thunderbird-91.7.0/work/thunderbird-91.7.0/dom/media/platforms/agnostic/DAV1DDecoder.cpp:45:12: error: no member named 'n
_tile_threads' in 'Dav1dSettings'
Comment 2 Christian Bricart 2022-03-22 09:09:17 UTC
Created attachment 767558 [details]
emerge --info
Comment 3 Christian Bricart 2022-03-22 09:12:51 UTC
( simmilar fail with vlc in bug #835787 )
Comment 4 Christian Bricart 2022-03-22 10:31:26 UTC
( also #835791 )
Comment 5 Christian Bricart 2022-03-22 10:48:05 UTC
caused by breaking changes in dav1d with soname bump:  https://code.videolan.org/videolan/dav1d/-/commit/753eef833bdd8ff1585c5c858cafeca8fefbb16e
Comment 6 H. Peter Pfeufer 2022-03-22 16:14:40 UTC
Can confirm, with =media-libs/dav1d-0.9.2 thunderbird compiles just fine, not so with =media-libs/dav1d-1.0.0 ...
Comment 7 Joonas Niilola gentoo-dev 2022-03-22 19:53:21 UTC
https://cgit.freebsd.org/ports/commit/?id=3468f1957cf25742c60e1066f1174866c42efe96
( https://cgit.freebsd.org/ports/plain/mail/thunderbird/files/patch-bug1734058?id=3468f1957cf25742c60e1066f1174866c42efe96 )

can try this patch earliest tomorrow, but something for you tinkerers out there!

Basically it's a backport from firefox:rapid which _only_ supports dav1d >=0.9.3.
Comment 8 Andreas 2022-03-22 20:19:13 UTC
(In reply to Joonas Niilola from comment #7)
> https://cgit.freebsd.org/ports/commit/
> ?id=3468f1957cf25742c60e1066f1174866c42efe96
> (
> https://cgit.freebsd.org/ports/plain/mail/thunderbird/files/patch-
> bug1734058?id=3468f1957cf25742c60e1066f1174866c42efe96 )
> 
> can try this patch earliest tomorrow, but something for you tinkerers out
> there!
> 
> Basically it's a backport from firefox:rapid which _only_ supports dav1d
> >=0.9.3.

That patch works for me, it builds and seems to run at least.
Comment 9 Christian Bricart 2022-03-22 20:27:46 UTC
(In reply to Joonas Niilola from comment #7)
> Basically it's a backport from firefox:rapid which _only_ supports dav1d
> >=0.9.3.

then maybe better to wrap the changes in

#if DAV1D_API_VERSION_MAJOR >= 6
..
#else
..
#endif

for some generic patch to apply?
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-03-22 20:28:05 UTC
(In reply to Christian Bricart from comment #9)
> (In reply to Joonas Niilola from comment #7)
> > Basically it's a backport from firefox:rapid which _only_ supports dav1d
> > >=0.9.3.
> 
> then maybe better to wrap the changes in
> 
> #if DAV1D_API_VERSION_MAJOR >= 6
> ..
> #else
> ..
> #endif
> 
> for some generic patch to apply?

yes, should be fine
Comment 11 Jan Breig 2022-03-22 22:10:44 UTC
Created attachment 767602 [details, diff]
Patch from comment #7 with adapted line numbers
Comment 12 Larry the Git Cow gentoo-dev 2022-03-23 08:15:38 UTC
The bug has been closed via the following commit(s):

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

commit f40c5716d239c87edfb220cf7b5c8755a7e89b87
Author:     Joonas Niilola <juippis@gentoo.org>
AuthorDate: 2022-03-23 07:30:31 +0000
Commit:     Joonas Niilola <juippis@gentoo.org>
CommitDate: 2022-03-23 08:15:35 +0000

    mail-client/thunderbird: update patch set to build with dav1d-1.0.0
    
     - unfortunately with the patch thunderbird fails to build with dav1d
       <1.0.0 so there's an ugly condition for that now.
    
    Thanks-to: Jan Breig <jan.breig@disroot.org>
    Closes: https://bugs.gentoo.org/835788
    Signed-off-by: Joonas Niilola <juippis@gentoo.org>

 mail-client/thunderbird/Manifest                  |  2 +-
 mail-client/thunderbird/thunderbird-91.7.0.ebuild | 12 ++++++++++--
 2 files changed, 11 insertions(+), 3 deletions(-)

Additionally, it has been referenced in the following commit(s):

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

commit e5b6cf514635031f5c164ec90384d6174cf13742
Author:     Joonas Niilola <juippis@gentoo.org>
AuthorDate: 2022-03-23 08:08:15 +0000
Commit:     Joonas Niilola <juippis@gentoo.org>
CommitDate: 2022-03-23 08:15:36 +0000

    www-client/firefox: dav1d-1.0.0 compatibility patch for unstable ESR
    
    Bug: https://bugs.gentoo.org/835788
    Signed-off-by: Joonas Niilola <juippis@gentoo.org>

 www-client/firefox/Manifest              |  1 +
 www-client/firefox/firefox-91.7.1.ebuild | 12 ++++++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)
Comment 13 Kobboi 2022-03-23 21:46:02 UTC
(In reply to Larry the Git Cow from comment #12)

>     mail-client/thunderbird: update patch set to build with dav1d-1.0.0
>     
>      - unfortunately with the patch thunderbird fails to build with dav1d
>        <1.0.0 so there's an ugly condition for that now.
>     
>     Thanks-to: Jan Breig <jan.breig@disroot.org>
>     Closes: https://bugs.gentoo.org/835788
>     Signed-off-by: Joonas Niilola <juippis@gentoo.org>


I had masked dav1d-1.0.0 earlier this week and now am being downgraded to firefox-91. Just wanted to check if this was the intended upgrade path, since I don't immediately see anything about firefox 98.0.2 requiring dav1d-1.0.0 but this bug is being referenced in the www-client/firefox git log.
Comment 14 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-03-23 21:51:35 UTC
(In reply to Kobboi from comment #13)
> (In reply to Larry the Git Cow from comment #12)
> 
> >     mail-client/thunderbird: update patch set to build with dav1d-1.0.0
> >     
> >      - unfortunately with the patch thunderbird fails to build with dav1d
> >        <1.0.0 so there's an ugly condition for that now.
> >     
> >     Thanks-to: Jan Breig <jan.breig@disroot.org>
> >     Closes: https://bugs.gentoo.org/835788
> >     Signed-off-by: Joonas Niilola <juippis@gentoo.org>
> 
> 
> I had masked dav1d-1.0.0 earlier this week and now am being downgraded to
> firefox-91. Just wanted to check if this was the intended upgrade path,
> since I don't immediately see anything about firefox 98.0.2 requiring
> dav1d-1.0.0 but this bug is being referenced in the www-client/firefox git
> log.

Need to be more specific. What happens if you explicitly try to emerge 98.x? It should tell you why it's trying to skip it.
Comment 15 Kobboi 2022-03-23 21:54:01 UTC
$ sudo emerge -1qav firefox:rapid

!!! All ebuilds that could satisfy ">=media-libs/dav1d-0.9.3:=" have been masked.
!!! One of the following masked packages is required to complete your request:
- media-libs/dav1d-9999::gentoo (masked by: package.mask, missing keyword)
/var/db/repos/kobboi-linux/profiles/kobboi/package.mask:
# https://bugs.gentoo.org/835788
# https://bugs.gentoo.org/835791

- media-libs/dav1d-1.0.0::gentoo (masked by: package.mask)

(dependency required by "www-client/firefox-98.0.2::gentoo[system-av1]" [ebuild])
(dependency required by "firefox:rapid" [argument])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
Comment 16 Kobboi 2022-03-23 21:54:35 UTC
There is only dav1d-0.9.2 in the tree.
Comment 17 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-03-23 21:56:59 UTC
Turn off system-av1 then? You've put it on yet masked the only version that it can be satisfied by, hence downgrade to older FF.
Comment 18 Kobboi 2022-03-23 22:03:03 UTC
It was masked (by me locally) before these firefox/thunderbird patches, also because there seemed to be other packages that were having troubles with it. I had the impression that this was going to be fixed in a way that would support whatever version of dav1d. 

If not, then indeed I will have to find my own way around this. 

I just wanted to double check (or have someone double check) that all of this makes sense. A regular update (with dav1d-1.0.0 masked by me) now only wants to do the aforementioned downgrade after first removing the only firefox version I have installed. That is something that I typically do not see  in firefox upgrade scenarios and might leave other people without an instance of firefox. I just thought it was worth asking a question about it.
Comment 19 Kobboi 2022-03-23 22:04:17 UTC
And I did not "put it on", it is on by default. Just concerned about user experience man, that is all.
Comment 20 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-03-23 22:13:03 UTC
(In reply to Kobboi from comment #19)
> And I did not "put it on", it is on by default. Just concerned about user
> experience man, that is all.

I'm on mobile and trying to help, I'm not trying to be insulting or something?

You were wondering if it's the expected or correct path on upgrades and I'm exploring it:

I'm trying to understand what the issue is. To me, it sounds like there's no other possible option if you're masking new dav1d yourself. There's no < dep in the ebuild, so it's purely because of the mask combined with system-av1.

Now, what we could do is turn off the default (at least for now) until the other issues with dav1d are fixed (I didjt see it was default on and hard to check on mobile - surprised it is) to make it easier for people to avoid 1.0.0 if their other packages are breaking

(But most/all packages for dav1d breakage have patches in bugs at least now so I don't know if it's worth it, not my call)
Comment 21 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-03-23 22:14:05 UTC
(In reply to Kobboi from comment #18)
> It was masked (by me locally) before these firefox/thunderbird patches, also
> because there seemed to be other packages that were having troubles with it.
> I had the impression that this was going to be fixed in a way that would
> support whatever version of dav1d. 
> 

I think that's what happened - juippis has made the patch application conditional so it should work either way
Comment 22 Kobboi 2022-03-23 22:17:51 UTC
Either way = with dav1d-1.0.0 and with what other version of dav1d? 

        system-av1? (
                >=media-libs/dav1d-0.9.3:=
                >=media-libs/libaom-1.0.0:=
        )

0.9.3 does not exist: not in the portage tree, nor upstream.
Comment 23 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-03-23 22:22:23 UTC
(In reply to Kobboi from comment #22)
> Either way = with dav1d-1.0.0 and with what other version of dav1d? 
> 
>         system-av1? (
>                 >=media-libs/dav1d-0.9.3:=
>                 >=media-libs/libaom-1.0.0:=
>         )
> 
> 0.9.3 does not exist: not in the portage tree, nor upstream.

Ohhhh - so the patch didn't change anything, but the dep was there already. We'd need to figure out what API changes led to them doing it in the first place.

I thought you meant the patch just added was only working one way. Now I get it - I got confused by the has_version bit (implying it was set up to work already).

I think this bug is a good example of why system-av1 default isn't a good idea.
Comment 24 Joonas Niilola gentoo-dev 2022-03-24 05:31:59 UTC
Firefox:esr will support dav1d-0.9.2, but :rapid will not. :rapid needs 1.0.0 because it uses the dav1d's new API/ABI, Mozilla snapshotted 0.9.2_pSomething to their bundled av1 support 4-5 months ago which also made whissi package.use.mask firefox[system-av1] for :rapid back then. 

Firefox:esr and thunderbird were fixed to work with both versions of dav1d, 0.9.2 or 1.0.0, but there is no such scenario available for :rapid - at least that I'm aware of.
Comment 25 Kobboi 2022-03-24 22:05:04 UTC
Thank you for clarifying. I unmasked dav1d-1.0.0 again, since all of the issues that I ran into with it have been resolved in the meantime.