LoginSignup
1
1

More than 3 years have passed since last update.

Jetson Nano に pptk をインストールする

Last updated at Posted at 2020-04-12

前置き

Kaolin を Jetson Nano で動かしてみようと思いました。
ドキュメントに沿って進めてみましたが、ERROR: kaolin 0.1.0 requires pptk, which is not installed. など、パッケージの不足を示す複数のエラーが...

ほとんどは pip install 〇〇 で解決できましたが、 pptk に関しては解決できず、インストールに苦労したので、 pptk を Jetson Nano にインストールする方法をメモとして残します。

実行環境

$ uname -a
Linux JetsonNano 4.9.140-tegra #1 SMP PREEMPT Mon Dec 9 22:47:42 PST 2019 aarch64 aarch64 aarch64 GNU/Linux

初めに試したこと

pptk を pip でインストールする。

$ pip install pptk
ERROR: Could not find a version that satisfies the requirement pptk (from versions: none)
ERROR: No matching distribution found for pptk

上記のように、Jetson Nano Ubuntu18.04 ではインストールすることができませんでした。

また、PyPIからwhlファイルも探しましたが、Jetson Nano Ubuntu18.04 に該当するファイルは見つかりませんでした。

pptk の GitHub を確認

pptk の GitHub を確認したみたところ、インストール方法として pip 以外に、ソースから pptk をビルドする方法がありました。今回はこの方法を利用します。

pptk に必要な依存関係のインストール

以下に示す5つが必要です。

  • QT
  • TBB
  • Eigen
  • Python
  • Numpy

CMakeCache.linux.txt を参考に QT、TBB、Eigen のインストール方法をメモとして残します。なお、QT、TBB、Eigen それぞれのバージョンは、CMakeCache.linux.txt と一致させています。

また、後述する CmakeCache.txt を作成するための準備として、インストールしたファイルを格納するためのディレクトリを用意します。

$ cd
$ mkdir Sources && cd Sources

それでは、必要なファイルをインストールしていきます。

QT

$ sudo apt install qtbase5-dev qttools5-dev-tools qt5-default

TBB

$ wget wget https://github.com/oneapi-src/oneTBB/releases/download/2018_U1/tbb2018_20170919oss_lin.tgz
$ tar -xzvf tbb2018_20170919oss_lin.tgz

Eigen

$ wget http://bitbucket.org/eigen/eigen/get/3.3.4.tar.bz2
$ tar -xjvf 3.3.4.tar.bz2
$ mv eigen-eigen-5a0156e40feb/ eigen-3.3.4/

pptk のビルド

必要なファイルのインストールが完了したら、pptk のビルドを行います。
まず、 pptk を GitHub から クローンします。

$ cd
$ git clone https://github.com/heremaps/pptk.git temp

次に、ビルドするためのディレクトリを作成し、そのディレクトリ内に CmakeCache.txt を作成します。

$ cd temp
$ mkdir build && cd build
$ touch CMakeCache.txt

それでは、CMakeCache.linux.txt を参考に、CMakeCache.txt を記述します。

上記の手順で進めた場合、CMakeCache.txt は以下のようになります。
Numpy_INCLUDE_DIR:PATH は異なると思いますので、環境に合わせて変更して下さい。

CMakeCache.txt
Numpy_INCLUDE_DIR:PATH=/home/JetsonNano/.virtualenvs/py33d/lib/python3.6/site-packages/numpy/core/include/numpy
Eigen_INCLUDE_DIR:PATH=/home/JetsonNano/Sources/eigen-3.3.4
Qt5_DIR:PATH=/usr/lib/aarch64-linux-gnu/cmake/Qt5
TBB_INCLUDE_DIR:PATH=/home/JetsonNano/Sources/tbb2018_20170919oss/include
TBB_tbb_LIBRARY:FILEPATH=/home/JetsonNano/Sources/tbb2018_20170919oss/lib/intel64/gcc4.7/libtbb.so
TBB_tbb_RUNTIME:FILEPATH=/home/JetsonNano/Sources/tbb2018_20170919oss/lib/intel64/gcc4.7/libtbb.so
TBB_tbbmalloc_LIBRARY:FILEPATH=/home/JetsonNano/Sources/tbb2018_20170919oss/lib/intel64/gcc4.7/libtbbmalloc.so
TBB_tbbmalloc_RUNTIME:FILEPATH=/home/JetsonNano/Sources/tbb2018_20170919oss/lib/intel64/gcc4.7/libtbbmalloc.so
PPTK_PATCHELF:FILEPATH=/home/JetsonNano/Sources/install/bin/patchelf

CMakeCache.txt の作成後、以下を実行します。

$ cmake ~/temp/

cmake の 実行後、以下のようにディレクトリ pptk が生成されます。

$ tree -L 1 ~/temp/build
/home/JetsonNano/temp/build
├── CMakeCache.txt
├── CMakeFiles
├── cmake_install.cmake
├── licenses
├── Makefile
└── pptk

生成された pptk をコピーします。

$ cp -r pptk /home/JetsonNano/.virtualenvs/py33d/lib/python3.6/site-packages/

pptk の確認

最後に pptk がインストールされているか確認します。

$ python3
>>> import pptk
>>> import kaolin
>>>
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1