⛓️
SymbolをUbuntu24でビルド
必要なパッケージをインストール
bash
sudo apt update
sudo apt upgrade -y
sudo apt -y install git gcc g++ curl libssl-dev libgtest-dev ninja-build pkg-config cmake
Symbol のソースをクローン
現在公開されているバージョンのブランチをクローンします。保存場所はホームディレクトリを想定しています。
bash
git clone https://github.com/symbol/symbol.git -b client/catapult/v1.0.3.7
依存パッケージのビルド
Symbol サーバーをビルドするのに必要な依存パッケージをビルドするため、~/symbol/client/catapult
ディレクトリに入ります。
bash
cd ~/symbol/client/catapult
以下のコマンドで依存パッケージをビルドします。ビルド中にエラーが出たら解消して、再実行してください。再実行時は--download
オプションは不要です。
bash
PYTHONPATH="../../jenkins/catapult/" \
python3 "../../jenkins/catapult/installDepsLocal.py" \
--target "./deps" \
--versions "../../jenkins/catapult/versions.properties" \
--build \
--download
Symbol サーバーをビルド
ビルド用のディレクトリbuild
を作成して中に入ります。
bash
mkdir -p build && cd build
cmake を実行します。時間がかかるのでテストを無効にしてビルドします。ちなみに、-DENABLE_TESTS=OFF
を削除すればテストもビルドします。
bash
BOOST_ROOT="$(realpath ../deps/boost)" cmake .. \
-DENABLE_TESTS=OFF \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_PREFIX_PATH="$(realpath ../deps/facebook);$(realpath ../deps/google);$(realpath ../deps/mongodb);$(realpath ../deps/zeromq);$(realpath ../deps/openssl)" \
-GNinja
ビルドを開始します。
bash
ninja publish && ninja
インストール
~/symbol/client/catapult
に移動して、インストール用のスクリプトを作成します。
bash
cd ~/symbol/client/catapult
vi symbol_install.sh
symbol_install.sh
#!/bin/bash
set -e
rm -rf /usr/local/catapult
mkdir -p /usr/local/catapult/bin
mkdir -p /usr/local/catapult/lib
mkdir -p /usr/local/catapult/deps
# bin
cp build/bin/catapult* /usr/local/catapult/bin
# lib
cp build/bin/lib* /usr/local/catapult/lib
# dependence lib
cp -r deps/boost/lib/*.so* /usr/local/catapult/deps
cp -r deps/facebook/lib/*.so* /usr/local/catapult/deps
cp -r deps/mongodb/lib/*.so* /usr/local/catapult/deps
cp -r deps/openssl/*.so* /usr/local/catapult/deps
cp -r deps/openssl/engines-3 /usr/local/catapult/deps
cp -r deps/openssl/ossl-modules /usr/local/catapult/deps
cp -r deps/zeromq/lib/*.so* /usr/local/catapult/deps
実行権限を付与して、シェルを実行します。
bash
chmod +x symbol_install.sh
sudo ./symbol_install.sh
パスを通す
ライブラリへのパスを通します。
bash
vi ~/.bashrc
以下を末行に追加します。
~/.bashrc
export LD_LIBRARY_PATH=/usr/local/catapult/deps
export PATH="/usr/local/catapult/bin:$PATH"
.bashrc
を再読み込みします。
bash
source ~/.bashrc
実行確認
以下のコマンドを実行してヘルプが表示されれば、ビルドは成功です。
bash
catapult.tools.address --help
Discussion