Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 951199 - media-gfx/blender: fails to build with ffmpeg-7 (FFMPEGWriter.cpp:80:18: error: ‘AVFrame’ {aka ‘struct AVFrame’} has no member named ‘channel_layout’)
Summary: media-gfx/blender: fails to build with ffmpeg-7 (FFMPEGWriter.cpp:80:18: erro...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Paul Zander
URL: https://projects.blender.org/blender/...
Whiteboard:
Keywords: PATCH
Depends on:
Blocks: ffmpeg-7.0
  Show dependency tree
 
Reported: 2025-03-12 14:32 UTC by Luke A. Guest
Modified: 2025-03-12 17:42 UTC (History)
5 users (show)

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


Attachments
build log (build.log.gz,105.41 KB, application/gzip)
2025-03-12 14:32 UTC, Luke A. Guest
Details
blender-4.3.2-r1/temp/environment (environment,156.96 KB, text/plain)
2025-03-12 14:33 UTC, Luke A. Guest
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Luke A. Guest 2025-03-12 14:32:53 UTC
Created attachment 920615 [details]
build log

With the new ffmpeg-7, seems that blender no longer compiles.

# emerge --info '=media-gfx/blender-4.3.2-r1::gentoo'
Portage 3.0.67 (python 3.12.9-final-0, default/linux/amd64/23.0/desktop/plasma, gcc-14, glibc-2.40-r8, 6.12.16-gentoo-dist x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.12.16-gentoo-dist-x86_64-AMD_Ryzen_9_9950X_16-Core_Processor-with-glibc2.40
KiB Mem:    96357144 total,  25907136 free
KiB Swap:   33554428 total,  33554428 free
Timestamp of repository gentoo: Wed, 12 Mar 2025 13:15:00 +0000
Head commit of repository gentoo: 182a42efec2ba7fc8bcfa5104c8c861fe0ab8d71
Timestamp of repository guru: Tue, 11 Mar 2025 13:52:47 +0000
Head commit of repository guru: 28f817880e47d20978a7905285798957ee37f8e5

Timestamp of repository steam-overlay: Sat, 08 Mar 2025 17:04:20 +0000
Head commit of repository steam-overlay: 5f5031d1937ace119bb3839e9283c29238b0a634

sh bash 5.2_p37
ld GNU ld (Gentoo 2.43 p3) 2.43.1
app-misc/pax-utils:        1.3.8::gentoo
app-shells/bash:           5.2_p37::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.72-r1::gentoo
dev-build/automake:        1.16.5-r2::gentoo, 1.17-r1::gentoo
dev-build/cmake:           3.31.5::gentoo
dev-build/libtool:         2.5.4::gentoo
dev-build/make:            4.4.1-r100::gentoo
dev-build/meson:           1.7.0::gentoo
dev-lang/perl:             5.40.0-r1::gentoo
dev-lang/python:           3.11.11_p1::gentoo, 3.12.9::gentoo, 3.13.2::gentoo
dev-lang/rust-bin:         1.84.1-r2::gentoo
llvm-core/clang:           18.1.8-r6::gentoo, 19.1.7::gentoo
llvm-core/lld:             19.1.7::gentoo
llvm-core/llvm:            18.1.8-r6::gentoo, 19.1.7::gentoo
sys-apps/baselayout:       2.17::gentoo
sys-apps/openrc:           0.56::gentoo
sys-apps/sandbox:          2.39::gentoo
sys-devel/binutils:        2.43-r2::gentoo, 2.44::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/gcc:             13.3.1_p20241220::gentoo, 14.2.1_p20241221::gentoo
sys-devel/gcc-config:      2.12.1::gentoo
sys-kernel/linux-headers:  6.12::gentoo (virtual/os-headers)
sys-libs/glibc:            2.40-r8::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts: 
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-max-age: 3

guru
    location: /var/db/repos/guru
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/guru.git
    masters: gentoo
    volatile: False

steam-overlay
    location: /var/db/repos/steam-overlay
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/steam-overlay.git
    masters: gentoo
    volatile: False

fpga-overlay
    location: /usr/local/portage/fpga-overlay
    masters: gentoo
    priority: 30
    volatile: True

lucretia
    location: /usr/local/portage/lucretia
    masters: gentoo
    priority: 30
    volatile: True

Binary Repositories:

gentoobinhost
    priority: 1
    sync-uri: https://www.mirrorservice.org/sites/distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE @BINARY-REDISTRIBUTABLE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance binpkg-request-signature buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="http://ftp.free.fr/mirrors/ftp.gentoo.org/     http://mirrors.ircam.fr/pub/gentoo-distfiles/     https://mirrors.ircam.fr/pub/gentoo-distfiles/     https://mirror.dogado.de/gentoo     http://ftp.agdsn.de/gentoo     https://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/     http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/     https://mirrors.gethosted.online/gentoo/     http://mirrors.gethosted.online/gentoo/     https://www.mirrorservice.org/sites/distfiles.gentoo.org/     http://www.mirrorservice.org/sites/distfiles.gentoo.org/"
LANG="en_GB.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
MAKEOPTS="-j32 -l35"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
RUSTFLAGS=" -C target-cpu=native"
SHELL="/bin/bash"
USE="X a52 aac acl acpi activities alembic alsa amd64 avif bluetooth branding bzip2 cairo cdda cdr cet collada color-management colord crypt cuda cudnn cups dbus declarative dist-kernel dri dts dvd dvdr elogind encode exif ffmpeg flac gdbm gif gpm gtk gui harfbuzz heif iconv icu ipv6 jack jpeg kde kf6compat kwallet ladspa lcms ldac libnotify libtirpc lv2 mad midi mng mp3 mp4 mpeg multilib ncurses networkmanager nls nsm ogg opencv openexr opengl openmp openvdb pam pango pcre pdf pipewire plasma png policykit ppds pulseaudio qml qt5 qt6 readline screencast sdl seccomp semantic-desktop sound spell ssl startup-notification svg test-rust theora tiff truetype udev udisks unicode upower usb v4l vorbis vulkan wayland webp widgets wxwidgets x264 xattr xcb xft xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gcc_14" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 aes avx avx2 avx512_bf16 avx512_bitalg avx512_vbmi2 avx512_vnni avx512_vp2intersect avx512_vpopcntdq avx512bw avx512cd avx512dq avx512f avx512ifma avx512vbmi avx512vl f16c fma3 pclmul popcnt rdrand sha sse3 sse4_1 sse4_2 sse4a ssse3 vpclmulqdq" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="wacom libinput" KERNEL="linux" L10N="en-GB" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LLVM_TARGETS="M68k SPIRV" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres16" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" QEMU_SOFTMMU_TARGETS="aarch64 arm i386 m68k mips mips64 mips64el mipsel ppc ppc64 riscv32 riscv64 x86_64" RUBY_TARGETS="ruby32" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, SIZE, STRINGS, STRIP, YACC, YFLAGS


# emerge -pqv '=media-gfx/blender-4.3.2-r1::gentoo'
[ebuild     U ] media-gfx/blender-4.3.2-r1 [4.3.2] USE="X alembic bullet collada color-management cuda cycles cycles-bin-kernels embree ffmpeg fftw fluid gmp jack nanovdb nls oidn openexr openmp openpgl opensubdiv openvdb otf pdf potrace pugixml pulseaudio sdl sndfile tbb tiff vulkan wayland webp -debug -doc -gnome -hip -jemalloc -jpeg2k -man -ndof -oneapi -openal -optix -osl -renderdoc -test -valgrind" LLVM_SLOT="18 -15 -16 -17" PYTHON_SINGLE_TARGET="python3_12 -python3_11"
Comment 1 Luke A. Guest 2025-03-12 14:33:29 UTC
Created attachment 920616 [details]
blender-4.3.2-r1/temp/environment
Comment 2 Ionen Wolkens gentoo-dev 2025-03-12 15:11:08 UTC
Know it was masked, but did this really go that long without getting a Gentoo bug for ffmpeg-7? (or at least it's not on the tracker if there's one)

May not be worth adding ffmpeg-compat logic to all these blender ebuilds though.

darkdefender would know better being the author, but I'm guessing it just needs $URL (haven't tried)
Comment 3 Ionen Wolkens gentoo-dev 2025-03-12 16:10:01 UTC
(In reply to Ionen Wolkens from comment #2)
> I'm guessing it just needs $URL (haven't tried)
After trying, it fixed some of it, but probably missing another commit on top.
Comment 4 Ionen Wolkens gentoo-dev 2025-03-12 16:15:53 UTC
(In reply to Ionen Wolkens from comment #3)
> (In reply to Ionen Wolkens from comment #2)
> > I'm guessing it just needs $URL (haven't tried)
> After trying, it fixed some of it, but probably missing another commit on
> top.
Unfortunately, the other affected file (anim_movie.cc) no longer exists in the latest blender branches and it does not seem to have been fixed in older ones.

So maybe I'll just put ffmpeg-compat in the latest ~arch ebuild for now and let maintainers see what to do with the rest.
Comment 5 Ionen Wolkens gentoo-dev 2025-03-12 16:29:30 UTC
(In reply to Ionen Wolkens from comment #4)
> (In reply to Ionen Wolkens from comment #3)
> > (In reply to Ionen Wolkens from comment #2)
> > > I'm guessing it just needs $URL (haven't tried)
> > After trying, it fixed some of it, but probably missing another commit on
> > top.
> Unfortunately, the other affected file (anim_movie.cc) no longer exists in
> the latest blender branches and it does not seem to have been fixed in older
> ones.
Ah wait, I think [1] is what's needed.

[1] https://projects.blender.org/blender/blender/pulls/121947
Comment 6 Sebastian Parborg 2025-03-12 17:10:09 UTC
Hmm, FFmpeg 7 should be supported in Blender 4.4 and up. (Blender 4.4 should release within a few days as the RC is out)

I'm currently working on add a new blender-bin package so we can drop older blender versions when that happens: https://github.com/gentoo/gentoo/pull/40214

You can of course add some ffmpeg version caps or ffmpeg-compat deps in the mean time.
Comment 7 Ionen Wolkens gentoo-dev 2025-03-12 17:20:41 UTC
(In reply to Sebastian Parborg from comment #6)
> Hmm, FFmpeg 7 should be supported in Blender 4.4 and up. (Blender 4.4 should
> release within a few days as the RC is out)
> 
> I'm currently working on add a new blender-bin package so we can drop older
> blender versions when that happens:
> https://github.com/gentoo/gentoo/pull/40214
> 
> You can of course add some ffmpeg version caps or ffmpeg-compat deps in the
> mean time.
Well, I got it working with a chunk from the PR I mentioned (just missed 1 bit), so I'll push that for now.

The old slots will need to get fixed too (unless they get removed) but I haven't tried these. Maybe patch would be good enough for these too but we could make them use ffmpeg-compat otherwise.
Comment 8 Larry the Git Cow gentoo-dev 2025-03-12 17:22:53 UTC
The bug has been referenced in the following commit(s):

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

commit 6c763cc787adb6ed87c26428744fdfe324d102a8
Author:     Ionen Wolkens <ionen@gentoo.org>
AuthorDate: 2025-03-12 15:57:57 +0000
Commit:     Ionen Wolkens <ionen@gentoo.org>
CommitDate: 2025-03-12 17:21:41 +0000

    media-gfx/blender: quick fix for ffmpeg-7
    
    Only fixing ~arch 4.3.2 given haven't tested muchand haven't tried
    the other slots at all (could be missing more).
    
    Ideally all slots need fixes so leaving bug #951199 open, will let
    maintainers decide how to handle that.
    
    Bug: https://bugs.gentoo.org/951199
    Signed-off-by: Ionen Wolkens <ionen@gentoo.org>

 media-gfx/blender/blender-4.3.2-r1.ebuild          |   1 +
 .../blender/files/blender-4.3.2-ffmpeg7.patch      | 151 +++++++++++++++++++++
 2 files changed, 152 insertions(+)
Comment 9 Sebastian Parborg 2025-03-12 17:28:42 UTC
My current plan is to drop all older versions besides 4.4.

This is mainly because the last two versions (4.3 and 4.2) were missing some essential files there were supposed to be bundled:
https://bugs.gentoo.org/947515

The older releases also was hard to get the test data for. This should also be fixed in 4.4.

So for the non binary builds, I hope we can only have 4.4 and the live ebuild left.

(This should also allow us to clean up a lot of the older blender deps from the portage tree)
Comment 10 Ionen Wolkens gentoo-dev 2025-03-12 17:42:19 UTC
That sounds good to me, having to deal with all these versions that are long to build just for a few trivial changes was troublesome.