😅

Linux + Arduino-CLI + M5Stackで開発ができない

に公開

ことの始まり

久しぶりにM5Stack core2で開発しようと思ったら下記エラー

/home/ryo-hey/Arduino/libraries/M5Core2/src/utility/pngle.c:31:10: fatal error: rom/miniz.h: No such file or directory
  31 | #include <rom/miniz.h>
     |          ^~~~~~~~~~~~~
compilation terminated.

idfのv5.4からはromというフォルダはごっそりなくなっていました。
chatGPTに聞いても「#include <rom/miniz.h> の行を削除で解決」と、イマイチな回答。
v5.3にromのフォルダがあったので移植してみましたが別の問題も多々起きて収集つかなかったので諦めてcoreのバージョンを落とします。

解決方法

今のcoreを消して、バージョン指定して入れ直します。

arduino-cli core uninstall m5stack:esp32
arduino-cli core install m5stack:esp32@2.1.4

補足

入れられるバージョンを確認しようとしても一個しか出てきません。

arduino-cli core search m5stack:esp32

https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json
ここから入れられそうなバージョンを探す(今回は2.1.4)。

終わりに

無理やり解決しようとしていろいろやったが結局これに落ち着いてしまった。
romを移してもそもそもplatform.txtのフラグも変わっていて、それを解決しても他のライブラリで問題が起きる。。。の繰り返し
環境がニッチすぎるのでチェックもされないし治らないかもですね.
ESP-IDFに移行をおすすめします。

Discussion