Skip to content

Instantly share code, notes, and snippets.

@CyberRex0
Last active September 11, 2022 02:03
Show Gist options
  • Save CyberRex0/a3d12e3567de2d558ace919e2ab6eb5f to your computer and use it in GitHub Desktop.
Save CyberRex0/a3d12e3567de2d558ace919e2ab6eb5f to your computer and use it in GitHub Desktop.

Apple Silicon版MacでのdevkitPro/devkitARMのセットアップ

検証環境: macOS Monterey 12.5.1

1. devkitPro Installerをダウンロードして、インストールする

$ wget https://github.com/devkitPro/pacman/releases/download/v1.0.2/devkitpro-pacman-installer.pkg
$ sudo installer -pkg devkitpro-pacman-installer.pkg -target /
$ sudo /opt/devkitpro/pacman/bin/pacman -Syu

以降、開発ツールはpacmanコマンドを使用することになる。
注意: /opt/devkitpro/pacman/bin をPATHに絶対通さないこと。コマンド名が長いと感じるときはaliasで設定する。

2. 開発ツール一式を全部インストール

選択して下さい (デフォルト=all): のところは何も入力しないでEnterを押す

$ sudo /opt/devkitpro/pacman/bin/pacman -S 3ds-dev
選択して下さい (デフォルト=all): 
:: インストールを行いますか? [Y/n] Y
$

Tips: パッケージの探し方

一部のソフトでは、外部ライブラリを使用している場合がある。その時はpacman -Ss パッケージ名 で探して pacman -S 完全なパッケージ名 でインストールできる。 なお、しばらく更新されていないソフトだと、リネーム前のパッケージ名をインストールするように書かれている場合がある。

リネーム前 リネーム後
3ds-libmpg123 3ds-mpg123
3ds-libopusfile 3ds-opusfile

makeromとctrtool

ciaまで自動生成するように構成されているものは、makeromctrtoolがないとエラーで止まってしまうことがある。インストールすることで解決する。
どちらとも https://github.com/3DSGuy/Project_CTR/releases からApple Siliconに対応したバイナリをダウンロードできる。Z ダウンロード後、バイナリを /usr/local/bin に移動する。 その後 chmod +x /usr/local/bin/makerom /usr/local/bin/ctrtool で権限を与え、一度実行する。このバイナリは署名されていないのでmacOSがブロックしてくるため、設定Appの「セキュリティーとプライバシー」からブロックを解除する。

makeで「Unsupported host architecture」と表示された場合

これは buildtools がarm64に対応していないことが原因だが、スクリプトを改造することでarm64でもビルドできるようになる。 ソースディレクトリにあるbuildtoolsの中にあるmake_baseを開き、165行目からのCPUアーキテクチャの検出部分を改造する。 HOST_ARCH := i686の下の行に

else ifeq ($(UNAME_M),$(filter $(UNAME_M),arm64))
        HOST_ARCH := arm64

を加える。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment