Hi everyone,
For specific needs, I would like to build RIOT applications on windows.
I followed this tutorial : Build RIOT on Windows OS · RIOT-OS/RIOT Wiki · GitHub
All goes smoothly until I try to build. I use Eclipse IDE, and when I build with de command
make BOARD=${RIOT_BOARD}
I have Error: Program “make BOARD=nucleo-f411re” not found in PATH
When I try to build through command line, I get :
$ make BOARD=${RIOT_BOARD}
/c/Users/bousq/Documents/git_repos/RIOT/examples/hello-world/…/…/Makefile.include:6: *** GNU Make 3.81 is not supported by RIOT since release 2020.01. Please upgrade your system to use GNU Make 4.% or later… Stop.
So I assume make is not found in PATH because even if make actually is in PATH, it is not the right version, so Eclipse consider make isn’t in PATH.
I managed to get gnumake-4.3-x64.exe, and when I try with this, I get:
C:/Users/bousq/Documents/git_repos/RIOT/Makefile.features:16: *** CPU must be defined by board / board_common Makefile.features. Stop.
I don’t have this issue on Ubuntu. What are the other ways to have make v4.3 on windows ?
Additional question : could we force RIOT to use make v3.8? What are the v4.% features that RIOT require?
Thank you for you help
Regards
That guide on the wiki is severely outdated.
The easiest way to build RIOT on Windows these days is by just using WSL2 and following the instructions for Ubuntu.
If you are on Windows 11, WSL2 even has full GUI support via Wayland. There is no USB support though, but you can call Windows executable from WSL2, so just symlinking the Windows binary to the name expected by the build system works assuming they use the same parameters (JLinkExe, edbg).
I guess this thread helps. But flashing is the part where I stopped going. It’s way too complex to set it up under windows. I would recommend to just get another machine or dual-boot Linux. You are really not going to enjoy this exprience.
Hi again,
As WSL2 is a virtual linux, it doesn’t fit my VM (my hardware doesn’t support nested virtualization). I tried with MSYS2, which give me the possibility to use make v4.3. I put the riot directory into c/msys64/home/user/
Except that riot doesn’t complain about make version anymore, I get the same behavior :
-On eclipse, make is not found in PATH
-On command line, I have this error : /Makefile.features:16: *** CPU must be defined by board / board_common Makefile.features. Stop.
I don’t really understand this error, as I don’t have it with my native linux. Do you have any idea about where I miss something?
Thank you very much
Regards
EDIT : I was passing ${RIOT_BOARD} in command line, but my shell doesn’t know this variable of course, it was a dumb move. By writing the actual name of the board, it works with command line! Yaaay. It means that Eclipse doesn’t find /usr/bin/make inside msys2 installation, which make sense. I am now working on making eclipse take the right make. I will keep you in touch.
I managed to give eclipse the right make and the right configuration. It was mainly about playing with environment variable Path etc… to make eclipe/RIOT happy, thank you for you help
Best regards