😽

Jetson Orin でsora-cpp-sdk をビルドする

2022/06/20に公開

sora-cpp-sdk はJetson Orinに対応しているのですが、ビルド方法としてOrin自身でのネイティブビルドにはまだ対応していなかったので、やってみました。
これは非公式なビルド方法です。

この作業をしたときにOrinのバージョンはこちら。

$ cat /etc/nv_tegra_release 
# R34 (release), REVISION: 1.1, GCID: 30414990, BOARD: t186ref, EABI: aarch64, DATE: Tue May 17 04:20:55 UTC 2022

Docker環境の作成

docker環境の中でビルドするようにしました。試行錯誤の結果にできたDockerfileはこちら。

Dockerfile
FROM ubuntu:20.04
RUN apt update
RUN apt upgrade -y
RUN apt install -y tzdata
RUN echo 'Asia/Tokyo' > /etc/timezone
RUN dpkg-reconfigure -f noninteractive tzdata
RUN apt install -y python3 multistrap binutils-aarch64-linux-gnu wget git clang-12 make
RUN ln -s /usr/bin/clang++-12 /usr/local/bin/clang++
RUN ln -s /usr/bin/clang-12 /usr/local/bin/clang
RUN sed -e 's/Apt::Get::AllowUnauthenticated=true/Apt::Get::AllowUnauthenticated=true";\n$config_str .= " -o Acquire::AllowInsecureRepositories=true/' -i /usr/sbin/multistrap
$ docker build -t koba/sora-cpp-sdk-build .

sora-cpp-sdkの修正

forkしてbuild_on_jetsonのブランチにpushしておきました。
https://github.com/tetsu-koba/sora-cpp-sdk/tree/build_on_jetson

ビルド

$ docker run -v $PWD:$PWD -w $PWD koba/sora-cpp-sdk-build python3 run.py --test --package ubuntu-20.04_armv8_jetson

成果物は以下のディレクトリにできます。
_package/ubuntu-20.04_armv8_jetson/release/

2度目以降にクリーンビルドするなら

$ sudo rm -rf _*

を行ってからやります。

関連

ビルドで頻繁に書き換えるディレクトリは内蔵のeMMCでなくてUSB外付けSSDを使っています。
https://zenn.dev/tetsu_koba/articles/a64c3a0fac5547

Discussion