Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@comachi

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

More than 1 year has passed since last update.

前置き

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
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
comachi

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?