0

I'm trying to do a minimal build of ffmpeg in MinGW including x264. For some reason the x264 package depends on ffms2 which depends on ffmpeg which itself has a huge list of dependencies. I will try installing x264 from git instead, but I'm wondering why pacman has this circular dependency loop.

$ pacman -Si mingw-w64-x86_64-x264-git
Repository      : mingw64
Name            : mingw-w64-x86_64-x264-git
Version         : r2991.1771b556-1
Description     : Library for encoding H264/AVC video streams (mingw-w64)
Architecture    : any
URL             : https://www.videolan.org/developers/x264.html
Licenses        : custom
Groups          : None
Provides        : mingw-w64-x86_64-x264
Depends On      : mingw-w64-x86_64-libwinpthread  mingw-w64-x86_64-l-smash  mingw-w64-x86_64-ffms2
Optional Deps   : None
Conflicts With  : mingw-w64-x86_64-x264
Replaces        : mingw-w64-x86_64-x264
Download Size   : 810.45 KiB
Installed Size  : 6823.71 KiB
Packager        : Alexey Pavlov <alexpux@gmail.com>
Build Date      : Fri Jan 17 03:22:53 2020
Validated By    : MD5 Sum  SHA-256 Sum  Signature
$ pacman -Su mingw-w64-x86_64-x264-git
:: Starting core system upgrade...
 there is nothing to do
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
warning: dependency cycle detected:
warning: mingw-w64-x86_64-ffmpeg will be installed before its mingw-w64-x86_64-x264-git dependency
warning: dependency cycle detected:
warning: mingw-w64-x86_64-harfbuzz will be installed before its mingw-w64-x86_64-freetype dependency
warning: dependency cycle detected:
warning: mingw-w64-x86_64-libwebp will be installed before its mingw-w64-x86_64-libtiff dependency

Packages (100) mingw-w64-x86_64-SDL2-2.0.12-8  mingw-w64-x86_64-aom-2.0.1-1
               mingw-w64-x86_64-boost-1.75.0-2  mingw-w64-x86_64-brotli-1.0.9-2
               mingw-w64-x86_64-c-ares-1.16.1-1  mingw-w64-x86_64-cairo-1.17.4-1
               mingw-w64-x86_64-celt-0.11.3-4  mingw-w64-x86_64-ceres-solver-2.0.0-2
               mingw-w64-x86_64-cppunit-1.15.1-1  mingw-w64-x86_64-curl-7.74.0-2
               mingw-w64-x86_64-dav1d-0.7.1-2  mingw-w64-x86_64-eigen3-3.3.9-1
               mingw-w64-x86_64-ffmpeg-4.3.1-7  mingw-w64-x86_64-ffms2-2.23.1-1
               mingw-w64-x86_64-fontconfig-2.13.93-1  mingw-w64-x86_64-freeimage-3.18.0-5
               mingw-w64-x86_64-freetype-2.10.4-1  mingw-w64-x86_64-frei0r-plugins-1.7.0-2
               mingw-w64-x86_64-fribidi-1.0.10-2  mingw-w64-x86_64-gavl-1.4.0-1
               mingw-w64-x86_64-gflags-2.2.2-2  mingw-w64-x86_64-giflib-5.2.1-1
               mingw-w64-x86_64-glib2-2.66.4-1  mingw-w64-x86_64-glog-0.4.0-2
               mingw-w64-x86_64-glsl-optimizer-git-r66914.9a2852138d-1
               mingw-w64-x86_64-gnutls-3.7.0-1  mingw-w64-x86_64-graphite2-1.3.14-2
               mingw-w64-x86_64-gsm-1.0.19-1  mingw-w64-x86_64-harfbuzz-2.7.4-1
               mingw-w64-x86_64-hdf5-1.12.0-2  mingw-w64-x86_64-hlsl2glsl-git-r848.957cd20-1
               mingw-w64-x86_64-icu-68.2-2  mingw-w64-x86_64-ilmbase-2.5.4-4
               mingw-w64-x86_64-intel-tbb-1~2020.2-2  mingw-w64-x86_64-jansson-2.13.1-1
               mingw-w64-x86_64-jasper-2.0.22-2  mingw-w64-x86_64-jemalloc-5.2.1-1
               mingw-w64-x86_64-jxrlib-1.1-3  mingw-w64-x86_64-lame-3.100-1
               mingw-w64-x86_64-lcms2-2.11-1  mingw-w64-x86_64-leptonica-1.80.0-1
               mingw-w64-x86_64-libarchive-3.5.1-1  mingw-w64-x86_64-libass-0.15.0-1
               mingw-w64-x86_64-libbluray-1.2.1-1  mingw-w64-x86_64-libcaca-0.99.beta19-5
               mingw-w64-x86_64-libdatrie-0.2.12-1  mingw-w64-x86_64-libdeflate-1.7-1
               mingw-w64-x86_64-libexif-0.6.22-1  mingw-w64-x86_64-libidn2-2.3.0-1
               mingw-w64-x86_64-libjpeg-turbo-2.0.5-1  mingw-w64-x86_64-libmetalink-0.1.3-3
               mingw-w64-x86_64-libmfx-1.25-1  mingw-w64-x86_64-libmodplug-0.8.9.0-1
               mingw-w64-x86_64-libmysofa-1.1-1  mingw-w64-x86_64-libogg-1.3.4-3
               mingw-w64-x86_64-libpng-1.6.37-3  mingw-w64-x86_64-libpsl-0.21.1-2
               mingw-w64-x86_64-libraw-0.20.2-1  mingw-w64-x86_64-libssh2-1.9.0-2
               mingw-w64-x86_64-libthai-0.1.28-2  mingw-w64-x86_64-libtheora-1.1.1-4
               mingw-w64-x86_64-libtiff-4.2.0-1  mingw-w64-x86_64-libunistring-0.9.10-2
               mingw-w64-x86_64-libunwind-11.0.0-5  mingw-w64-x86_64-libvorbis-1.3.7-1
               mingw-w64-x86_64-libvpx-1.9.0-1  mingw-w64-x86_64-libwebp-1.1.0-1
               mingw-w64-x86_64-libxml2-2.9.10-5  mingw-w64-x86_64-lz4-1.9.3-1
               mingw-w64-x86_64-lzo2-2.10-1  mingw-w64-x86_64-metis-5.1.0-3
               mingw-w64-x86_64-nettle-3.7-1  mingw-w64-x86_64-nghttp2-1.41.0-1
               mingw-w64-x86_64-ogre3d-1.12.6-1  mingw-w64-x86_64-openal-1.20.1-2
               mingw-w64-x86_64-openblas-0.3.13-1  mingw-w64-x86_64-opencore-amr-0.1.5-1
               mingw-w64-x86_64-opencv-4.5.1-2  mingw-w64-x86_64-openexr-2.5.4-4
               mingw-w64-x86_64-openjpeg2-2.3.1-1  mingw-w64-x86_64-pango-1.48.0-1
               mingw-w64-x86_64-pcre-8.44-2  mingw-w64-x86_64-pixman-0.40.0-2
               mingw-w64-x86_64-protobuf-3.12.4-1  mingw-w64-x86_64-pugixml-1.11.4-1
               mingw-w64-x86_64-rtmpdump-git-r514.c5f04a5-3  mingw-w64-x86_64-speex-1.2.0-1
               mingw-w64-x86_64-speexdsp-1.2.0-1  mingw-w64-x86_64-srt-1.4.2-1
               mingw-w64-x86_64-suitesparse-5.8.1-1  mingw-w64-x86_64-szip-2.1.1-2
               mingw-w64-x86_64-tesseract-ocr-4.1.1-6  mingw-w64-x86_64-tinyxml-2.6.2-4
               mingw-w64-x86_64-vulkan-headers-1.2.158-1  mingw-w64-x86_64-vulkan-loader-1.2.158-1
               mingw-w64-x86_64-wavpack-5.3.0-1  mingw-w64-x86_64-wineditline-2.205-3
               mingw-w64-x86_64-xvidcore-1.3.7-1  mingw-w64-x86_64-zziplib-0.13.71-1
               mingw-w64-x86_64-x264-git-r2991.1771b556-1

Total Download Size:    269.17 MiB
Total Installed Size:  1332.63 MiB

:: Proceed with installation? [Y/n]
0

The included x264 cli app may depend on libavformat and libswscale, which is where the ffmpeg dependency comes in.

The libx264 wrapper in libavcodec depends on x264.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.