あさりのみそしるダイアリー

言いたいことを言える世の中の方がいいよね(´・ω・`)

Jetson Nano に 最新版CMakeをインストールする

こんな時間ですが、立て続けにエントリーを書きます(´・ω・`)

 

ソロプロジェクトにとって一番頼りになるのは、オープンソースコミュニティーですかね?私はそう感じます。

フリーでソフトウェアエンジニアをやっている方も同じなのではないかなと勝手に思っています(´・ω・`)

 

都合のいいライブラリは、作業効率や実装スピードがはかどってよき(`・ω・´)

 

あとは、うまくいかない壁にぶち当たったとき、ネット上でヒントをポチポチ探ることが多いです。

社内のほかのプロジェクトのひとに当たるのも一手ですが、彼らは昔からひきずっているものが多い故、1から新しい要素を試しつつな私のやり方とは合わないんですよね・・・、ゆえにあまり頼れないです(´・ω・`)

なので、日英問わずいろいろ検索しますが、やっぱりネット上の情報は多いに越したことはないですよね。ノイズも多いですが。

 

私のエントリーも、1つのノイズになればと・・・(ノイズかーい

 

JetPack 4.4.1 で Jetson Nano 環境を用意し、VSCodeなどを入れてセルフ開発環境をととのえるわけですが、C++でプログラミングをしようとすると、たいてい必要になるのがCMakeです。

 

私の場合は、Windows向けとJetson(Linux)向けとで、同じプログラムを異なるプラットフォームでビルドすることもあり、C++でやるならCMakeは必須です。

ま、こういう環境なので、Go言語とかさわりはじめてもいるんですが。

 

JetpackにはCMakeが標準で含まれていますが、CMakeバージョンが3.10.2と古く、target_link_directories などのCMakeコマンドを使うとエラーを吐きます。

cmake.org

 

なので、CMakeをgitからcloneして、ビルドしました。

ビルドを始める前に、Jetson Nano 2GB モデルは、ビルド時のメモリ不足がかなり深刻なことになる場合があるため、あらかじめスワップを有効にし、ある程度余裕を持たせておくことをおすすめします。

わたしは、下記ウェブサイトを参考に、6GBのスワップ領域をSDカード上に別途用意しました。

www.henjins-toolbox.tech

 

スワップ領域を microSDカード上に展開すると、SDカードの寿命が気になるところですが、メモリ不足でとんでもない遠回りになるよりはマシだと思います(´・ω・`)

 

CMakeは、以下の場所で公開されています。

github.com

 

Jetsonでビルドする際は・・・

git clone https://github.com/Kitware/CMake -b v3.19.1

./bootstrap && make && sudo make install

でOKです。これだと1時間ほどビルドに時間がかかります。

-j4とかつけとけばもっと早くなったかな(´・ω・`)

 

ビルドが終わったら、ターミナルを再起動して、

cmake --version

でバージョンをチェックします。

 

f:id:asarinomisosoup:20201212020625j:plain

問題なくインストールできました。

 

ただ、Jetson Xavier NXでも同じことをした気がしますが、そのときはマイクロソフトのドキュメントの方法で最新版のCMakeをインストールした気がするんですよね・・・・

やり方どこかにメモった気もしますが、紛失して手順を忘れてしまいました(´・ω・`)

 

ま、この方法でも特に問題はなさそうで、VSCode で "target_link_directories" を含むCMakeプロジェクトのビルドにも成功しました。

なぜかエディタ上のコマンド部分の表示が白いんですが、ま、いっか(´・ω・`)