2

Installing a modern version of Aegisub on M1 Macs (Apple Silicon)

 1 year ago
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.
neoserver,ios ssh client

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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK