Avoid :eacces by running ESP-IDF esptool.py via python #66
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Fixes a
:eacceserror when runningmix atomvm.esp32.flashin an environment whereIDF_PATHis set.Environment
IDF_PATH=/home/mnishiguchi/esp/esp-idf)python3,python)esptool.pyis not executable:Error observed
Cause
When
IDF_PATHis set, ExAtomVM uses ESP-IDF’s bundledesptool.py. In some setups (including the ESP-IDF 5.4 environment above), this script is not executable, so attempting to execute it directly fails with:eacces.Fix
When
IDF_PATHis set, execute ESP-IDF’sesptool.pyviapython3/pythoninstead of executing the script directly. The task now also fails fast with concise, actionable errors whenesptool.pyor python is missing.Test
IDF_PATHunset → usesesptool.pyfromPATHIDF_PATHset → runspython <esptool.py> ...without:eaccesNotes
pythonxis optional, users on the systemesptoolpath—especially withIDF_PATHset—can still hit:eacces. This PR hardens that path.