Using mbed-cli v1.10.2, I get the following error:
jgreene /c/Users/ssc27/Projects/VoBoNode master mbed compile
[mbed] Working path "/c/Users/ssc27/Projects/VoBoNode" (program)
[OS ERROR] Command: /c/Program Files (x86)/GNU Tools ARM Embedded/6 2017-q2-update/bin/arm-none-eabi-gcc --version
[ERROR] [Errno 2] No such file or directory
[mbed] ERROR: "/usr/bin/python" returned error.
Code: 1
Path: "/c/Users/ssc27/Projects/VoBoNode"
Command: "/usr/bin/python -u /c/Users/ssc27/Projects/VoBoNode/mbed-os/tools/make.py -t GCC_ARM -m MTS_MDOT_F411RE --source . --build ./BUILD/MTS_MDOT_F411RE/GCC_ARM"
Tip: You could retry the last command with "-v" flag for verbose output
I suspect that the problem is being caused by spaces or something in the folder names but have tried various formats without any luck. I did confirm that the path to “arm-none-eabi-gcc” is correct, though. Anyone have any ideas how to resolve this?
Thanks for the feedback, @hudakz. I really appreciate it.
I tried 2 variations on your suggestion which both produced seemingly identical error outputs (see below). The path as shown on the “[OS ERROR]” lines appear to be correct. So, the path string seems to be getting passed correctly but for whatever reason the build still errors out on it. Very odd. Any other suggestions?
Putting each individual folder with spaces in a set of quotes:
jgreene /c/Users/ssc27/Projects/VoBoNode master mbed config -G GCC_ARM_PATH /c/"Program Files (x86)"/"GNU Tools ARM Embedded"/"6 2017-q2-update"/bin
[mbed] /c/Program Files (x86)/GNU Tools ARM Embedded/6 2017-q2-update/bin now set as global GCC_ARM_PATH
jgreene /c/Users/ssc27/Projects/VoBoNode master mbed compile
[mbed] Working path "/c/Users/ssc27/Projects/VoBoNode" (program)
[OS ERROR] Command: /c/Program Files (x86)/GNU Tools ARM Embedded/6 2017-q2-update/bin/arm-none-eabi-gcc --version
[ERROR] [Errno 2] No such file or directory
[mbed] ERROR: "/usr/bin/python" returned error.
Code: 1
Path: "/c/Users/ssc27/Projects/VoBoNode"
Command: "/usr/bin/python -u /c/Users/ssc27/Projects/VoBoNode/mbed-os/tools/make.py -t GCC_ARM -m MTS_MDOT_F411RE --source . --build ./BUILD/MTS_MDOT_F411RE/GCC_ARM"
Tip: You could retry the last command with "-v" flag for verbose output
---
Surrounding all 3 folders containing spaces in a single pair of quotes:
✘ jgreene /c/Users/ssc27/Projects/VoBoNode master mbed config -G GCC_ARM_PATH /c/"Program Files (x86)/GNU Tools ARM Embedded/6 2017-q2-update"/bin
[mbed] /c/Program Files (x86)/GNU Tools ARM Embedded/6 2017-q2-update/bin now set as global GCC_ARM_PATH
jgreene /c/Users/ssc27/Projects/VoBoNode master mbed compile
[mbed] Working path "/c/Users/ssc27/Projects/VoBoNode" (program)
[OS ERROR] Command: /c/Program Files (x86)/GNU Tools ARM Embedded/6 2017-q2-update/bin/arm-none-eabi-gcc --version
[ERROR] [Errno 2] No such file or directory
[mbed] ERROR: "/usr/bin/python" returned error.
Code: 1
Path: "/c/Users/ssc27/Projects/VoBoNode"
Command: "/usr/bin/python -u /c/Users/ssc27/Projects/VoBoNode/mbed-os/tools/make.py -t GCC_ARM -m MTS_MDOT_F411RE --source . --build ./BUILD/MTS_MDOT_F411RE/GCC_ARM"
Tip: You could retry the last command with "-v" flag for verbose output
---
Open a terminal window and first try: ls /c/"Program Files (x86)"
If it works then extent the path and try: ls /c/"Program Files (x86)"/"GNU Tools ARM Embedded"
Continue extending the path step by step until you reach a point when it fails.
I’m embarassed I did not think of that to try, @hudakz . Unfortunately, though, it never fails and “ls” shows the correct executable arm-none-eabi-gcc.exe is present in the correct folder. I’m wondering if the “.exe” file extension is messing something up.
You are right. There is no arm-none-eabi-gcc file because the extension (“.exe” included) belongs to the file name. But I’m afraid if there was an arm-none-eabi-gcc binary file Linux would not be capable to execute it because the Windows binary format is different To run a Windows executable on Linux I usually use wine but even that does not work with all Windows programs.
I seems that you have to install a GCC-ARM package also on Linux.