はじめに
Big Surにしたら、ArduinoでESP32が動かなくなった。ぐぬぬ。
環境
MacOS: Big Sur
Arduino: 1.8.13
ESP32: M5StickC
エラー
こんなエラーがでる。
Traceback (most recent call last):
File "esptool.py", line 57, in <module>
File "/Library/Python/2.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
File "serial/tools/list_ports.py", line 29, in <module>
File "/Library/Python/2.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
File "serial/tools/list_ports_posix.py", line 31, in <module>
File "/Library/Python/2.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
File "serial/tools/list_ports_osx.py", line 32, in <module>
ValueError: dlsym(RTLD_DEFAULT, kIOMasterPortDefault): symbol not found
Failed to execute script esptool
exit status 255
/Applications/Arduino.app/Contents/Java/arduino-builder returned 255
Error compiling for board M5Stick-C.
調査
ここ2つがこのissueについて議論してるところっぽい。
すでに解決してそう。
解決策
ここに、それっぽい解決方法が書かれてるのでためしてみる。
ここらのコマンドを実行した。
Pythonを入れ直して、esptool.pyを最新のとってきてるだけかな。
~ ❯❯❯ sudo rm -rf /Library/Developer/CommandLineTools ✘ 1
~ ❯❯❯ sudo xcode-select --install
~/L/A/p/e/tools ❯❯❯ brew install --build-from-source python
~/L/A/p/e/tools ❯❯❯ cd ~/Library/Arduino15/packages/esp32/tools/esptool_py
~/L/A/p/e/tools ❯❯❯ mv esptool esptool.old
~/L/A/p/e/tools ❯❯❯ mv ~/Downloads/esptool.py ./
~/L/A/p/e/tools ❯❯❯ chmod + esptool
pythonはここにインストールされたっぽい。シンボリックリンクみたいやけど。
~/L/A/p/e/t/e/2.6.1 ❯❯❯ which python3
/usr/local/bin/python3
~/L/A/p/e/t/e/2.6.1 ❯❯❯ python3 --version
Python 3.9.0
esptoolの最初の一行を以下のように変更する。
#!/usr/local/bin/python3
確認
それでも、なぜかうまくいかなかったりした。
Arduinoを再起動したり、Boardを選び直したりして、コンパイルを何度かしたらいけた。
再現性があるか謎。
いけたときのログはこんな感じ。
Sketch uses 214433 bytes (16%) of program storage space. Maximum is 1310720 bytes.
Global variables use 15436 bytes (4%) of dynamic memory, leaving 312244 bytes for local variables. Maximum is 327680 bytes.
Exampleを書き込んで動くことを確認した。
よかったよかった。
おわりに
Big Surにして、しばらく大丈夫やったけど、トラップがあった。
まあ、解決してそうでよかった。
追記
先人がいた。
python入れ直さなくてよかった疑惑・・・。