Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build failure: ffmpeg-full #392771

Closed
3 tasks done
uninsane opened this issue Mar 24, 2025 · 6 comments · Fixed by #392810
Closed
3 tasks done

Build failure: ffmpeg-full #392771

uninsane opened this issue Mar 24, 2025 · 6 comments · Fixed by #392810
Labels
0.kind: build failure A package fails to build

Comments

@uninsane
Copy link
Contributor

Nixpkgs version

  • Unstable (25.05)

Steps to reproduce

$ git checkout 9f511525b00e57477826895dcc17ffa42a2186c5  # master as of 2025-03-24 16:26:11
$ nix-build -A ffmpeg-full

Can Hydra reproduce this build failure?

Please select the Hydra Status.

Link to Hydra build job

No response

Relevant log output

this derivation will be built:
  /nix/store/y4fnclnjqzxzq2kph0m9znh6j1kw6yir-ffmpeg-full-7.1.1.drv
building '/nix/store/y4fnclnjqzxzq2kph0m9znh6j1kw6yir-ffmpeg-full-7.1.1.drv'...
Running phase: unpackPhase
unpacking source archive /nix/store/dr00262f0i2fr7n1xjsqp4vj22ch8294-ffmpeg
source root is ffmpeg
Running phase: patchPhase
applying patch /nix/store/6v7njhg0nxy4lhs892fmg94rmygvdk0h-add-av_stream_get_first_dts-for-chromium.patch
patching file libavformat/avformat.h
Hunk #1 succeeded at 1202 with fuzz 2 (offset 74 lines).
patching file libavformat/mux_utils.c
Hunk #1 succeeded at 30 with fuzz 2 (offset -7 lines).
patching script interpreter paths in .
./tools/patcheck: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./tools/general_assembly.pl: interpreter directive changed from "#!/usr/bin/env perl" to "/nix/store/8v0r6qxs5cps7cgcjp215895wja6k0by-perl-5.40.0/bin/perl"
./tools/source2c: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./tools/gen-rc: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./tools/dvd2concat: interpreter directive changed from "#!/usr/bin/env perl" to "/nix/store/8v0r6qxs5cps7cgcjp215895wja6k0by-perl-5.40.0/bin/perl"
./tools/unwrap-diff: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./tools/target_dec_fate.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./tools/plotframes: interpreter directive changed from "#!/usr/bin/env perl" to "/nix/store/8v0r6qxs5cps7cgcjp215895wja6k0by-perl-5.40.0/bin/perl"
./tools/murge: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./tools/missing_codec_desc: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./tools/make_chlayout_test: interpreter directive changed from "#!/usr/bin/env perl" to "/nix/store/8v0r6qxs5cps7cgcjp215895wja6k0by-perl-5.40.0/bin/perl"
./tools/libav-merge-next-commit: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./tools/clean-diff: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./tools/bisect-create: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./tests/fate/source-check.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./tests/fate.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./tests/fate-run.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./tests/copycooker.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./ffbuild/libversion.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./ffbuild/version.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./ffbuild/pkgconfig_generate.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./doc/doxy-wrapper.sh: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./configure: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./compat/windows/mswindres: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./compat/windows/mslink: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./compat/windows/makedef: interpreter directive changed from "#!/bin/sh" to "/nix/store/58br4vk3q5akf4g8lx0pqzfhn47k3j8d-bash-5.2p37/bin/sh"
./compat/solaris/make_sunver.pl: interpreter directive changed from "#!/usr/bin/env perl" to "/nix/store/8v0r6qxs5cps7cgcjp215895wja6k0by-perl-5.40.0/bin/perl"
substituteStream() in derivation ffmpeg-full-7.1.1: WARNING: '--replace' is deprecated, use --replace-{fail,warn,quiet}. (file 'libavfilter/vf_frei0r.c')
Running phase: updateAutotoolsGnuConfigScriptsPhase
Running phase: configurePhase
patching script interpreter paths in ./configure
configure flags: --disable-static --prefix=/nix/store/64dl8sh5915kpf6dfd5ifcdk0afs411s-ffmpeg-full-7.1.1 --target_os=linux --arch=x86_64 --pkg-config=pkg-config --enable-gpl --enable-version3 --disable-nonfree --disable-static --enable-shared --enable-pic --disable-thumb --disable-small --enable-runtime-cpudetect --enable-gray --enable-swscale-alpha --enable-hardcoded-tables --enable-safe-bitstream-reader --enable-pthreads --disable-w32threads --disable-os2threads --enable-network --enable-pixelutils --datadir=/nix/store/xvchzyrqfv6bnlx9pzy2szrldda5f129-ffmpeg-full-7.1.1-data/share/ffmpeg --enable-ffmpeg --enable-ffplay --enable-ffprobe --bindir=/nix/store/v9ydb3vayqc7hks8ibqfcd7hhrmlqzsj-ffmpeg-full-7.1.1-bin/bin --enable-avcodec --enable-avdevice --enable-avfilter --enable-avformat --enable-avutil --enable-postproc --enable-swresample --enable-swscale --libdir=/nix/store/s5gia9vvaxwqg1n0cxms2znyrxn7nn0x-ffmpeg-full-7.1.1-lib/lib --incdir=/nix/store/gk6npm69pid7sy3y4xx5h42s9zmrxjdk-ffmpeg-full-7.1.1-dev/include --enable-doc --enable-htmlpages --enable-manpages --mandir=/nix/store/r5nq7aqqjz33r3nx36filwmkzy6d9x17-ffmpeg-full-7.1.1-man/share/man --enable-podpages --enable-txtpages --docdir=/nix/store/wqvbf1r5gn1vcgj9wp6wkgdj7yxgg917-ffmpeg-full-7.1.1-doc/share/doc/ffmpeg --enable-alsa --enable-amf --enable-libaom --enable-libaribb24 --enable-libaribcaption --enable-libass --enable-avisynth --enable-libbluray --enable-libbs2b --enable-bzlib --enable-libcaca --enable-libcdio --enable-libcelt --enable-chromaprint --enable-libcodec2 --enable-cuda --enable-cuda-llvm --disable-cuda-nvcc --enable-cuvid --enable-libdav1d --enable-libdc1394 --enable-libdrm --enable-libdvdnav --enable-libdvdread --disable-libfdk-aac --enable-ffnvcodec --enable-libflite --enable-fontconfig --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libfribidi --enable-libgme --enable-gnutls --enable-libgsm --enable-libharfbuzz --enable-iconv --enable-libilbc --enable-libjack --enable-libjxl --enable-libkvazaar --enable-ladspa --enable-liblc3 --enable-liblcevc-dec --enable-lcms2 --enable-lzma --disable-metal --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libmysofa --disable-libnpp --enable-nvdec --enable-nvenc --enable-openal --enable-opencl --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-opengl --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-libqrencode --enable-libquirc --enable-librav1e --enable-librist --enable-librtmp --enable-librubberband --enable-libsmbclient --enable-sdl2 --enable-libshaderc --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-librsvg --enable-libsvtav1 --disable-libtensorflow --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-v4l2-m2m --enable-vaapi --enable-vdpau --disable-libvpl --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-vulkan --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxcb --enable-libxcb-shape --enable-libxcb-shm --enable-libxcb-xfixes --enable-libxevd --enable-libxeve --enable-xlib --enable-libxml2 --enable-libxvid --enable-libzimg --enable-zlib --enable-libzmq --enable-libzvbi --disable-debug --enable-optimizations --disable-extra-warnings --disable-stripping
ERROR: lcevc_dec >= 2.0.0 not found using pkg-config

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.libera.chat.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.

Additional context

#392115 recently bumped the library which ffmpeg errors on: lcevcdec

System metadata

$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.13.7, NixOS, 25.05 (Warbler), 25.05pre-git`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.24.12`
 - nixpkgs: `/home/colin/src/nixos/nixpkgs`

Notify maintainers

ffmpeg maintainers: @Atemu @jopejoe1 @emilazy


Note for maintainers: Please tag this issue in your pull request description. (i.e. Resolves #ISSUE.)

I assert that this issue is relevant for Nixpkgs

Is this issue important to you?

Add a 👍 reaction to issues you find important.

@uninsane uninsane added the 0.kind: build failure A package fails to build label Mar 24, 2025
@thefossguy
Copy link
Member

The build error message specifies that the version of lcevc_dec not greater-than-or-equal to 2.0.0.

ffmpeg-full> ERROR: lcevc_dec >= 2.0.0 not found using pkg-config
ffmpeg-full>
ffmpeg-full> If you think configure made a mistake, make sure you are using the latest
ffmpeg-full> version from Git.  If the latest version fails, report the problem to the
ffmpeg-full> ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.libera.chat.
ffmpeg-full> Include the log file "ffbuild/config.log" produced by configure as this will help
ffmpeg-full> solve the problem.

At the time of writing this, nixpkgs master is at 995d7da02d6d3c46773ee549c919e6d53169000e. But package lcevcdec is at version 3.3.5.

@thefossguy
Copy link
Member

Ah, the version field is empty in the lcevc_dec.pc file:

prefix=${pcfiledir}/../..
libdir=/nix/store/rziv2fqxqhh4nb9q3aykxhr2fmvwk64g-lcevcdec-3.3.5-lib/lib
includedir=/nix/store/gkic4l5hajqd9zg4w4rj3b4pfiwc1h02-lcevcdec-3.3.5-dev/include

Name: lcevc_dec
Description: LCEVC Decoder SDK
Version: 
Libs: -L"${libdir}" -llcevc_dec_api
Libs.private: -lpthread -llcevc_dec_core
Cflags: -I"${includedir}"

@FliegendeWurst
Copy link
Member

I wonder why nixpkgs-review reported ffmpeg-full as building successfully (#392115 (comment))

@thefossguy
Copy link
Member

Maybe the version check was not present while merging that PR? That could've been introduced with the ffmpeg's version bump.

@thefossguy
Copy link
Member

What I don't understand is why the version being passed to makePkgconfigItem isn't working. But, I can patch it out like so:

  preInstall = ''
    sed -i 's@^Version.*@Version: ${finalAttrs.version}@g' ./generated/*.pc
  '';

I also tried specifying version instead of inheriting it, but it still fails with an empty version string.

-inherit (finalAttrs) version;
+version = finalAttrs.version;

@FliegendeWurst
Copy link
Member

Simple, the .pc from the upstream install script overwrites ours. PR to fix #392810

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: build failure A package fails to build
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants