It looks like `fpcalc` command installed by media-libs/chromaprint-1.5.1-r3[tools] does not work with media-video/ffmpeg-7.1.1. * Bug#1091825: libchromaprint-tools: fpcalc broken (`ERROR: Could not create an audio converter instance (Invalid argument)`) https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg2009874.html * ffmpeg 7.0 support · Issue #142 · acoustid/chromaprint https://github.com/acoustid/chromaprint/issues/142 Probably the dependency with `tools` USE flag should be updated to reject >=ffmpeg-7. Example of non-working `fpcalc`: ``` $ flac --test test.flac flac 1.5.0 Copyright (C) 2000-2009 Josh Coalson, 2011-2025 Xiph.Org Foundation flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Type `flac' for details. test.flac: ok $ fpcalc test.flac ERROR: Could not create an audio converter instance (Invalid argument) $ echo $? 2 $ ``` Related package versions: ``` $ ffmpeg -version ffmpeg version 7.1.1 Copyright (c) 2000-2025 the FFmpeg developers built with gcc 14 (Gentoo 14.2.1_p20250301 p8) configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --docdir=/usr/share/doc/ffmpeg-7.1.1/html --ar=x86_64-pc-linux-gnu-ar --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --nm=x86_64-pc-linux-gnu-nm --pkg-config=x86_64-pc-linux-gnu-pkg-config --ranlib=x86_64-pc-linux-gnu-ranlib --disable-stripping --disable-debug --disable-optimizations --optflags=' ' --enable-iconv --enable-pic --enable-shared --disable-static --enable-manpages --disable-podpages --disable-txtpages --disable-decklink --disable-libaribcaption --disable-libdavs2 --disable-libklvanc --disable-liblcevc-dec --disable-libmysofa --disable-libopenvino --disable-libshine --disable-libtls --disable-libuavs3d --disable-libvvenc --disable-libxavs --disable-libxavs2 --disable-libxevd --disable-libxeve --disable-pocketsphinx --disable-rkmpp --disable-vapoursynth --disable-cuda-nvcc --disable-libcelt --disable-libglslang --disable-liblensfun --disable-libmfx --disable-libopencv --disable-librist --disable-libtensorflow --disable-libtorch --disable-mbedtls --disable-mmal --disable-omx --disable-omx-rpi --disable-gcrypt --disable-lzma --enable-libpulse --enable-gpl --disable-ffnvcodec --enable-bzlib --disable-libvpl --disable-opencl --disable-libsrt --disable-libaom --enable-libvpx --disable-libzvbi --disable-libsmbclient --disable-libgsm --disable-libxvid --disable-libvidstab --disable-librav1e --disable-vdpau --enable-version3 --disable-libjxl --disable-librabbitmq --disable-libopenh264 --disable-libquirc --disable-libjack --disable-libflite --disable-libsnappy --disable-libtwolame --disable-libsvtav1 --enable-libmp3lame --disable-cuvid --disable-libopenmpt --disable-libplacebo --disable-libfribidi --disable-libfdk-aac --disable-libbs2b --disable-appkit --disable-libspeex --disable-liblc3 --enable-postproc --enable-libxml2 --disable-libshaderc --disable-libzimg --enable-alsa --enable-libfontconfig --enable-libdav1d --disable-libvmaf --disable-sdl2 --disable-nvdec --disable-cuda-llvm --disable-libaribb24 --disable-libnpp --enable-libdrm --enable-libxcb-shm --disable-libkvazaar --enable-gnutls --disable-nvenc --enable-amf --enable-libxcb --disable-libcodec2 --disable-lcms2 --disable-libopencore-amrnb --disable-libtesseract --disable-libvo-amrwbenc --enable-libopus --enable-gmp --enable-vulkan --enable-libdvdread --enable-libopenjpeg --enable-vaapi --enable-libx264 --disable-libx265 --disable-librtmp --disable-libwebp --enable-zlib --enable-libxcb-shape --disable-libsoxr --disable-librubberband --disable-libzmq --disable-htmlpages --disable-libv4l2 --disable-libssh --enable-libtheora --disable-libmodplug --enable-opengl --enable-libdvdnav --enable-libfreetype --disable-openal --disable-librsvg --enable-libass --disable-libgme --disable-chromaprint --disable-ladspa --disable-libiec61883 --disable-libilbc --disable-libcdio --disable-frei0r --disable-sndio --disable-libcaca --enable-libxcb-xfixes --enable-libbluray --disable-libopencore-amrwb --disable-libdc1394 --disable-libqrencode --enable-xlib --disable-openssl --disable-lv2 --enable-libvorbis --enable-libharfbuzz libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.100 / 61. 7.100 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 4.100 / 10. 4.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 $ fpcalc -version fpcalc version 1.5.1 (FFmpeg Lavc61.19.101 Lavf61.7.100 SwR5.3.100) $ ``` emerge --info: ``` $ emerge --info Portage 3.0.67 (python 3.12.9-final-0, default/linux/amd64/23.0/systemd, gcc-14, glibc-2.41-r1, 6.14.0-gentoo x86_64) ================================================================= System uname: Linux-6.14.0-gentoo-x86_64-AMD_Ryzen_9_7950X_16-Core_Processor-with-glibc2.41 KiB Mem: 31960800 total, 655808 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Tue, 01 Apr 2025 13:35:15 +0000 Head commit of repository gentoo: 001a204048acadb35c2befb569685a79430077c9 Head commit of repository gentoo-zh: b0093154994d0347ea01c2c8b84b4d091fab80dd Timestamp of repository guru: Tue, 01 Apr 2025 11:52:38 +0000 Head commit of repository guru: 696902a36823a126800d34ede72a67a47f11da13 Timestamp of repository haskell: Mon, 31 Mar 2025 08:35:11 +0000 Head commit of repository haskell: b95fae873d7494a47138eb985d01c95906f03c83 sh bash 5.2_p37 ld GNU ld (Gentoo 2.44 p1) 2.44.0 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.17-r2::gentoo dev-build/cmake: 3.31.6-r1::gentoo dev-build/libtool: 2.5.4::gentoo dev-build/make: 4.4.1-r100::gentoo dev-build/meson: 1.7.0::gentoo dev-java/java-config: 2.3.4::gentoo dev-lang/perl: 5.40.1::gentoo dev-lang/python: 3.12.9::gentoo, 3.13.2::gentoo dev-lang/rust: 1.85.1::gentoo llvm-core/clang: 19.1.7::gentoo, 20.1.1::gentoo llvm-core/lld: 19.1.7::gentoo llvm-core/llvm: 19.1.7::gentoo, 20.1.1::gentoo sys-apps/baselayout: 2.17::gentoo sys-apps/sandbox: 2.46::gentoo sys-apps/systemd: 257.3::gentoo sys-devel/binutils: 2.44::gentoo sys-devel/binutils-config: 5.5.2::gentoo sys-devel/gcc: 13.3.1_p20250301::gentoo, 14.2.1_p20250301::gentoo sys-devel/gcc-config: 2.12.1::gentoo sys-kernel/linux-headers: 6.13::gentoo (virtual/os-headers) sys-libs/glibc: 2.41-r1::gentoo Repositories: nopth-under location: /var/db/repos/nopth-under masters: gentoo priority: -2000 eclass-overrides: lo48576 volatile: True gentoo location: /var/db/repos/gentoo sync-type: git sync-uri: https://github.com/gentoo-mirror/gentoo.git sync-user: portage priority: -1000 eclass-overrides: lo48576 volatile: False sync-git-verify-commit-signature: true gentoo-zh location: /var/db/repos/gentoo-zh sync-type: git sync-uri: https://github.com/microcai/gentoo-zh.git masters: gentoo priority: -100 eclass-overrides: lo48576 volatile: False guru location: /var/db/repos/guru sync-type: git sync-uri: https://github.com/gentoo-mirror/guru.git masters: gentoo eclass-overrides: lo48576 volatile: False haskell location: /var/db/repos/haskell sync-type: git sync-uri: https://github.com/gentoo-mirror/haskell.git masters: gentoo eclass-overrides: lo48576 volatile: False nopthread-under location: /var/db/repos/nopthread-under masters: gentoo eclass-overrides: lo48576 volatile: True lo48576 location: /var/db/repos/lo48576 masters: gentoo priority: 100 eclass-overrides: lo48576 volatile: True Installed sets: @fav/fonts, @packages/ansible, @packages/pipewire, @purpose/yubikey, @purpose/zeroconf, @system/core, @system/filesystem, @system/gentoo-utils, @system/xorg-basic-utils ACCEPT_KEYWORDS="amd64 ~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" 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 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=" https://ftp.iij.ad.jp/pub/linux/gentoo https://ftp.riken.jp/Linux/gentoo https://ftp.jaist.ac.jp/pub/Linux/Gentoo http://ftp.iij.ad.jp/pub/linux/gentoo http://ftp.riken.jp/Linux/gentoo http://ftp.jaist.ac.jp/pub/Linux/Gentoo " LANG="ja_JP.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs" LEX="flex" MAKEOPTS="-j32" 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" SHELL="/bin/zsh" USE="X aac acl acpi alsa amd64 apparmor avif bluetooth bluray bzip2 cairo cdr cet cjk crypt css curl dbus dvd dvdr egl exif ffmpeg flac flatpak fontconfig gdbm gmp gnome-keyring gtk iconv icu inotify ipv6 jpeg jpeg2k keyring lame libnotify libtirpc linguas_en linguas_ja luajit m17n-lib matroska mp3 mp4 mpeg multilib ncurses nls ogg opengl openmp opus pam pcre pipewire png policykit pulseaudio readline screencast seccomp sqlite ssl startup-notification systemd taglib test-rust theora threads tiff tls truetype udev udisks unicode upower usb vaapi vorbis vpx vulkan wavpack wayland wifi xattr xft xinerama xrandr zeroconf zlib zsh-completion zstd" 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="aes avx avx2 avx512_bf16 avx512_bitalg avx512_vbmi2 avx512_vnni avx512_vpopcntdq avx512bw avx512cd avx512dq avx512f avx512ifma avx512vbmi avx512vl f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 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" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput wacom" KERNEL="linux" L10N="en ja" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PERL_FEATURES="ithreads" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres16" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby34" VIDEO_CARDS="amdgpu fbdev radeonsi" 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, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS $ ```
(In reply to YOSHIOKA Takuma from comment #0) > Probably the dependency with `tools` USE flag should be updated to reject > >=ffmpeg-7. That'd be a bit messy given ffmpeg-7[chromaprint] depends on chromaprint (circular), not to mention that it'd block upgrade to ffmpeg-7 for the whole system that we want to avoid at this point. ffmpeg-compat:6 is also better avoided given that may interact badly with the circular usage as well. Ideally need a fix to backport to let it work with ffmpeg-7. $URL mentions that [1] fixes it and it seems to apply cleanly to our in-tree version (on top of our current ffmpeg-5.patch). Does [1] help for you? Haven't tried this yet myself nor know anything about chromaprint really, so I'd rather an actual user tries it. [1] https://github.com/acoustid/chromaprint/commit/82781d02cd3063d071a501218297a90bde9a314f.patch
(In reply to Ionen Wolkens from comment #1) > Ideally need a fix to backport to let it work with ffmpeg-7. > > $URL mentions that [1] fixes it and it seems to apply cleanly to our in-tree > version (on top of our current ffmpeg-5.patch). > > Does [1] help for you? Haven't tried this yet myself nor know anything about > chromaprint really, so I'd rather an actual user tries it. > > [1] > https://github.com/acoustid/chromaprint/commit/ > 82781d02cd3063d071a501218297a90bde9a314f.patch Yes, I can apply it without no patch modification, and now fpcalc command looks working as expected.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ab82e421dc3c06d43ab37faae5b5e0fd0d405c56 commit ab82e421dc3c06d43ab37faae5b5e0fd0d405c56 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2025-04-01 17:17:22 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2025-04-01 17:29:26 +0000 media-libs/chromaprint: backport runtime fix for ffmpeg-7 Not closing bug #953008 given still getting a test failure with ffmpeg-7 (not really investigated, could be harmless) Expected equality of these values: 2 reader.GetChannels() Which is: 1 [ FAILED ] FFmpegAudioReaderTest.ReadRaw (0 ms) Does not seem caused by the patch given tests passes when using ffmpeg-6, the patch also fixes an issue with ffmpeg-6 so there's no reason not to add it. (also side-fix ExcessiveLineLength warning while here) Bug: https://bugs.gentoo.org/953008 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> ...1.5.1-r3.ebuild => chromaprint-1.5.1-r4.ebuild} | 15 +++++-- media-libs/chromaprint/files/ffmpeg-7.patch | 46 ++++++++++++++++++++++ 2 files changed, 57 insertions(+), 4 deletions(-)
Was worried that the test failure could imply different fingerprints (e.g. if get channels wrong), but ffmpeg-6 and 7 yield the same results from a few quick tries -- but who knows, could only manifest in specific cases. Not planning to look further into this myself nor have it block potential ffmpeg-7 stable in the future, but could be worth investigating if someone wants to. Hopefully gets a new release sometime, been years but upstream is still active.