2024-01-19 Rust Linux muslターゲット
*-linux-musl
がデフォルトのターゲットではない理由バイナリの配布に便利な*-linux-muslターゲットですが、なぜLinux環境ではそれをデフォルトにせず、
*-linux-gnu
ターゲットが使われるのでしょうか?それはmuslを使うとビルドが面倒になるからです。 *-linux-muslではRustバイナリが外部ライブラリに依存しているときは、それなりの準備が必要です。 なぜなら、外部ライブラリはglibcと動的リンクする代わりに、muslと静的リンクしている必要があるからです。 そのようなものはaptなどではインストールできないのが普通ですので、musl向けのgccを使ってソースコードからビルドすることになります。