nim-arduino
nim-arduino copied to clipboard
Doesn't work on native Windows
OS: Windows 10 Nim: devel 1.3.5 (git hash: 8a004e2fc07c87b8308c3c03e4448372a2094383) Arduino: 1.8.13
I followed the instructions but I cannot get this to work on my machine. The error message is about AVR compiler but I did compile normal Arduino sketches before. The path to the compiler is "wrong" - the problem is a space in the path.
Arduino: 1.8.13 (Windows 10), Board: "Arduino Uno"
C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Ado\Documents\Arduino\libraries -fqbn=arduino:avr:uno -ide-version=10813 -build-path C:\Users\Ado\AppData\Local\Temp\arduino_build_717971 -warnings=default -build-cache C:\Users\Ado\AppData\Local\Temp\arduino_cache_771324 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\Users\Ado\Documents\Arduino\sketch_aug21a\sketch_aug21a.ino
C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Ado\Documents\Arduino\libraries -fqbn=arduino:avr:uno -ide-version=10813 -build-path C:\Users\Ado\AppData\Local\Temp\arduino_build_717971 -warnings=default -build-cache C:\Users\Ado\AppData\Local\Temp\arduino_cache_771324 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\Users\Ado\Documents\Arduino\sketch_aug21a\sketch_aug21a.ino
Using board 'uno' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
Using core 'arduino' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
Detecting libraries used...
nim_arduino macros "--nimflags=\"--cpu:avr" --os:any --gc:arc --exceptions:goto --noMain -d:noSignalHandler -d:danger "-d:useMalloc\"" "--compiler=\"C:\\Program" Files "(x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++\"" "--cppflags=\"-c" -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\standard\"" "--input=\"C:\\Users\\Ado\\AppData\\Local\\Temp\\arduino_build_717971\\sketch\\sketch_aug21a.ino.cpp\"" "--output=\"nul\"" -DARDUINO_LIB_DISCOVERY_PHASE
>>> macros --nimflags="--cpu:avr --os:any --gc:arc --exceptions:goto --noMain -d:noSignalHandler -d:danger -d:useMalloc" --compiler="C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" --cppflags="-c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard" --input="C:\Users\Ado\AppData\Local\Temp\arduino_build_717971\sketch\sketch_aug21a.ino.cpp" --output="nul" -DARDUINO_LIB_DISCOVERY_PHASE
>>> nim cpp -c --nimcache:C:\Users\Ado\AppData\Local\Temp\arduino_build_717971\sketch\nimcache --cpu:avr --os:any --gc:arc --exceptions:goto --noMain -d:noSignalHandler -d:danger -d:useMalloc C:\Users\Ado\AppData\Local\Temp\arduino_build_717971\sketch\sketch.nim
>>> C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard -IC:\Users\Ado\.choosenim\toolchains\nim-1.2.6\lib C:\Users\Ado\AppData\Local\Temp\arduino_build_717971\sketch\nimcache\@mD@c@sPlayground@sNim@sGit@snim-arduino@[email protected]
>>> Error running command
avr-g++: error: Files: No such file or directory
Error while detecting libraries included by C:\Users\Ado\AppData\Local\Temp\arduino_build_717971\sketch\sketch_aug21a.ino.cpp
Generating function prototypes...
nim_arduino macros "--nimflags=\"--cpu:avr" --os:any --gc:arc --exceptions:goto --noMain -d:noSignalHandler -d:danger "-d:useMalloc\"" "--compiler=\"C:\\Program" Files "(x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++\"" "--cppflags=\"-c" -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\standard\"" "--input=\"C:\\Users\\Ado\\AppData\\Local\\Temp\\arduino_build_717971\\sketch\\sketch_aug21a.ino.cpp\"" "--output=\"C:\\Users\\Ado\\AppData\\Local\\Temp\\arduino_build_717971\\preproc\\ctags_target_for_gcc_minus_e.cpp\"" -DARDUINO_LIB_DISCOVERY_PHASE
>>> macros --nimflags="--cpu:avr --os:any --gc:arc --exceptions:goto --noMain -d:noSignalHandler -d:danger -d:useMalloc" --compiler="C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" --cppflags="-c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard" --input="C:\Users\Ado\AppData\Local\Temp\arduino_build_717971\sketch\sketch_aug21a.ino.cpp" --output="C:\Users\Ado\AppData\Local\Temp\arduino_build_717971\preproc\ctags_target_for_gcc_minus_e.cpp" -DARDUINO_LIB_DISCOVERY_PHASE
>>> nim cpp -c --nimcache:C:\Users\Ado\AppData\Local\Temp\arduino_build_717971\sketch\nimcache --cpu:avr --os:any --gc:arc --exceptions:goto --noMain -d:noSignalHandler -d:danger -d:useMalloc C:\Users\Ado\AppData\Local\Temp\arduino_build_717971\sketch\sketch.nim
>>> C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard -IC:\Users\Ado\.choosenim\toolchains\nim-1.2.6\lib C:\Users\Ado\AppData\Local\Temp\arduino_build_717971\sketch\nimcache\@mD@c@sPlayground@sNim@sGit@snim-arduino@[email protected]
>>> Error running command
avr-g++: error: Files: No such file or directory
exit status 1
Error compiling for board Arduino Uno.
So I tried to modify the source so it generates proper paths but now there is a new problem... This time it is OSerror in Nim. osproc.startProcess() procedure doesn't work with this new string.
Look at the Additional info - everything has escape backslashes - also I don't get this "Error: unhandled exception: Access is denied.", maybe I don't have privileges for some reason? Running commands like "cmd" and args "/c", ... works tho.
>>> C:\"Program Files (x86)"\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\"Program Files (x86)"\Arduino\hardware\arduino\avr\cores\arduino -IC:\"Program Files (x86)"\Arduino\hardware\arduino\avr\variants\standard -IC:\Users\Ado\.choosenim\toolchains\nim-#devel\lib C:\Users\Ado\AppData\Local\Temp\arduino_build_717971\sketch\nimcache\@m..@s..@s..@s..@[email protected]@[email protected]@sarduino.nim.cpp
Error while detecting libraries included by C:\Users\Ado\AppData\Local\Temp\arduino_build_717971\sketch\sketch_aug21a.ino.cpp
Generating function prototypes...
...
>>> C:\"Program Files (x86)"\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\"Program Files (x86)"\Arduino\hardware\arduino\avr\cores\arduino -IC:\"Program Files (x86)"\Arduino\hardware\arduino\avr\variants\standard -IC:\Users\Ado\.choosenim\toolchains\nim-#devel\lib C:\Users\Ado\AppData\Local\Temp\arduino_build_717971\sketch\nimcache\@m..@s..@s..@s..@[email protected]@[email protected]@sarduino.nim.cpp
oserr.nim(94) raiseOSError
Error: unhandled exception: Access is denied.
Additional info: "C:\\\"Program Files (x86)\"\\Arduino\\hardware\\tools\\avr\\bin\\avr-g++" [OSError]
exit status 1
Error compiling for board Arduino Uno.
However, if I run this code below in Powershell, it works and generates C code into STDOUT.
C:\"Program Files (x86)"\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\"Program Files (x86)"\Arduino\hardware\arduino\avr\cores\arduino -IC:\"Program Files (x86)"\Arduino\hardware\arduino\avr\variants\standard -IC:\Users\Ado\.choosenim\toolchains\nim-#devel\lib C:\Users\Ado\AppData\Local\Temp\arduino_build_717971\sketch\nimcache\@m..@s..@s..@s..@[email protected]@[email protected]@sarduino.nim.cpp