0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

aarch64対応のGCC(mingw-woarm64)をインストールする

Posted at

Amazon Linux 2023のオンプレミスでの検証環境をWSL上で動かすのにWSL-ToyCを使っているのですが、作者さんがリリースしてくれているバイナリにはx86-64アーキテクチャ向けのものしかなく、Prismではなく、できる限りネイティブなバイナリで動かしたい自分としてはなんとなくもやもや~っと。
そんなわけで、自分でWSL-ToyCをGitHubからダウンロードしてコンパイルしようとしたのだけど、MakefileをみるとどうやらWSL-ToycはLinux上でWindowsの実行ファイル(.exe)を作れるGCC(GNU C Compiler)x86_64-w64-mingw32-gccを使ってビルドされているらしい。
x86_64-w64-mingw32-gccはその名前から判るようにx86-64向けのバイナリを吐き出すコンパイラなので、これをそのまま使ってWSL-Toycをビルドしても元とおなじくx86-64ターゲットのものになっちゃう。
そこでちょろっとソースコードを覗いてみたら、それほど複雑なコードでもなく、普通にAarch64向けのバイナリを吐き出すx86_64-w64-mingw32-gccのようなものがあればいいわけで、さくっとGoogleさんでアプリ名の頭のx86_64aarc64arm64に変えて探してみましたw
そしたら、まだまだ安定版とは言えないらしいこど、それなりには動くようになったよとアナウンスされているWindows on Arm64 GNU Toolchain Cross-CompilerというGitHubのページを発見!
ビルド作業はといっても実に簡単、リポジトリのREADME.mdに書かれているとおりにWSL2のUbintuやネイティブに動作しているUbuntu上でリポジトリをクローンしてビルド用のシェルスクリプトを動かすだけでホームディレクトリ上にビルドされたコンパイラ環境がインストールされます。

GitHubからソースコードを取得する

git clone https://github.com/Windows-on-ARM-Experiments/mingw-woarm64-build.git

クローンしたソースコードをビルドする

cd mingw-woarm64-build
./build.sh

ビルドされたコンパイラ環境(GNU Toolchain Cross-Compiler)はホームディレクトリの ~/cross-aarch64-w64-mingw32-msvcrt以下にインストールされるので、実行ファイルがある ~/cross-aarch64-w64-mingw32-msvcrt/binをパスへと追加してあげれば利用することができます。

とりあえず、手動でパスPATHに追加してみる

export PATH=~/cross-aarch64-w64-mingw32-msvcrt/bin:$PATH`

GCCを起動してバージョンを確認

aarch64-w64-mingw32-gcc --version
aarch64-w64-mingw32-gcc (GCC) 15.0.1 20250131 (experimental)
Copyright (C) 2025 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ちなみに、ここでビルドしたGCCを使って無事にWSL-ToycをAarch64へと対応させることができました。
ちなみに、ARM64アーキテクチャの表記ってaarch64だったり、arm64だったり、一文字目だけ大文字のAarch64だったり、Arm64だったり、あるいは全部大文字のAARCH64だったり、ARM64だったりと統一されていないのはなんとかならないものでしょうか?

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?