Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 944960 - =media-video/mplayer-1.5_p20241125 fails to build - "error: unknown type name 'AVFifo'" and other errors
Summary: =media-video/mplayer-1.5_p20241125 fails to build - "error: unknown type name...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: c99-porting
  Show dependency tree
 
Reported: 2024-11-25 19:25 UTC by Red
Modified: 2024-12-08 03:01 UTC (History)
8 users (show)

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


Attachments
Build log (mplayer-build.log,70.94 KB, text/plain)
2024-11-25 19:25 UTC, Red
Details
emerge --info (mplayer-emerge-info.txt,27.35 KB, text/plain)
2024-11-25 19:26 UTC, Red
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Red 2024-11-25 19:25:23 UTC
=media-video/mplayer-1.5_p20241125 fails to build with a bunch of errors beginning with "error: unknown type name 'AVFifo'"

Build log and emerge --info attached.
Comment 1 Red 2024-11-25 19:25:49 UTC
Created attachment 911914 [details]
Build log
Comment 2 Red 2024-11-25 19:26:04 UTC
Created attachment 911915 [details]
emerge --info
Comment 3 MaratIK 2024-11-26 09:04:36 UTC
I confirm this
Comment 4 Matthew Ogilvie 2024-11-28 21:41:59 UTC
I also encountered this, although there are workarounds (below) that might be acceptable.

CAUSE: I think it is because other things that are depending on ffmpeg do not support the latest versions (5 or 6) and are holding back ffmpeg on version 4, and now apparently the latest mplayer doesn't build against version 4.

GENTOO ACTION: It would probably make sense for the mplayer ebuild to explicitly DEPEND on an appropriately-newer version of ffmpeg, so at least the version conflict is reported in more obvious ways.

GENTOO ALTERNATIVE: Or maybe someone will make an mplayer patch that will allow the latest to still be built with older versions of ffmpeg.  If we're lucky, maybe all it needs is to #include another header, or add a forward declaration somewhere.

---

In my case, media-video/vlc[vaapi] was holding back ffmpeg when the vaapi USE flag is on.  I've been getting (and ignoring) warnings from "emerge" about this on my machine for many months (years?) now...  There is a lot more about this in bug #864721.

OBVIOUS WORKAROUNDS: Mask or uninstall some of the incompatibilities (newer mplayer, all vlc, or whatever).

POSSIBLE WORKAROUND: Turn off the vaapi USE flag for vlc (at least)?  I don't know how to tell if that even has a real effect or not.  (Which kind of video, filter(s), etc...)

POSSIBLE WORKAROUND: media-video/vlc-3.0.21-r1 includes a patch that disables the problematic vaapi case(s) in the configure and/or code even when USE=vaapi is enabled, so it no longer holds back ffmpeg.  So for now, I've added just that one version to package.accept_keywords, and that at least seems to allow everything to update and build.  But again, I don't know how to tell if this has adverse effects.

(FYI: Enabling vaapi is a vestige of trying to figure out various video-related issues I've had in years past, but I seem to remember it didn't seem to really affect anything.)
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-11-30 00:31:54 UTC
I hadn't realised the bug was only happening with older ffmpeg until your comment, which explains why I couldn't reproduce it.
Comment 6 Timo Ollech 2024-11-30 16:41:28 UTC
+1 for adding the dependency to the appropriate ffmpeg version. In my case it's not only VLC with vaapi USE flag, but also tigervnc and freerdp blocking newer ffmpeg versions.
Comment 7 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-12-01 07:27:15 UTC
(In reply to Timo Ollech from comment #6)

Neither tigervnc nor freerdp need older ffmpeg. It's likely confusing output just because of VLC.
Comment 8 MaratIK 2024-12-02 22:40:24 UTC
I can not remove VLC dependency due to transitive dependency media-libs/phonon (default KDE sound library), for which media-libs/phonon-vlc is the only available backend in Gentoo. I can not update ffmpeg version with such tail of legacy dependencies.
Comment 9 Matthew Ogilvie 2024-12-03 05:12:15 UTC
(In reply to MaratIK from comment #8)
> I can not update ffmpeg version with such tail of legacy dependencies.

Huh?  Assuming you also need mplayer, then as I mentioned in comment 4, you can always either mask the latest mplayer (stick with an older one that builds with older ffmpeg), turn off the vaapi USE flag, or unmask the latest vlc.  Unless there are some unstated reasons why none of these are viable options for you...
Comment 10 MaratIK 2024-12-05 00:00:59 UTC
(In reply to Matthew Ogilvie from comment #9)

> Huh?  Assuming you also need mplayer, then as I mentioned in comment 4, you
> can always either mask the latest mplayer (stick with an older one that
> builds with older ffmpeg), turn off the vaapi USE flag, or unmask the latest
> vlc.  Unless there are some unstated reasons why none of these are viable
> options for you...

I thought that type of preconditions should be checked during "pre-merge checks" phase, but not as compilation failure.
Comment 11 Ivan Volosyuk 2024-12-05 00:18:56 UTC
Can we add a conflict or dependency instead? If I have vlc I would rather not receive the new mplayer and will not have the world update failing.
Comment 12 Larry the Git Cow gentoo-dev 2024-12-08 03:01:16 UTC
The bug has been closed via the following commit(s):

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

commit 902897c82330a4e68f63f232cfd24f50b433e549
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2024-12-08 03:00:51 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-12-08 03:00:51 +0000

    media-video/mplayer: needs >=ffmpeg-5.1 for AVFifo
    
    See 7329b22c058cf271e9ea3aa6e8ab2bb1c462d99f in ffmpeg.
    
    Closes: https://bugs.gentoo.org/944960
    Signed-off-by: Sam James <sam@gentoo.org>

 media-video/mplayer/mplayer-1.5_p20241125.ebuild | 2 +-
 media-video/mplayer/mplayer-9999.ebuild          | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)