Installing a modern version of Aegisub on M1 Macs (Apple Silicon)
source link: https://gist.github.com/frozenpandaman/92a84cd2ba690bb2399afd04e695bf8c
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Update, March 2022: As of macOS 12.3, Aegisub r9198 and v3.3.2 (wangqr fork) no longer crash on launch.
Download a pre-built binary
ver. 9018-rcombs-local-6a556aac6: https://elifessler.com/aegi/6a556aa-Aegisub.app.zip (129.6 MB, built 2021-12-23)
Or, build it yourself
These are instructions for the fish shell. Some commands (e.g. export
, set
) might be different if you're using bash or zsh instead (e.g. CPPFLAGS=
instead of set CPPFLAGS
)
1. Clone the repo
git clone https://github.com/rcombs/Aegisub
cd Aegisub/
git checkout rcombs-local
2. Install dependencies & setup
brew install autoconf automake ffmpeg ffms2 fftw freetype fribidi gettext icu4c libass m4 pkg-config boost
brew install luajit --HEAD
brew link --force gettext
export LDFLAGS="-L/opt/homebrew/opt/icu4c/lib"
export CPPFLAGS="-I/opt/homebrew/opt/icu4c/include"
export PKG_CONFIG_PATH="/opt/homebrew/opt/icu4c/lib/pkgconfig"
./autogen.sh
3. Build wxWidgets
cd vendor/wxWidgets/
set CPPFLAGS "$CPPFLAGS -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0 -I/opt/homebrew/opt/boost/include"
git submodule update --init
./configure --disable-all-features --enable-unicode --enable-utf8 --enable-stl --enable-exceptions --enable-log --enable-threads --enable-palette --enable-baseevtloop --enable-selectloop --enable-gui --enable-timer --enable-menus --enable-intl --enable-xlocale --enable-statusbar --enable-sysoptions --enable-button --enable-bmpbutton --enable-listbook --enable-listbox --enable-listctrl --enable-checkbox --enable-textctrl --enable-hyperlink --enable-treebook --enable-image --enable-stopwatch --enable-scrollbar --enable-longlong --enable-geometry --enable-imaglist --enable-stc --enable-hotkey --enable-regkey --enable-graphics_ctx --enable-dataobj --enable-file --enable-ffile --enable-streams --enable-dragimage --enable-dnd --enable-radiobox --enable-radiobtn --enable-spinbtn --enable-spinctrl --enable-slider --enable-searchctrl --enable-stattext --enable-statline --enable-statbox --enable-statbmp --enable-toolbar --enable-tbarnative --enable-clipboard --enable-menubar --enable-msgdlg --enable-filedlg --enable-fontdlg --enable-textdlg --enable-choicedlg --enable-coldlg --enable-dirdlg --enable-numberdlg --enable-aboutdlg --enable-dataviewctrl --enable-datepick --enable-dirpicker --enable-filectrl --enable-filepicker --enable-fontpicker --enable-treectrl --enable-comboctrl --enable-rearrangectrl --enable-treelist --enable-timepick --enable-accel --enable-headerctrl --enable-variant --enable-datetime --enable-checklst --enable-choice --enable-choicebook --enable-combobox --enable-gauge --enable-tooltips --enable-validators --enable-std_string --enable-std-containers --enable-popupwin --enable-controls --enable-stc --enable-calendar --enable-sash --enable-splitter --enable-arcstream --enable-zipstream --enable-xpm --enable-dynlib --enable-dynamicloader --enable-fontenum --with-zlib --with-expat --with-libpng --with-cocoa --with-macosx-version-min=no --with-opengl --without-libjpeg --without-libtiff --without-regex
make -j10
4. Configure Aegisub
cd ../../
autoreconf -ivf
autoupdate
./configure --with-wxdir="$PWD/vendor/wxWidgets" --with-boost-libdir="/opt/homebrew/opt/boost/lib"
4. Janky fix for error
Edit libaegisub/common/charset.cpp
Change #include <uchardet/uchardet.h>
to #include <uchardet.h>
5. Build Aegisub
make
make osx-bundle
cd Aegisub.app/Contents/MacOS/
ln -s libicudata.69.1.dylib libicudata.69.dylib
ln -s libbrotlicommon.1.0.9.dylib libbrotlicommon.1.dylib
ln -s libicuuc.69.1.dylib libicuuc.69.dylib
cp /opt/homebrew/opt/boost/lib/libboost_system-mt.dylib libboost_system-mt.dylib
cd ../../../
codesign --force --deep --sign - Aegisub.app
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK