Vargol / ffmpeg-apple-arm64-build

Build script for ffmpeg targeting the latest open source video codecs running on macOS using Apple's M1 processor.
235 stars 42 forks source link

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

Closed n808 closed 10 months ago

n808 commented 10 months ago

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.

Vargol commented 10 months ago

Each script generates its own build log in the main build directory, sometime the compiles will do other logs like ffmpeg but they will usually get mentioned in the output produced by the script.

I usually delete the main folder for the library its building and run ../ffmpeg-apple-arm64-build/build.sh skip which will only rebuild any missing bits, when its successful delete the ffmpeg directory too to rebuild ffmpeg. Most of the library builds can be re-run using the same make command it the specific build script.

Make sure you're using the Download zip from the Green button, unless you used to using git. I'll have a look when I can. see what's breaking, svt-av1 only got fixed a dew days ago grr, brotli uses a patch maybe there've broke that. libass breaking is unusual.

n808 commented 10 months ago

Ah, thanks. I was temporarily blind to not notice those log files, and I did not spend enough time looking at your build.sh. Brotli:

Cloning into 'brotli'...
error: patch failed: CMakeLists.txt:359
error: CMakeLists.txt: patch does not apply
check failed: git apply patch failed

libass:

+ ./configure --prefix=/Users/<user>/git/ffmpeg-compile/tool --enable-static --disable-shared --disable-fontconfig --disable-dependency-tracking
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.1.0
checking host system type... arm-apple-darwin23.1.0
checking how to print strings... printf
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/Users/<user>/git/ffmpeg-compile/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
n808 commented 10 months ago

I fixed libass issue, which must have been a local thing on my computer, by removing xcode command line tools, re-installing, then resetting path:

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install
sudo xcode-select -r
Vargol commented 10 months ago

build-brotli.sh.zip

Try his build-brotli.sh script... had to zip it for Github to allow me to attach

n808 commented 10 months ago

thanks! that fixed brotli. Only svt-av1 left, and that is in the works. I don't need ffmpeg right away, so that's okay. Thanks for your help!

Vargol commented 10 months ago

I'm getting a mass of missing symbols for stv-av1 seems they all refer to dav1d I wonder if that's been added that as a new dependancy.

Vargol commented 10 months ago

Someone has raised the issue already with the SVT team https://gitlab.com/AOMediaCodec/SVT-AV1/-/issues/2128

Vargol commented 10 months ago

This will build the version before the bad commit, just add the extra lines to build-set-ac1.sh or wait for half a hour or so for me to do a full built from scratch to test and commit the change to git.

  # download source
  git clone https://gitlab.com/AOMediaCodec/SVT-AV1.git
  checkStatus $? "download of ${SOFTWARE} failed"
  cd SVT-AV1
  git checkout a49c786a81383d2dee7c8cdc8b5d46e5df3a7845
  checkStatus $? "git checkout a49c786a81383d2dee7c8cdc8b5d46e5df3a7845 failied"
  cd ..
Vargol commented 10 months ago

okay code in git updated

n808 commented 10 months ago

Yes, everything builds now (I just did the shell script edit locally, before I noticed your latest update). Thanks!