Open Christilut opened 2 months ago
there's not a straight forward way of doing it you'd have to comment out the fontconfig and libass lines from build.sh, and delete the --enable-libass argument from build/build-ffmpeg.sh
Having said that I'm not sure fontconfig is part of the libass build it builds after it so what's the issue with fontconfig, I've done a fast build of fontconfig and that worked (doing a full rebuild to see if that errors)
I'm getting this:
Undefined symbols for architecture arm64:
"_FT_Done_Face", referenced from:
_FcFreeTypeQuery in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeQueryAll in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeQueryAll in libfontconfig.a[11](fcfreetype.o)
"_FT_Done_FreeType", referenced from:
_FcFreeTypeQuery in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeQueryAll in libfontconfig.a[11](fcfreetype.o)
"_FT_Get_Advance", referenced from:
_FcFreeTypeSpacing in libfontconfig.a[11](fcfreetype.o)
"_FT_Get_Char_Index", referenced from:
_FcFreeTypeCharIndex in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeCharIndex in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeCharIndex in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeCharIndex in libfontconfig.a[11](fcfreetype.o)
"_FT_Get_First_Char", referenced from:
_FcFreeTypeCharSet in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeSpacing in libfontconfig.a[11](fcfreetype.o)
"_FT_Get_MM_Var", referenced from:
_FcFreeTypeQueryFaceInternal in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeQueryAll in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeQueryAll in libfontconfig.a[11](fcfreetype.o)
"_FT_Get_Next_Char", referenced from:
_FcFreeTypeCharSet in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeSpacing in libfontconfig.a[11](fcfreetype.o)
"_FT_Get_Postscript_Name", referenced from:
_FcFreeTypeQueryFaceInternal in libfontconfig.a[11](fcfreetype.o)
"_FT_Get_Sfnt_Name", referenced from:
_FcFreeTypeQueryFaceInternal in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeQueryFaceInternal in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeQueryFaceInternal in libfontconfig.a[11](fcfreetype.o)
"_FT_Get_Sfnt_Name_Count", referenced from:
_FcFreeTypeQueryFaceInternal in libfontconfig.a[11](fcfreetype.o)
"_FT_Get_Sfnt_Table", referenced from:
_FcFreeTypeQueryFaceInternal in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeQueryFaceInternal in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeSpacing in libfontconfig.a[11](fcfreetype.o)
"_FT_Init_FreeType", referenced from:
_FcFreeTypeQuery in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeQueryAll in libfontconfig.a[11](fcfreetype.o)
"_FT_Load_Glyph", referenced from:
_FcFreeTypeCharSet in libfontconfig.a[11](fcfreetype.o)
"_FT_Load_Sfnt_Table", referenced from:
_FcFontCapabilities in libfontconfig.a[11](fcfreetype.o)
"_FT_New_Face", referenced from:
_FcFreeTypeQuery in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeQueryAll in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeQueryAll in libfontconfig.a[11](fcfreetype.o)
"_FT_Select_Charmap", referenced from:
_FcFreeTypeCharIndex in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeCharIndex in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeCharSet in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeCharSet in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeSpacing in libfontconfig.a[11](fcfreetype.o)
_FcFreeTypeSpacing in libfontconfig.a[11](fcfreetype.o)
"_FT_Select_Size", referenced from:
_FcFreeTypeSpacing in libfontconfig.a[11](fcfreetype.o)
"_FT_Set_Var_Design_Coordinates", referenced from:
_FcFreeTypeQueryAll in libfontconfig.a[11](fcfreetype.o)
ld: symbol(s) not found for architecture arm64
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
Looks like its picking up an Intel only version of libfreetype from somewhere
from your build directory what does
$ lipo -detailed_info tool/lib/libfreetype.a
give it should show
input file tool/lib/libfreetype.a is not a fat file
Non-fat file: tool/lib/libfreetype.a is architecture: arm64
You didn't set Terminal to run using Rosetta way back when Apple Silicon was new, it was a thing people would do before Brew supported Apple Silicon it can cause issues like this ?
I think you're right, I'm also seeing these warnings:
ld: warning: ignoring file '/usr/local/Cellar/fontconfig/2.15.0/lib/libfontconfig.1.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/freetype/2.13.2/lib/libfreetype.6.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/fontconfig/2.15.0/lib/libfontconfig.1.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/freetype/2.13.2/lib/libfreetype.6.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/freetype/2.13.2/lib/libfreetype.6.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/fontconfig/2.15.0/lib/libfontconfig.1.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/fontconfig/2.15.0/lib/libfontconfig.1.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/fontconfig/2.15.0/lib/libfontconfig.1.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/freetype/2.13.2/lib/libfreetype.6.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/fontconfig/2.15.0/lib/libfontconfig.1.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/freetype/2.13.2/lib/libfreetype.6.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/freetype/2.13.2/lib/libfreetype.6.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/fontconfig/2.15.0/lib/libfontconfig.1.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/freetype/2.13.2/lib/libfreetype.6.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/freetype/2.13.2/lib/libfreetype.6.dylib': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '/usr/local/Cellar/fontconfig/2.15.0/lib/libfontconfig.1.dylib': found architecture 'x86_64', required architecture 'arm64'
I'll check my brew installation
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.