Jetson Nanoにpyxelをインストールするときの ”fatal error: filesystem: No such file or directory #include <filesystem>”を解決する
最近買ったJetson Nanoで2Dゲームでも作ってみようかと思い、見つけたのがpyxelであった。
github.com
メインPCのUbuntu環境ではサクッとインストールできたが、Jetson上では少し手間取ったのでメモ。
結論:gccとg++のバージョンを上げればいい(バージョン9以降?)
結論から言うとこうなる。ソースからビルドする必要があるがこのとき
fatal error: filesystem: No such file or directory #include
などと言われてMakeが通らなかった。
とりあえずgccとg++のバージョンを確認してみる
$ gcc --version gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0
とのことでこのバージョンではfilesystemが実装されていないようであった。(詳しくは分からないが…)
新しいバージョンのgccとg++をインストールする。
$ sudo apt-get install gcc-9 $ sudo apt-get install g++-9
デフォルトで読み込まれるバージョンを変更する
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 9
sudo update-alternatives --config gcc sudo update-alternatives --config g++
これでgcc --versionコマンドを実行してバージョンが上がっていたらOK。
あとは手順にしたがってMakeすれば良い。
ちなみにgccとg++のバージョンを8にしていたときは
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
といったエラーを吐かれてpip install が通らなかった。
そこでgccとg++のバージョンを9にしてMakeし直し、pip installを行ったら成功した。