現象
- ドローンのTelloをプログラムで制御するためのPythonライブラリDJITelloPyをJetson Nano(Ubuntu)にインストールした。
- が、
import Tello
を実行しただけなのにIllegal instruction (cpre dumped)
でエラーになってしまう。
環境
- Jetson Nano
- Ubuntu 18.04 LTS
エラー内容
こんな感じで、import Tello
を実行しただけで、core dumped
になる。
$ python3
>>> from djitellopy import Tello
Illegal instruction (core dumped)
pip3 install
でいろんなバージョンを試したけど解決せず。
一方、Intel Macでは正常に実行できる。
解決方法
python3を実行する前に環境変数OPENBLAS_CORETYPE
にARMV8
だよって設定をしとけばよい。
(毎回設定するのが面倒くさいなら.bashrcあたりに書くとかする)
$ export OPENBLAS_CORETYPE=ARMV8
- ここに解決方法が記載されている。
- 要するに、Jetson NanoはARM64系なので、そのままだとCPU命令セットの違いで動かないみたい。
- 特にTello(djitellopy)に限った話ではなく、Jetson NanoでPyhton3実行する際の一般的な問題な訳だ。
OK、解決した!
落ち着いて調べたら、からあげ先生のまとめにちゃんと書かれてましたね。
さすがです。