はじめに
Raspberry Pi +Ubuntu Server 21.04環境において、cardano-nodeはすんなり動作しませんので、それに対応した際の作業メモです。
carano-nodeのビルドエラーを1つづ対処
cardano-nodeをビルドする際にエラーが発生しました。
: error:
Warning: Couldn't figure out LLVM version!
Make sure you have installed LLVM 9
ghc: could not execute: opt
llvmのoptコマンドが見つからないのでエラーとなっていますね。
下記コマンドでllvm-9をインストールしましょう。
sudo apt install llvm-9
※llvm-11で動作するかは未検証です。
なおcardano-nodeはビルド時にoptを要求しており
llvm-9インストール後に追加される opt-9 では
コマンドが見つからないと同じエラーが発生します。
これに対するアプローチは3つ程考えられます
1. /usr/bin/opt-9 の実体である /usr//lib/llvm-9/bin/opt にPATHを通す
2. /usr/bin/opt-9 のシンボリックリンク /usr/bin/opt を作成する
3. cardano-nodeのビルド設定ファイルを修正する
今回は2.のシンボリックリンク作成が簡単なので採用します
sudo ln -s /usr/bin/opt-9 /usr/bin/opt
ls -al /usr/bin/opt
実行結果
/usr/bin/opt -> /usr/bin/opt-9
再度ビルドを再開しましょう。
: error:
Warning: Couldn't figure out LLVM version!
Make sure you have installed LLVM 9
ghc: could not execute: llc
今度はllc が見つからなくてエラーとなりました。
これはoptと同じ原因なので、以下のコマンドで対応します。
sudo ln -s /usr/bin/llc-9 /usr/bin/llc ls -al /usr/bin/llc 実行結果 /usr/bin/llc -> /usr/bin/llc-9
再度ビルドを再開しましょう
Linking dist/build/alex/alex …
/usr/bin/ld.gold: error: cannot find -lnuma
次は numa ライブラリが見つからなくてエラーとなりました。
numaは共有メモリ関連の操作を行うライブラリです。
以下のコマンドでインストールができます。
sudo apt install libnuma-dev
ビルドを再開しましょう。
以上で、無事ビルドが完了しました。