Git Product home page Git Product logo

ffmpeg-apple-arm64-build's Issues

check failed: build FriBidi

No action set, all failures wil stop the script
base directory is /Users/nut/Dropbox/dev/github/ffmpeg-apple-arm64-build
script directory is /Users/nut/Dropbox/dev/github/ffmpeg-apple-arm64-build/build
test directory is /Users/nut/Dropbox/dev/github/ffmpeg-apple-arm64-build/test
working directory is /Users/nut/Dropbox/dev/github/ffmpeg-apple-arm64-build/ffmpeg-compile
tool directory is /Users/nut/Dropbox/dev/github/ffmpeg-apple-arm64-build/ffmpeg-compile/tool
output directory is /Users/nut/Dropbox/dev/github/ffmpeg-apple-arm64-build/ffmpeg-compile/out

prepare workspace
use 10 cpu threads

compile cmake
took 303s

compile pkg-config
took 108s

compile FriBidi
check failed: build FriBidi

Can't Build AOM - i386

I am trying to build AOM and the logs give me this:

+ cmake -DCMAKE_INSTALL_PREFIX:PATH=/Users/xxxxxxxx/Development/ffmpeg-apple-arm64-build/tool -DENABLE_NEON=ON -DHAVE_NEON=1 -DENABLE_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=Release '-DCMAKE_CXX_FLAGS=-flto -O3' '-DCMAKE_C_FLAGS=-flto -O3' -DCMAKE_C_FLAGS_INIT=-flto=8 ../aom/
-- The C compiler identification is AppleClang 14.0.3.14030022
-- The CXX compiler identification is AppleClang 14.0.3.14030022
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
CMake Warning at build/cmake/util.cmake:120 (message):
  HAVE_NEON has been set by CMake, but it may be overridden by the build
  system during environment detection
Call Stack (most recent call first):
  build/cmake/aom_config_defaults.cmake:33 (set_aom_detect_var)
  build/cmake/aom_configure.cmake:18 (include)
  CMakeLists.txt:73 (include)


--- aom_configure: Detected CPU: arm64
Running C compiler test: pie_check
-- Performing Test C_TEST_COMPILED
-- Performing Test C_TEST_COMPILED - Failed
C Compiler test pie_check failed.
-- The ASM compiler identification is AppleClang
-- Found assembler: /usr/bin/as

And it just hangs. When I try to compile it on my own with cmake aom, there error message its more in-depth with:

CMake Error at /opt/homebrew/Cellar/cmake/3.27.5/share/cmake/Modules/CMakeTestCCompiler.cmake:67 (message):
  The C compiler

    "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: '/Users/xxxxxx/Development/CMakeFiles/CMakeScratch/TryCompile-pivjRb'
    
    Run Build Command(s): /opt/homebrew/Cellar/cmake/3.27.5/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_c6a0f/fast
    /Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/cmTC_c6a0f.dir/build.make CMakeFiles/cmTC_c6a0f.dir/build
    Building C object CMakeFiles/cmTC_c6a0f.dir/testCCompiler.c.o
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -arch i386  -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -MD -MT CMakeFiles/cmTC_c6a0f.dir/testCCompiler.c.o -MF CMakeFiles/cmTC_c6a0f.dir/testCCompiler.c.o.d -o CMakeFiles/cmTC_c6a0f.dir/testCCompiler.c.o -c /Users/xxxxxx/Development/CMakeFiles/CMakeScratch/TryCompile-pivjRb/testCCompiler.c
    Linking C executable cmTC_c6a0f
    /opt/homebrew/Cellar/cmake/3.27.5/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c6a0f.dir/link.txt --verbose=1
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -arch i386  -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -Wl,-headerpad_max_install_names -arch i386  CMakeFiles/cmTC_c6a0f.dir/testCCompiler.c.o -o cmTC_c6a0f 
    ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS)
    ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/lib/libSystem.tbd, missing required architecture i386 in file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/usr/lib/libSystem.tbd (3 slices)
    ld: dynamic executables or dylibs must link with libSystem.dylib for architecture i386
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    make[1]: *** [cmTC_c6a0f] Error 1
    make: *** [cmTC_c6a0f/fast] Error 2
    
    

  

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:28 (project)

So apparently its trying to compile with i386 and not x86_64. I've tried the suggested cmake aom -DCMAKE_TOOLCHAIN_FILE=aom/build/cmake/toolchains/x86-macos.cmake and the same result.

Any suggestions?

Error applying option 'blend' to filter 'tvai_up': Option not found

I'm very new to all this so apologies in advance if I've goofed something.

Using this export command from Topaz:

ffmpeg "-hide_banner" "-i" "in.mkv" "-sws_flags" "spline+accurate_rnd+full_chroma_int" "-color_trc" "1" "-colorspace" "6" "-color_primaries" "6" "-filter_complex" "tvai_up=model=prob-3:scale=0:w=1620:h=1080:preblur=0:noise=0.7:details=0.7:halo=0:blur=-1:compression=0:estimate=20:blend=1:device=0:vram=1:instances=1,scale=w=1620:h=1080:flags=lanczos:threads=0" "-c:v" "tiff" "-pix_fmt" "rgb48le" "-compression_algo" "deflate" "-start_number" "1" "out/%06d.tiff"

I get this error:

Error applying option 'blend' to filter 'tvai_up': Option not found

If I remove blend=1 it does work but I do need blend.
If I specify the path to Topaz's ffmpeg, I don't get the error and it works as expected, but I'd like to use this ffmpeg build.

Any ideas?

check failed: build of ffmpeg failed

Everything seemed to work until the ffmpeg build. The end of my build-ffmpeg.log file:

duplicate symbol '_av1_sgr_params' in:
    /Users/michael/Dev/ffmpeg-compile/tool/lib/libSvtAv1Enc.a[48](selfguided_neon.c.o)
    /tmp/lto.o
ld: 1 duplicate symbols
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ffprobe_g] Error 1
make: *** Waiting for unfinished jobs....
duplicate symbol '_av1_sgr_params' in:
    /Users/michael/Dev/ffmpeg-compile/tool/lib/libSvtAv1Enc.a[48](selfguided_neon.c.o)
    /tmp/lto.o
ld: 1 duplicate symbols
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ffplay_g] Error 1
duplicate symbol '_dec_init' in:
    /Users/michael/Dev/ffmpeg-compile/ffmpeg/ffmpeg/fftools/ffmpeg_dec.o
    /Users/michael/Dev/ffmpeg-compile/tool/lib/libbluray.a[28](libbluray_la-dec.o)
duplicate symbol '_av1_sgr_params' in:
    /Users/michael/Dev/ffmpeg-compile/tool/lib/libSvtAv1Enc.a[48](selfguided_neon.c.o)
    /tmp/lto.o
ld: 2 duplicate symbols
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ffmpeg_g] Error 1
rm libavfilter/metal/vf_yadif_videotoolbox.metal.air libavfilter/metal/vf_yadif_videotoolbox.metallib libavfilter/metal/vf_yadif_videotoolbox.metallib.c
+ checkStatus 2 'build of ffmpeg failed'
+ '[' 2 -ne 0 ']'
+ echo 'check failed: build of ffmpeg failed'
check failed: build of ffmpeg failed
+ exit 1

Adding ffplay to the build

Hey there. Is it possible to add the ffplay to the build's output?

I have tried cloning the SDL library from here, building it to the tools/ folder and setting --enable-sdl2 in the build-ffmpeg.sh's ./configure step, but it still won't compile that binary. Any help?

I can set a branch with where I got if you'd like, and even write a build-SDL.sh script.

aom av1: illegal instruction during test

Thanks for doing this work! ffmpeg compiled without issues on my Macbook Air M1, but fails in one test:
run test aom av1 encoding

/Users/name/git/ffmpeg-apple-arm64-build/test/test.sh: line 48: 84859 Illegal instruction: 4 $4/bin/ffmpeg -y -i "$2/test.mp4" -c:v "libaom-av1" -cpu-used 6 -row-mt 1 -an "$3/test-aom-av1.mp4" > "$3/test-aom-av1.log" 2>&1
check failed: test aom av1

I don't plan on using AV1 at the moment, but it's a curious failure.

Unable to compile

Thanks for the script but I keep getting a build fail on compiling free type.

CMakeError.log

Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
Compiler: /Library/Developer/CommandLineTools/usr/bin/cc 
Build flags: 
Id flags:  

The output was:
1
ld: library not found for -lSystem
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Running macOS 12.2 on Mac Mini M1
Xcode 13.2.1
curl 7.77.0 (x86_64-apple-darwin21.0) libcurl/7.77.0 (SecureTransport) LibreSSL/2.8.3 zlib/1.2.11 nghttp2/1.42.0
GNU Make 3.81
git version 2.32.0 (Apple Git-132)

check failed: installation of brotli failed

Trying to build this on an Apple M1 Pro running macOS 13.4.1 (Ventura). Does the build command need to be run as sudo?

./build.sh
No action set, all failures wil stop the script
base directory is /Users/username/ffmpeg-apple-arm64-build
script directory is /Users/username/ffmpeg-apple-arm64-build/build
test directory is /Users/username/ffmpeg-apple-arm64-build/test
working directory is /Users/username/ffmpeg-apple-arm64-build
tool directory is /Users/username/ffmpeg-apple-arm64-build/tool
output directory is /Users/username/ffmpeg-apple-arm64-build/out

prepare workspace
use 8 cpu threads

compile cmake
took 158s

compile pkg-config
took 53s

compile FriBidi
took 6s

compile zlib
took 2s

compile libpng
took 4s

compile brotli
check failed: build brotli

build-brotli.log:

cat build-brotli.log
Cloning into 'brotli'...
-- The C compiler identification is AppleClang 14.0.3.14030022
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Build type is 'Release'
-- Performing Test BROTLI_EMSCRIPTEN
-- Performing Test BROTLI_EMSCRIPTEN - Failed
-- Compiler is not EMSCRIPTEN
-- Looking for log2
-- Looking for log2 - found
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    INSTALL_PKGCONFIG_DIR


-- Build files have been written to: /Users/username/ffmpeg-apple-arm64-build/brotli/build-brotli
[  5%] Building C object CMakeFiles/brotlicommon.dir/c/common/constants.c.o
[  5%] Building C object CMakeFiles/brotlicommon.dir/c/common/context.c.o
[  8%] Building C object CMakeFiles/brotlicommon.dir/c/common/platform.c.o
[ 16%] Building C object CMakeFiles/brotlicommon.dir/c/common/dictionary.c.o
[ 16%] Building C object CMakeFiles/brotlicommon.dir/c/common/transform.c.o
[ 16%] Building C object CMakeFiles/brotlicommon.dir/c/common/shared_dictionary.c.o
[ 19%] Linking C static library libbrotlicommon.a
[ 19%] Built target brotlicommon
[ 22%] Building C object CMakeFiles/brotlienc.dir/c/enc/backward_references_hq.c.o
[ 27%] Building C object CMakeFiles/brotlidec.dir/c/dec/bit_reader.c.o
[ 27%] Building C object CMakeFiles/brotlidec.dir/c/dec/state.c.o
[ 33%] Building C object CMakeFiles/brotlienc.dir/c/enc/block_splitter.c.o
[ 33%] Building C object CMakeFiles/brotlidec.dir/c/dec/decode.c.o
[ 36%] Building C object CMakeFiles/brotlidec.dir/c/dec/huffman.c.o
[ 41%] Building C object CMakeFiles/brotlienc.dir/c/enc/backward_references.c.o
[ 41%] Building C object CMakeFiles/brotlienc.dir/c/enc/bit_cost.c.o
[ 44%] Building C object CMakeFiles/brotlienc.dir/c/enc/cluster.c.o
[ 47%] Building C object CMakeFiles/brotlienc.dir/c/enc/brotli_bit_stream.c.o
[ 50%] Building C object CMakeFiles/brotlienc.dir/c/enc/command.c.o
[ 52%] Building C object CMakeFiles/brotlienc.dir/c/enc/compound_dictionary.c.o
[ 55%] Building C object CMakeFiles/brotlienc.dir/c/enc/compress_fragment.c.o
[ 58%] Building C object CMakeFiles/brotlienc.dir/c/enc/compress_fragment_two_pass.c.o
[ 61%] Building C object CMakeFiles/brotlienc.dir/c/enc/dictionary_hash.c.o
[ 63%] Building C object CMakeFiles/brotlienc.dir/c/enc/encode.c.o
[ 66%] Building C object CMakeFiles/brotlienc.dir/c/enc/encoder_dict.c.o
[ 69%] Building C object CMakeFiles/brotlienc.dir/c/enc/entropy_encode.c.o
[ 72%] Linking C static library libbrotlidec.a
[ 75%] Building C object CMakeFiles/brotlienc.dir/c/enc/fast_log.c.o
[ 75%] Built target brotlidec
[ 77%] Building C object CMakeFiles/brotlienc.dir/c/enc/histogram.c.o
[ 80%] Building C object CMakeFiles/brotlienc.dir/c/enc/literal_cost.c.o
[ 83%] Building C object CMakeFiles/brotlienc.dir/c/enc/memory.c.o
[ 86%] Building C object CMakeFiles/brotlienc.dir/c/enc/metablock.c.o
[ 88%] Building C object CMakeFiles/brotlienc.dir/c/enc/static_dict.c.o
[ 91%] Building C object CMakeFiles/brotlienc.dir/c/enc/utf8_util.c.o
[ 94%] Linking C static library libbrotlienc.a
[ 94%] Built target brotlienc
[ 97%] Building C object CMakeFiles/brotli.dir/c/tools/brotli.c.o
[100%] Linking C executable brotli
[100%] Built target brotli
Consolidate compiler generated dependencies of target brotlicommon
[ 19%] Built target brotlicommon
Consolidate compiler generated dependencies of target brotlienc
[ 80%] Built target brotlienc
Consolidate compiler generated dependencies of target brotlidec
[ 94%] Built target brotlidec
Consolidate compiler generated dependencies of target brotli
[100%] Built target brotli
Install the project...
-- Install configuration: "Release"
-- Installing: /Users/username/ffmpeg-apple-arm64-build/tool/bin/brotli
-- Installing: /Users/username/ffmpeg-apple-arm64-build/tool/lib/libbrotlienc.a
-- Installing: /Users/username/ffmpeg-apple-arm64-build/tool/lib/libbrotlidec.a
-- Installing: /Users/username/ffmpeg-apple-arm64-build/tool/lib/libbrotlicommon.a
-- Installing: /Users/username/ffmpeg-apple-arm64-build/tool/include/brotli
-- Installing: /Users/username/ffmpeg-apple-arm64-build/tool/include/brotli/shared_dictionary.h
-- Installing: /Users/username/ffmpeg-apple-arm64-build/tool/include/brotli/port.h
-- Installing: /Users/username/ffmpeg-apple-arm64-build/tool/include/brotli/types.h
-- Installing: /Users/username/ffmpeg-apple-arm64-build/tool/include/brotli/encode.h
-- Installing: /Users/username/ffmpeg-apple-arm64-build/tool/include/brotli/decode.h
-- Installing: /Users/username/ffmpeg-apple-arm64-build/tool/lib/pkgconfig/libbrotlicommon.pc
-- Installing: /Users/username/ffmpeg-apple-arm64-build/tool/lib/pkgconfig/libbrotlidec.pc
-- Installing: /Users/username/ffmpeg-apple-arm64-build/tool/lib/pkgconfig/libbrotlienc.pc
CMake Error at cmake_install.cmake:99 (file):
  file cannot create directory: /man/man1.  Maybe need administrative
  privileges.


make: *** [install] Error 1
check failed: installation of brotli failed

Unable to compile on fresh install of M2 Ventura

Not sure what info is helpful here, fresh install of MacOS 13.2 with xcode-tools on a MacBook Air M2, but fails at compiling libass with the following:

checking whether the C compiler works... no
configure: error: in `/Users/anthonyizzo/Development/ffmpeg-apple-arm64-build/libass/libass-0.15.1':
configure: error: C compiler cannot create executables
See `config.log' for more details
+ checkStatus 77 'configuration of libass failed'
+ '[' 77 -ne 0 ']'
+ echo 'check failed: configuration of libass failed'
check failed: configuration of libass failed
+ exit 1```

Any ideas?

fatal error: 'arm_neon_sve_bridge.h' file not found

The Log says the following:

In file included from vpx_dsp/arm/highbd_vpx_convolve8_sve2.c:20:
./vpx_dsp/arm/vpx_neon_sve_bridge.h:16:10: fatal error: 'arm_neon_sve_bridge.h' file not found
#include <arm_neon_sve_bridge.h>
         ^~~~~~~~~~~~~~~~~~~~~~~
    [CC] vpx_dsp/arm/vpx_convolve8_neon_dotprod.c.o
1 error generated.

Push the patch upstream?

I'm very new to looking at ffmpeg code.
Could this NEON patch not be pushed upstream to videolan/x265 repo?

fontconfig fails on undefined brotli symbols

First of all, thanks for the great script! Back when I first discovered this I spent a long time trying to find the best way to build a feature-complete and Apple Silicon-optimized ffmpeg, so I was super happy to finally come across your script!

It worked great the first time—I think sometime last year—but now I'm getting some build issues. First brotli wasn't building, but I downloaded the patched script from another issue and got past that. Is there a reason that's not committed to main, by the way?

Now that I'm past brotli, I'm running into this brotli-related error in fontconfig. Any idea what's causing this?

  CCLD     fc-cache
ld: Undefined symbols:
  _BrotliDefaultAllocFunc, referenced from:
      _BrotliDecoderStateInit in libbrotlidec.a[5](state.c.o)
  _BrotliDefaultFreeFunc, referenced from:
      _BrotliDecoderStateInit in libbrotlidec.a[5](state.c.o)
  _BrotliSharedDictionaryAttach, referenced from:
      _BrotliDecoderAttachDictionary in libbrotlidec.a[3](decode.c.o)
  _BrotliSharedDictionaryCreateInstance, referenced from:
      _BrotliDecoderStateInit in libbrotlidec.a[5](state.c.o)
  _BrotliSharedDictionaryDestroyInstance, referenced from:
      _BrotliDecoderStateCleanup in libbrotlidec.a[5](state.c.o)
  _BrotliTransformDictionaryWord, referenced from:
      _ProcessCommands in libbrotlidec.a[3](decode.c.o)
      _SafeProcessCommands in libbrotlidec.a[3](decode.c.o)
  __kBrotliContextLookupTable, referenced from:
      _BrotliDecoderDecompressStream in libbrotlidec.a[3](decode.c.o)
      _SafeDecodeLiteralBlockSwitch in libbrotlidec.a[3](decode.c.o)
      _DecodeLiteralBlockSwitch in libbrotlidec.a[3](decode.c.o)
  __kBrotliPrefixCodeRanges, referenced from:
      _BrotliDecoderDecompressStream in libbrotlidec.a[3](decode.c.o)
      _SafeDecodeCommandBlockSwitch in libbrotlidec.a[3](decode.c.o)
      _DecodeCommandBlockSwitch in libbrotlidec.a[3](decode.c.o)
      _SafeDecodeDistanceBlockSwitch in libbrotlidec.a[3](decode.c.o)
      _DecodeDistanceBlockSwitch in libbrotlidec.a[3](decode.c.o)
      _SafeDecodeLiteralBlockSwitch in libbrotlidec.a[3](decode.c.o)
      _DecodeLiteralBlockSwitch in libbrotlidec.a[3](decode.c.o)
      ...
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [fc-cache] Error 1
make[1]: *** [all-recursive] Error 1                                            make: *** [all] Error 2                                                         check failed: build of fontconfig-2.15.0 failed

Skipping parts

Hi! Thanks for this project, trying to get a build going now.

I'm getting an error on fontconfig, which I assume is part of libass? I don't actually need subtitle support in my ffmpeg build (audio only) so is there a way to skip fontconfig and libass?

Where can I see what other parts can be skipped? I would prefer a build that is as small as possible.

Typo in build.sh

The shebang (first line) in build.sh
!/bin/sh should be #!/bin/sh

check failed: build pkg-config

For some reason I can't get pkg-config to build. MacOS 14.4 fully updated system.

build-pkg-config.log pasted below - offending lines at the bottom.

Any ideas what could be causing those errors?

+ build_main /Users/james/build/ffmpeg-apple-arm64-build/build /Users/james/build/ffmpeg-compile /Users/james/build/ffmpeg-compile/tool 0.29.2
+ [[ -d /Users/james/build/ffmpeg-compile/pkg-config ]]
+ [[ -d /Users/james/build/ffmpeg-compile/pkg-config ]]
+ [[ ! -d /Users/james/build/ffmpeg-compile/pkg-config ]]
+ make_directories /Users/james/build/ffmpeg-apple-arm64-build/build /Users/james/build/ffmpeg-compile /Users/james/build/ffmpeg-compile/tool 0.29.2
+ cd /Users/james/build/ffmpeg-compile
+ checkStatus 0 'change directory failed'
+ '[' 0 -ne 0 ']'
+ mkdir pkg-config
+ checkStatus 0 'create directory failed'
+ '[' 0 -ne 0 ']'
+ cd pkg-config/
+ checkStatus 0 'change directory failed'
+ '[' 0 -ne 0 ']'
+ download_code /Users/james/build/ffmpeg-apple-arm64-build/build /Users/james/build/ffmpeg-compile /Users/james/build/ffmpeg-compile/tool 0.29.2
+ cd /Users/james/build/ffmpeg-compile/pkg-config
+ checkStatus 0 'change directory failed'
+ '[' 0 -ne 0 ']'
+ curl -O -L https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  1 1969k    1 39947    0     0  34785      0  0:00:57  0:00:01  0:00:56 34766
100 1969k  100 1969k    0     0  1051k      0  0:00:01  0:00:01 --:--:-- 1050k
+ checkStatus 0 'download of pkg-config failed'
+ '[' 0 -ne 0 ']'
+ tar -zxf pkg-config-0.29.2.tar.gz
+ checkStatus 0 'unpack pkg-config failed'
+ '[' 0 -ne 0 ']'
+ cd pkg-config-0.29.2/
+ checkStatus 0 'change directory failed'
+ '[' 0 -ne 0 ']'
+ configure_build /Users/james/build/ffmpeg-apple-arm64-build/build /Users/james/build/ffmpeg-compile /Users/james/build/ffmpeg-compile/tool 0.29.2
+ cd /Users/james/build/ffmpeg-compile/pkg-config/pkg-config-0.29.2
+ checkStatus 0 'change directory failed'
+ '[' 0 -ne 0 ']'
+ ./configure --prefix=/Users/james/build/ffmpeg-compile/tool --with-pc-path=/Users/james/build/ffmpeg-compile/tool/lib/pkgconfig --with-internal-glib
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking build system type... arm-apple-darwin23.4.0
checking host system type... arm-apple-darwin23.4.0
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /Library/Developer/CommandLineTools/usr/bin/ld
checking if the linker (/Library/Developer/CommandLineTools/usr/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 786432
checking how to convert arm-apple-darwin23.4.0 file names to arm-apple-darwin23.4.0 format... func_convert_file_noop
checking how to convert arm-apple-darwin23.4.0 file names to toolchain format... func_convert_file_noop
checking for /Library/Developer/CommandLineTools/usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... ld: warning: -single_module is obsolete
no
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking for gcc option to produce PIC... -fno-common -DPIC
checking if gcc PIC flag -fno-common -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/Library/Developer/CommandLineTools/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin23.4.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking whether make supports nested variables... (cached) yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for ln... ln
checking dirent.h usability... yes
checking dirent.h presence... yes
checking for dirent.h... yes
checking for unistd.h... (cached) yes
checking sys/wait.h usability... yes
checking sys/wait.h presence... yes
checking for sys/wait.h... yes
checking malloc.h usability... no
checking malloc.h presence... no
checking for malloc.h... no
checking for bash... /bin/bash
checking for default search path for .pc files... /Users/james/build/ffmpeg-compile/tool/lib/pkgconfig
checking for system include path to avoid -I flags... /usr/include
checking for system library path to avoid -L flags... /usr/lib:/lib
configure: creating ./config.lt
config.lt: creating libtool
checking whether to list both direct and indirect dependencies... no
checking for Win32... no
checking if prefix should be redefined at runtime... no
checking if internal glib should be used... yes
checking if host- prefixed tool should be installed... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating pkg.m4
config.status: creating check/Makefile
config.status: creating check/config.sh
config.status: creating config.h.win32
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
=== configuring in glib (/Users/james/build/ffmpeg-compile/pkg-config/pkg-config-0.29.2/glib)
configure: running /bin/sh ./configure --disable-option-checking '--prefix=/Users/james/build/ffmpeg-compile/tool'  '--with-pc-path=/Users/james/build/ffmpeg-compile/tool/lib/pkgconfig' '--with-internal-glib' --cache-file=/dev/null --srcdir=.
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '501' is supported by ustar format... yes
checking whether GID '20' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... (cached) yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking build system type... arm-apple-darwin23.4.0
checking host system type... arm-apple-darwin23.4.0
checking for the BeOS... no
checking for Win32... no
checking for the Android... no
checking for Mac OS X Carbon support... yes
checking for Mac OS X Cocoa support... yes
checking whether to enable garbage collector friendliness... no
checking whether to disable memory pools... no
checking for c++... c++
checking whether we are using the GNU C++ compiler... yes
checking whether c++ accepts -g... yes
checking dependency style of c++... gcc3
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for gawk... (cached) awk
checking for perl5... no
checking for perl... perl
checking for indent... indent
checking for perl... /usr/bin/perl
checking for a Python interpreter with version >= 2.5... python3
checking for python3... /usr/bin/python3
checking for python3 version... 3.9
checking for python3 platform... darwin
checking for python3 script directory... ${prefix}/lib/python3.9/site-packages
checking for python3 extension module directory... ${exec_prefix}/lib/python3.9/site-packages
checking for iconv_open... no
checking for libiconv_open in -liconv... no
checking for iconv_open in -liconv... yes
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /Library/Developer/CommandLineTools/usr/bin/ld
checking if the linker (/Library/Developer/CommandLineTools/usr/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 786432
checking how to convert arm-apple-darwin23.4.0 file names to arm-apple-darwin23.4.0 format... func_convert_file_noop
checking how to convert arm-apple-darwin23.4.0 file names to toolchain format... func_convert_file_noop
checking for /Library/Developer/CommandLineTools/usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... ld: warning: -single_module is obsolete
no
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking for gcc option to produce PIC... -fno-common -DPIC
checking if gcc PIC flag -fno-common -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/Library/Developer/CommandLineTools/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin23.4.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... c++ -E
checking for ld used by c++... /Library/Developer/CommandLineTools/usr/bin/ld
checking if the linker (/Library/Developer/CommandLineTools/usr/bin/ld) is GNU ld... no
checking whether the c++ linker (/Library/Developer/CommandLineTools/usr/bin/ld) supports shared libraries... yes
checking for c++ option to produce PIC... -fno-common -DPIC
checking if c++ PIC flag -fno-common -DPIC works... yes
checking if c++ static flag -static works... no
checking if c++ supports -c -o file.o... yes
checking if c++ supports -c -o file.o... (cached) yes
checking whether the c++ linker (/Library/Developer/CommandLineTools/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin23.4.0 dyld
checking how to hardcode library paths into programs... immediate
configure: creating ./config.lt
config.lt: creating libtool
checking for extra flags to get ANSI library prototypes... none needed
checking for extra flags for POSIX compliance... none needed
checking for vprintf... yes
checking for _doprnt... no
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for mmap... yes
checking for posix_memalign... yes
checking for memalign... no
checking for valloc... yes
checking for fsync... yes
checking for pipe2... no
checking for issetugid... yes
checking for atexit... yes
checking for on_exit... no
checking for timegm... yes
checking for gmtime_r... yes
checking for __libc_enable_secure... no
checking size of char... 1
checking size of short... 2
checking size of long... 8
checking size of int... 4
checking size of void *... 8
checking size of long long... 8
checking size of __int64... 0
checking for sig_atomic_t... yes
checking for format to printf and scanf a guint64... none
checking for an ANSI C-conforming const... yes
checking for growing stack pointer... yes
checking for __inline... yes
checking for __inline__... yes
checking for inline... yes
checking if inline functions in headers work... yes
checking for working do while(0) macros... no
checking for ISO C99 varargs macros in C... yes
checking for ISO C99 varargs macros in C++... yes
checking for GNUC varargs macros... yes
checking for GNUC visibility attribute... no
checking whether using Sun Studio C compiler... no
checking whether byte ordering is bigendian... no
checking dirent.h usability... yes
checking dirent.h presence... yes
checking for dirent.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/poll.h usability... yes
checking sys/poll.h presence... yes
checking for sys/poll.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/times.h usability... yes
checking sys/times.h presence... yes
checking for sys/times.h... yes
checking sys/wait.h usability... yes
checking sys/wait.h presence... yes
checking for sys/wait.h... yes
checking for unistd.h... (cached) yes
checking values.h usability... no
checking values.h presence... no
checking for values.h... no
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/types.h... (cached) yes
checking for stdint.h... (cached) yes
checking for inttypes.h... (cached) yes
checking sched.h usability... yes
checking sched.h presence... yes
checking for sched.h... yes
checking malloc.h usability... no
checking malloc.h presence... no
checking for malloc.h... no
checking sys/vfs.h usability... no
checking sys/vfs.h presence... no
checking for sys/vfs.h... no
checking sys/vmount.h usability... no
checking sys/vmount.h presence... no
checking for sys/vmount.h... no
checking sys/statfs.h usability... no
checking sys/statfs.h presence... no
checking for sys/statfs.h... no
checking sys/statvfs.h usability... yes
checking sys/statvfs.h presence... yes
checking for sys/statvfs.h... yes
checking sys/filio.h usability... yes
checking sys/filio.h presence... yes
checking for sys/filio.h... yes
checking mntent.h usability... no
checking mntent.h presence... no
checking for mntent.h... no
checking sys/mnttab.h usability... no
checking sys/mnttab.h presence... no
checking for sys/mnttab.h... no
checking sys/vfstab.h usability... no
checking sys/vfstab.h presence... no
checking for sys/vfstab.h... no
checking sys/mntctl.h usability... no
checking sys/mntctl.h presence... no
checking for sys/mntctl.h... no
checking fstab.h usability... yes
checking fstab.h presence... yes
checking for fstab.h... yes
checking sys/uio.h usability... yes
checking sys/uio.h presence... yes
checking for sys/uio.h... yes
checking sys/mkdev.h usability... no
checking sys/mkdev.h presence... no
checking for sys/mkdev.h... no
checking linux/magic.h usability... no
checking linux/magic.h presence... no
checking for linux/magic.h... no
checking sys/prctl.h usability... no
checking sys/prctl.h presence... no
checking for sys/prctl.h... no
checking for sys/mount.h... yes
checking for sys/sysctl.h... yes
checking for sysctlbyname... yes
checking xlocale.h usability... yes
checking xlocale.h presence... yes
checking for xlocale.h... yes
checking for struct stat.st_mtimensec... no
checking for struct stat.st_mtim.tv_nsec... no
checking for struct stat.st_atimensec... no
checking for struct stat.st_atim.tv_nsec... no
checking for struct stat.st_ctimensec... no
checking for struct stat.st_ctim.tv_nsec... no
checking for struct stat.st_blksize... yes
checking for struct stat.st_blocks... yes
checking for struct statfs.f_fstypename... yes
checking for struct statfs.f_bavail... yes
checking for struct statvfs.f_basetype... no
checking for struct statvfs.f_fstypename... no
checking for struct tm.tm_gmtoff... yes
checking for struct tm.__tm_gmtoff... no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for struct dirent.d_type... yes
checking for nl_langinfo and CODESET... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for setlocale... yes
checking whether we are using the GNU C Library 2.1 or newer... no
checking size of size_t... 8
checking for the appropriate definition for size_t... unsigned long
checking size of ssize_t... 8
checking for the appropriate definition for ssize_t... long
checking for lstat... yes
checking for strerror... yes
checking for strsignal... yes
checking for memmove... yes
checking for vsnprintf... yes
checking for stpcpy... yes
checking for strcasecmp... yes
checking for strncasecmp... yes
checking for poll... yes
checking for getcwd... yes
checking for vasprintf... yes
checking for setenv... yes
checking for unsetenv... yes
checking for getc_unlocked... yes
checking for readlink... yes
checking for symlink... yes
checking for fdwalk... no
checking for memmem... yes
checking for chown... yes
checking for lchmod... yes
checking for lchown... yes
checking for fchmod... yes
checking for fchown... yes
checking for link... yes
checking for utimes... yes
checking for getgrgid... yes
checking for getpwuid... yes
checking for getresuid... no
checking for getmntent_r... no
checking for setmntent... no
checking for endmntent... no
checking for hasmntopt... no
checking for getfsstat... yes
checking for getvfsstat... no
checking for fallocate... no
checking for splice... no
checking for prlimit... no
checking for statvfs... yes
checking for statfs... yes
checking whether to use statfs or statvfs... statfs
checking crt_externs.h usability... yes
checking crt_externs.h presence... yes
checking for crt_externs.h... yes
checking for _NSGetEnviron... yes
checking for newlocale... yes
checking for uselocale... yes
checking for strtod_l... yes
checking for strtoll_l... yes
checking for strtoull_l... yes
checking for C99 vsnprintf... no
checking whether printf supports positional parameters... no
checking value of AF_INET... 2
checking value of AF_INET6... 30
checking value of AF_UNIX... 1
checking value of MSG_PEEK... 2
checking value of MSG_OOB... 1
checking value of MSG_DONTROUTE... 4
checking for getprotobyname_r... no
checking for endservent... yes
checking for if_nametoindex... yes
checking for if_indextoname... yes
checking if arpa/nameser_compat.h is needed... yes
checking for res_query... in -lresolv
checking for socket... yes
checking for res_init... yes
checking for linux/netlink.h... no
checking for struct ip_mreqn... yes
checking number of arguments to statfs()... 2
checking for signed... yes
checking for long long... yes
checking for long double... yes
checking for wchar_t... yes
checking for wint_t... yes
checking for size_t... (cached) yes
checking for ptrdiff_t... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for snprintf... yes
checking for wcslen... yes
checking for C99 snprintf... no
checking for fd_set... yes, found in sys/types.h
checking for nl_langinfo (CODESET)... yes
checking for nl_langinfo (PM_STR)... yes
checking for nl_langinfo (_NL_CTYPE_OUTDIGITn_MB)... no
checking for a compliant posix_memalign() implementation... yes
checking for OpenBSD strlcpy/strlcat... yes
checking for an implementation of va_copy()... yes
checking for an implementation of __va_copy()... yes
checking whether va_lists can be copied by value... yes
checking for dlopen... yes
checking for dlsym... yes
checking for RTLD_GLOBAL brokenness... no
checking for preceeding underscore in symbols... no
checking for dlerror... yes
checking for the suffix of module shared libraries... .so
checking for gspawn implementation... gspawn.lo
checking for GIOChannel implementation... giounix.lo
checking sys/inotify.h usability... no
checking sys/inotify.h presence... no
checking for sys/inotify.h... no
checking sys/event.h usability... yes
checking sys/event.h presence... yes
checking for sys/event.h... yes
checking for kqueue... yes
checking for kevent... yes
checking for platform-dependent source... 
checking whether to compile timeloop... yes
checking if building for some Win32 platform... no
checking for thread implementation... posix
checking thread related cflags... -D_REENTRANT
checking for pthread_create/pthread_join... yes
checking thread related libraries... 
checking for localtime_r... yes
checking for gmtime_r... (cached) yes
checking for posix getpwuid_r... yes
checking for posix getgrgid_r... yes
checking for pthread_attr_setstacksize... yes
checking for pthread_condattr_setclock... no
checking for pthread_cond_timedwait_monotonic... no
checking for pthread_cond_timedwait_monotonic_np... no
checking for clock_gettime... yes
checking for lock-free atomic intrinsics... yes
checking for futex(2) system call... no
checking for eventfd(2) system call... no
checking value of POLLIN... 1
checking value of POLLOUT... 4
checking value of POLLPRI... 2
checking value of POLLERR... 8
checking value of POLLHUP... 16
checking value of POLLNVAL... 32
checking for broken poll... yes
checking for EILSEQ... yes
checking for guint32... yes
checking alignment of guint32... 4
checking for guint64... yes
checking alignment of guint64... 8
checking for unsigned long... yes
checking alignment of unsigned long... 8
checking for -Bsymbolic-functions linker flag... no
checking for -fvisibility=hidden compiler flag... no
checking if gcc supports flag -Wall in envvar CFLAGS... yes
checking if gcc supports flag -Wstrict-prototypes in envvar CFLAGS... yes
checking if gcc supports flag -Werror=declaration-after-statement in envvar CFLAGS... yes
checking if gcc supports flag -Werror=missing-prototypes in envvar CFLAGS... yes
checking if gcc supports flag -Werror=implicit-function-declaration in envvar CFLAGS... yes
checking if gcc supports flag -Werror=pointer-arith in envvar CFLAGS... yes
checking if gcc supports flag -Werror=init-self in envvar CFLAGS... yes
checking if gcc supports flag -Werror=format-security in envvar CFLAGS... yes
checking if gcc supports flag -Werror=format=2 in envvar CFLAGS... yes
checking if gcc supports flag -Werror=missing-include-dirs in envvar CFLAGS... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating glib/Makefile
config.status: creating glib/libcharset/Makefile
config.status: creating glib/gnulib/Makefile
config.status: creating m4macros/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing glib/glibconfig.h commands
+ checkStatus 0 'configuration of pkg-config failed'
+ '[' 0 -ne 0 ']'
+ make_clean /Users/james/build/ffmpeg-apple-arm64-build/build /Users/james/build/ffmpeg-compile /Users/james/build/ffmpeg-compile/tool 0.29.2
+ cd /Users/james/build/ffmpeg-compile/pkg-config/pkg-config-0.29.2
+ checkStatus 0 'change directory failed'
+ '[' 0 -ne 0 ']'
+ make clean
Making clean in glib
Making clean in .
test -z "  " || rm -f   
test -z "*.log *.trs " || rm -f *.log *.trs 
test -z "" || rm -f 
rm -rf .libs _libs
test -z "" || rm -f 
test -z "" || rm -f 
test -z "" || rm -f 
test -z "test-suite.log" || rm -f test-suite.log
rm -f *.lo
Making clean in m4macros
test -z "  " || rm -f   
test -z "*.log *.trs " || rm -f *.log *.trs 
test -z "" || rm -f 
rm -rf .libs _libs
test -z "" || rm -f 
test -z "" || rm -f 
test -z "" || rm -f 
test -z "test-suite.log" || rm -f test-suite.log
rm -f *.lo
Making clean in glib
Making clean in libcharset
test -z "  " || rm -f   
test -z "*.log *.trs  charset.alias ref-add.sed ref-del.sed" || rm -f *.log *.trs  charset.alias ref-add.sed ref-del.sed
test -z "" || rm -f 
rm -rf .libs _libs
test -z " libcharset.la" || rm -f  libcharset.la
rm -f ./so_locations
rm -f *.o
test -z "" || rm -f 
test -z "" || rm -f 
test -z "test-suite.log" || rm -f test-suite.log
rm -f *.lo
Making clean in gnulib
test -z "  " || rm -f   
test -z "*.log *.trs " || rm -f *.log *.trs 
test -z "" || rm -f 
rm -rf .libs _libs
test -z " libgnulib.la" || rm -f  libgnulib.la
rm -f ./so_locations
rm -f *.o
test -z "" || rm -f 
test -z "" || rm -f 
test -z "test-suite.log" || rm -f test-suite.log
rm -f *.lo
Making clean in .
test -z "  " || rm -f   
test -z "*.log *.trs  glib-public-headers.txt" || rm -f *.log *.trs  glib-public-headers.txt
test -z "" || rm -f 
rm -rf .libs _libs
test -z " libglib-2.0.la" || rm -f  libglib-2.0.la
rm -f ./so_locations
rm -f *.o
test -z "" || rm -f 
test -z "" || rm -f 
test -z "test-suite.log" || rm -f test-suite.log
rm -f *.lo
Making clean in .
 rm -f pkg-config
test -z "*.gcda *.gcno *.gcov" || rm -f *.gcda *.gcno *.gcov
rm -rf .libs _libs
rm -f *.o
rm -f *.lo
Making clean in check
rm -rf .libs _libs
rm -f *.lo
+ checkStatus 0 'make clean of pkg-config failed'
+ '[' 0 -ne 0 ']'
+ make_compile /Users/james/build/ffmpeg-apple-arm64-build/build /Users/james/build/ffmpeg-compile /Users/james/build/ffmpeg-compile/tool 0.29.2
+ cd /Users/james/build/ffmpeg-compile/pkg-config/pkg-config-0.29.2
+ checkStatus 0 'change directory failed'
+ '[' 0 -ne 0 ']'
+ make
/Library/Developer/CommandLineTools/usr/bin/make  all-recursive
Making all in glib
/Library/Developer/CommandLineTools/usr/bin/make  all-recursive
Making all in .
make[4]: Nothing to be done for `all-am'.
Making all in m4macros
/Library/Developer/CommandLineTools/usr/bin/make  all-am
make[5]: Nothing to be done for `all-am'.
Making all in glib
  GEN      glibconfig-stamp
config.status: executing glib/glibconfig.h commands
config.status: glib/glibconfig.h is unchanged
/Library/Developer/CommandLineTools/usr/bin/make  all-recursive
Making all in libcharset
/Library/Developer/CommandLineTools/usr/bin/make  all-am
  CC       libcharset_la-localcharset.lo
  CCLD     libcharset.la
  GEN      ref-add.sed
  GEN      ref-del.sed
  GEN      charset.alias
Making all in gnulib
/Library/Developer/CommandLineTools/usr/bin/make  all-am
  CC       libgnulib_la-asnprintf.lo
  CC       libgnulib_la-printf-args.lo
  CC       libgnulib_la-printf-parse.lo
  CC       libgnulib_la-vasnprintf.lo
  CC       libgnulib_la-printf.lo
  CCLD     libgnulib.la
Making all in .
  CC       libglib_2_0_la-gallocator.lo
  CC       libglib_2_0_la-gcache.lo
  CC       libglib_2_0_la-gcompletion.lo
  CC       libglib_2_0_la-grel.lo
  CC       libglib_2_0_la-gthread-deprecated.lo
  CC       libglib_2_0_la-garray.lo
  CC       libglib_2_0_la-gasyncqueue.lo
  CC       libglib_2_0_la-gatomic.lo
gatomic.c:392:10: error: incompatible integer to pointer conversion passing 'gssize' (aka 'long') to parameter of type 'gpointer' (aka 'void *') [-Wint-conversion]
  return g_atomic_pointer_add ((volatile gpointer *) atomic, val);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./gatomic.h:170:46: note: expanded from macro 'g_atomic_pointer_add'
    (gssize) __sync_fetch_and_add ((atomic), (val));                         \
                                             ^~~~~
gatomic.c:416:10: error: incompatible integer to pointer conversion passing 'gsize' (aka 'unsigned long') to parameter of type 'gpointer' (aka 'void *') [-Wint-conversion]
  return g_atomic_pointer_and ((volatile gpointer *) atomic, val);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./gatomic.h:177:45: note: expanded from macro 'g_atomic_pointer_and'
    (gsize) __sync_fetch_and_and ((atomic), (val));                          \
                                            ^~~~~
gatomic.c:440:10: error: incompatible integer to pointer conversion passing 'gsize' (aka 'unsigned long') to parameter of type 'gpointer' (aka 'void *') [-Wint-conversion]
  return g_atomic_pointer_or ((volatile gpointer *) atomic, val);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./gatomic.h:184:44: note: expanded from macro 'g_atomic_pointer_or'
    (gsize) __sync_fetch_and_or ((atomic), (val));                           \
                                           ^~~~~
gatomic.c:464:10: error: incompatible integer to pointer conversion passing 'gsize' (aka 'unsigned long') to parameter of type 'gpointer' (aka 'void *') [-Wint-conversion]
  return g_atomic_pointer_xor ((volatile gpointer *) atomic, val);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./gatomic.h:191:45: note: expanded from macro 'g_atomic_pointer_xor'
    (gsize) __sync_fetch_and_xor ((atomic), (val));                          \
                                            ^~~~~
4 errors generated.
make[6]: *** [libglib_2_0_la-gatomic.lo] Error 1
make[5]: *** [all-recursive] Error 1
make[4]: *** [all] Error 2
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
+ checkStatus 2 'build of pkg-config failed'
+ '[' 2 -ne 0 ']'
+ echo 'check failed: build of pkg-config failed'
check failed: build of pkg-config failed
+ exit 1

MacBook Pro M1 Max - error compiling FFmpeg - libpng16.dylib arm64 but attempting to link with file built for macOS-x86_64

warning: ignoring file /usr/local/lib/libpng16.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64

ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ffmpeg_g] Error 1
rm libavfilter/metal/vf_yadif_videotoolbox.metal.air libavfilter/metal/vf_yadif_videotoolbox.metallib libavfilter/metal/vf_yadif_videotoolbox.metallib.c
check failed: build of ffmpeg failed

Feature Request: bring avisynth branch up to date

AVISynth+ appears to provide native apple silicon support. It's just a matter of knowing where avisynth+ puts its headers and where ffmpeg looks for them. I installed AVISynth+ and modified build-ffmpeg.sh to include the --enable-avisynth flag, but it doesn't seem to make it into the binary. Any idea why?

What's the issue with just compiling the damn thing?

Just release a complied binary. whats the problem???

prepare workspace
use 10 cpu threads

compile cmake
took 143s

compile pkg-config
took 45s

compile FriBidi
took 7s

compile zlib
took 2s

compile libpng
took 5s

compile brotli
took 5s

compile freetype
took 9s

compile harfbuzz
took 14s

compile libass
took 5s

compile fdk-aac
took 49s

compile x265
took 27s

compile svt-av1
took 10s

compile ogg
took 2s

compile vorbis
took 3s

compile aom
took 149s

compile openh264
took 6s

compile x264
took 8s

compile vpx
took 11s

compile lame (mp3)
took 15s

compile opus
took 8s

compile ffmpeg
check failed: build ffmpeg

Super useful error message.

Github Actions

Hello @Vargol
Would you like to add github actions to automate builds? And publish binaries when tag a new release?
If you wish to do that, I'd like to contribute it.

This is a great contribution

MacBook Pro (16-inch, 2019)
2.6 GHz Six-core Intel Core I7
AMD Radeon Pro 5300M 4 GB

Hello @Vargol.
This is a great contribution!
I hope to keep this script updated for a long time!

But I got some mistakes

➜  ffmpeg-apple-arm64-build git:(master) ./build.sh
No action set, all failures wil stop the script
base directory is /Users/lee/ffmpeg-compile/ffmpeg-apple-arm64-build
script directory is /Users/lee/ffmpeg-compile/ffmpeg-apple-arm64-build/build
test directory is /Users/lee/ffmpeg-compile/ffmpeg-apple-arm64-build/test
working directory is /Users/lee/ffmpeg-compile/ffmpeg-apple-arm64-build
tool directory is /Users/lee/ffmpeg-compile/ffmpeg-apple-arm64-build/tool
output directory is /Users/lee/ffmpeg-compile/ffmpeg-apple-arm64-build/out

prepare workspace
use 12 cpu threads

compile cmake

took 508s

compile pkg-config
took 146s

compile FriBidi
took 54s

compile zlib
took 20s

compile libpng
check failed: build libpng
~ brew search libpng
==> Formulae
libpng ✔   libwpg     libupnp    libnl      libp11     libogg ✔   libgig
libspng    libmng     libtrng    libgnt     libpsl     libmnl
liboping   libbpg     libming    libpst     zlib-ng    libsvg
libpgm     libpano    libpq      libpcl     libagg     libvnc

macOS Sonoma, new issues: brotli, libass, svt-av1

Again, thanks so much for porting this a while ago! This compiled great when I last tried, but various issues have appeared. I realize it's next to impossible to keep up with constantly changing repositories. This is on macOS Sonoma.

The following modules currently fail:
-brotli
-libass
-svt-av1
-and of course ffmpeg, due to above failures.
I will try to see if I can fix, but need to figure out how to run the build scripts separately and look at failure reasons.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.