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

ffmpeg: disable autodetected deps in ./configure, add libsndio support, use non-system libvdpau #25543

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

valgur
Copy link
Contributor

@valgur valgur commented Oct 7, 2024

Summary

Changes to recipe: ffmpeg/[*]

Motivation

Static build of ffmpeg failed for me locally due to libsndio autodetection during ./configure picking up a non-Conan system version of the library.

Details

  • Disabled all dependency autodetections with --disable-autodetect ./configure flag to avoid cases like in the future. The flag is available all the way back to the oldest v4.4.4 on CCI.
  • Added support for libsndio. Disabled it by default.
  • Replaced vdpau/system with libvdpau/1.5, which was added a few months ago: libvdpau 1.5 #22236.
  • Added a version range for pkg-config.

@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Warning

Conan Center will stop receiving updates for Conan 1.x packages soon - please see announcement.

Failure in build 2 (117ed4138116ca3c27fca6f9cc58d2e8033fbb22):

  • ffmpeg/6.0.1:
    CI failed to create some packages (All logs)

    Logs for packageID 616a30bb8a9d3b0bac9df1cb98c9e37429ac275e:
    [settings]
    arch=armv8
    build_type=Debug
    compiler=apple-clang
    compiler.libcxx=libc++
    compiler.version=13.0
    os=Macos
    [options]
    ffmpeg:shared=False
    
    [...]
        if (ret == AVERROR_OPTION_NOT_FOUND && key[0] == '/')
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/fftools/ffmpeg_filter.c:367:22: note: initialize the variable 'o' to silence this warning
        const AVOption *o;
                         ^
                          = NULL
    2 warnings generated.
    Undefined symbols for architecture arm64:
      "_libiconv", referenced from:
    Undefined symbols for architecture arm64:
      "_libiconv", referenced from:
          _recode_subtitle in libavcodec.a(decode.o)
          _recode_subtitle in libavcodec.a(decode.o)
          _getstr8 in libavformat.a(mpegts.o)
          _getstr8 in libavformat.a(mpegts.o)
      "_libiconv_close", referenced from:
      "_libiconv_close", referenced from:
          _recode_subtitle in libavcodec.a(decode.o)
          _ff_decode_preinit in libavcodec.a(decode.o)
          _recode_subtitle in libavcodec.a(decode.o)
          _ff_decode_preinit in libavcodec.a(decode.o)
          _getstr8 in libavformat.a(mpegts.o)
          _getstr8 in libavformat.a(mpegts.o)
      "_libiconv_open", referenced from:
      "_libiconv_open", referenced from:
          _recode_subtitle in libavcodec.a(decode.o)
          _ff_decode_preinit in libavcodec.a(decode.o)
          _recode_subtitle in libavcodec.a(decode.o)
          _ff_decode_preinit in libavcodec.a(decode.o)
          _getstr8 in libavformat.a(mpegts.o)
          _getstr8 in libavformat.a(mpegts.o)
    ld: symbol(s) not found for architecture arm64
    ld: symbol(s) not found for architecture arm64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    make: *** [ffmpeg_g] Error 1
    make: *** Waiting for unfinished jobs....
    make: *** [ffprobe_g] Error 1
    WARN: **************************************************
    WARN: *** Conan 1 is legacy and on a deprecation path **
    WARN: *********** Please upgrade to Conan 2 ************
    WARN: **************************************************
    WARN: freetype/2.13.2: requirement zlib/[>=1.2.10 <2] overridden by ffmpeg/6.0.1 to zlib/1.3.1 
    WARN: libpng/1.6.44: requirement zlib/[>=1.2.11 <2] overridden by freetype/2.13.2 to zlib/1.3.1 
    WARN: openssl/3.3.2: requirement zlib/[>=1.2.11 <2] overridden by ffmpeg/6.0.1 to zlib/1.3.1 
    ffmpeg/6.0.1: ERROR: Package '616a30bb8a9d3b0bac9df1cb98c9e37429ac275e' build failed
    ffmpeg/6.0.1: WARN: Build folder /Users/jenkins/workspace/prod-v1/bsr/110097/babbe/.conan/data/ffmpeg/6.0.1/_/_/build/616a30bb8a9d3b0bac9df1cb98c9e37429ac275e/build-debug
    ERROR: ffmpeg/6.0.1: Error in build() method, line 736
    	autotools.make()
    	ConanException: Error 2 while executing make -j8
    
  • ffmpeg/6.1:
    Didn't run or was cancelled before finishing

  • ffmpeg/7.0.1:
    Didn't run or was cancelled before finishing

  • ffmpeg/5.1.3:
    Didn't run or was cancelled before finishing

  • ffmpeg/4.4.4:
    Didn't run or was cancelled before finishing

  • ffmpeg/5.0.3:
    Didn't run or was cancelled before finishing

  • ffmpeg/6.1.1:
    Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.


Conan v2 pipeline ❌

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians on the PR and we will help you.

Failure in build 2 (117ed4138116ca3c27fca6f9cc58d2e8033fbb22):

  • ffmpeg/6.0.1:
    Didn't run or was cancelled before finishing

  • ffmpeg/5.0.3:
    CI failed to create some packages (All logs)

    Logs for packageID 0b533901b0fe57c10a8dbf5c2fb5adc8062a8d8b:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=apple-clang
    compiler.cppstd=17
    compiler.libcxx=libc++
    compiler.version=13
    os=Macos
    [options]
    */*:shared=False
    
    [...]
    AR	libswresample/libswresample.a
    AR	libswscale/libswscale.a
    STRIP	libavutil/x86/tx_float.o
    AR	libavutil/libavutil.a
    STRIP	libavcodec/x86/vp9itxfm.o
    AR	libavcodec/libavcodec.a
    LD	ffprobe_g
    LD	ffmpeg_g
    ld: warning: ld: warning: could not create compact unwind for _ff_cfhd_init_vlcs: stack subq instruction is too different from dwarf stack size
    could not create compact unwind for _ff_cfhd_init_vlcs: stack subq instruction is too different from dwarf stack size
    ld: warning: could not create compact unwind for _ff_rl_init_vlc: stack subq instruction is too different from dwarf stack size
    ld: warning: could not create compact unwind for _ff_rl_init_vlc: stack subq instruction is too different from dwarf stack size
    Undefined symbols for architecture x86_64:
    Undefined symbols for architecture x86_64:
      "_libiconv", referenced from:
      "_libiconv", referenced from:
          _avcodec_decode_subtitle2 in libavcodec.a(decode.o)
          _avcodec_decode_subtitle2 in libavcodec.a(decode.o)
          _getstr8 in libavformat.a(mpegts.o)
          _getstr8 in libavformat.a(mpegts.o)
      "_libiconv_close", referenced from:
      "_libiconv_close", referenced from:
          _avcodec_decode_subtitle2 in libavcodec.a(decode.o)
          _ff_decode_preinit in libavcodec.a(decode.o)
          _avcodec_decode_subtitle2 in libavcodec.a(decode.o)
          _ff_decode_preinit in libavcodec.a(decode.o)
          _getstr8 in libavformat.a(mpegts.o)
          _getstr8 in libavformat.a(mpegts.o)
      "_libiconv_open", referenced from:
      "_libiconv_open", referenced from:
          _avcodec_decode_subtitle2 in libavcodec.a(decode.o)
          _ff_decode_preinit in libavcodec.a(decode.o)
          _avcodec_decode_subtitle2 in libavcodec.a(decode.o)
          _ff_decode_preinit in libavcodec.a(decode.o)
          _getstr8 in libavformat.a(mpegts.o)
          _getstr8 in libavformat.a(mpegts.o)
    ld: symbol(s) not found for architecture x86_64
    ld: symbol(s) not found for architecture x86_64
    clang: clang: error: linker command failed with exit code 1 (use -v to see invocation)
    error: linker command failed with exit code 1 (use -v to see invocation)
    make: *** [ffmpeg_g] Error 1
    make: *** Waiting for unfinished jobs....
    make: *** [ffprobe_g] Error 1
    
    ffmpeg/5.0.3: ERROR: 
    Package '0b533901b0fe57c10a8dbf5c2fb5adc8062a8d8b' build failed
    ffmpeg/5.0.3: WARN: Build folder /Users/jenkins/workspace/prod-v2/bsr@2/98242/fecdb/p/b/ffmpea5d0dfb645a9b/b/build-release
    ERROR: ffmpeg/5.0.3: Error in build() method, line 736
    	autotools.make()
    	ConanException: Error 2 while executing
    
  • ffmpeg/7.0.1:
    Didn't run or was cancelled before finishing

  • ffmpeg/6.1:
    Didn't run or was cancelled before finishing

  • ffmpeg/6.1.1:
    Didn't run or was cancelled before finishing

  • ffmpeg/5.1.3:
    Didn't run or was cancelled before finishing

  • ffmpeg/4.4.4:
    Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants