Raspberry Pi + Ubuntu 21.04環境でcardano-nodeをビルド 作業メモ

はじめに

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

ビルドを再開しましょう。

以上で、無事ビルドが完了しました。

コメントする