1. 症状
Arduino IDEにおいて(サンプルスクリプトの)コンパイルが失敗する。
2. エラーメッセージ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
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が255を返しました。 ボードM5Stack-Core-ESP32に対するコンパイル時にエラーが発生しました。 「ファイル」メニューの「環境設定」から 「より詳細な情報を表示する:コンパイル」を有効にすると より詳しい情報が表示されます。 Arduino:1.8.13 (Mac OS X), ボード:"M5Stack-Core-ESP32, QIO, 80MHz, Default, 921600, None" |
3. 環境
- Arduino IDE 1.8.13
- macOS Big Sur (11.0.1)
- Python 2.7.16
- Python 3.9.0
4. 原因
コンパイル済みの esptool
では正しく動作しない。
5. 修正 概要
コンパイル済みの esptool
の代わりに、コンパイル前の esptool.py
を呼び出すように差し替える。
6. 修正 詳細
6.1. スクリプトファイルをコピーする
1 2 |
$ cp /Users/Nobody/Library/Arduino15/packages/esp32/hardware/esp32/1.0.4/tools/esptool.py \ /Users/Nobody/Library/Arduino15/packages/esp32/tools/esptool_py/2.6.1/esptool.py |
6.2. コピー先のスクリプトファイルに実行権限を与える
1 2 |
$ chmod +x /Users/Nobody/Library/Arduino15/packages/esp32/hardware/esp32/1.0.4/tools/esptool.py \ /Users/Nobody/Library/Arduino15/packages/esp32/tools/esptool_py/2.6.1/esptool.py |
6.3. Arduino IDEの設定ファイルを書き換える
6.3.1. 編集対象ファイル
/Users/Nobody/Library/Arduino15/packages/esp32/hardware/esp32/1.0.4/platform.txt
6.3.2. 編集対象行(diff)
1 2 |
- tools.esptool_py.cmd=esptool + tools.esptool_py.cmd=esptool.py |