はじめに
Singularity は、高パフォーマンスコンピューティング(HPC)環境でのコンテナ実行を可能にするコンテナプラットフォームです。WSL 上で Singularity を利用することで、Linux コンテナを Windows 環境で動作させることができます。
本記事では、WSL(Ubuntu 20.04)上で SingularityCE 4.2.1 をソースからビルドしてインストールする手順になります。
開発環境
- Windows 11
- WSL2
インストール方法
必要なパッケージのインストール
まず、Singularity のビルドに必要なパッケージをインストールします。
sudo apt-get update sudo apt-get install -y \ build-essential \ libssl-dev \ uuid-dev \ libgpgme-dev \ squashfs-tools \ libseccomp-dev \ wget \ pkg-config \ git \ cryptsetup \ libglib2.0-dev \ libfuse-dev \ libfuse3-dev \ libjson-c-dev
Go 言語のインストール
既存の Go の削除(必要な場合)
sudo rm -rf /usr/local/go
最新の Go のダウンロードとインストール
# 最新の Go 1.21.1 をダウンロード wget https://go.dev/dl/go1.21.1.linux-amd64.tar.gz # /usr/local に展開 sudo tar -C /usr/local -xzf go1.21.1.linux-amd64.tar.gz # ダウンロードしたアーカイブを削除 rm go1.21.1.linux-amd64.tar.gz
環境変数を設定します
echo 'export GOPATH=${HOME}/go' >> ~/.bashrc echo 'export PATH=/usr/local/go/bin:${PATH}:${GOPATH}/bin' >> ~/.bashrc source ~/.bashrc
ここでインストールしたgoのversionを確認します
go version
以下の出力ができてきます
go version go1.21.1 linux/amd64
Singularity のソースコードのダウンロード
リポジトリからクローンします
git clone https://github.com/sylabs/singularity.git
cd singularity
configの設定を使って処理を実行します
./mconfig
ビルドをしてインストールをします
make -C builddir sudo make -C builddir install
以下でインストール後の確認ができます
singularity --version
以下のような出力がされてたら成功です
singularity-ce version 4.2.1
エラー対応
- glib-2.0 headers are required to build conmon.
以下で追加のライブラリを入れます
sudo apt-get install libglib2.0-dev