Cygwin stuck on the step "Checking g++(c++ compiler)"?

I have installed the latest version of Cygwin along with the required packages, when I try to cofigure the PixhawkCube with it, it gets stuck on the step “Checking g++(c++ compiler)”?
error

Do you have gcc 6.3.1 installed ?

I have “gcc-arm-none-eabi-6-2017-q2-update-win32-sha2” installed.

type gcc-arm --version

Although I’m trying to configure a different board (Pixhawk4), I’m having the same problem as paradox117…

image

I tried to type gcc-arm --version, but that command does not exist in my path. However, just as paradox117, as part of the setup, I ran the command “gcc-arm-none-eabi-6-2017-q2-update-win32-sha2.exe” to install the gcc compiler. So, when I run “arm-none-eabi-gcc --version” or “arm-none-eabi-g++ --version”, it says that the version is 6.3.1.

image

When I interrupt the ./waf configure --board Pixhawk4 command with c, I get the following trace…

image

When I look at the config.log in Ardupilot/build, I see the following:

project configured on Thu Jan 2 18:43:15 2020 by

waf 2.0.9 (abi 20, python 20710f0 on cygwin)

using /cygdrive/d/users/brad/ardupilot/modules/waf/waf-light configure --board Pixhawk4


Setting top to
/cygdrive/d/users/brad/ardupilot

Setting out to
/cygdrive/d/users/brad/ardupilot/build

Autoconfiguration
enabled

Setting board to
Pixhawk4

Using toolchain
arm-none-eabi

Checking for ‘g++’ (C++ compiler)
find program=[‘arm-none-eabi-g++’, ‘arm-none-eabi-c++’] paths=[’/usr/local/bin’, ‘/usr/bin’, ‘/cygdrive/c/Program Files (x86)/GNU Tools ARM Embedded/6 2017-q2-update/bin’, ‘/cygdrive/c/ProgramData/Oracle/Java/javapath’, ‘/cygdrive/c/Program Files/Common Files/Microsoft Shared/Windows Live’, ‘/cygdrive/c/Program Files (x86)/Common Files/Microsoft Shared/Windows Live’, ‘/cygdrive/c/WINDOWS/system32’, ‘/cygdrive/c/WINDOWS’, ‘/cygdrive/c/WINDOWS/System32/Wbem’, ‘/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0’, ‘/cygdrive/c/Program Files (x86)/ATI Technologies/ATI.ACE/Core-Static’, ‘/cygdrive/c/Program Files (x86)/Common Files/Roxio Shared/DLLShared’, ‘/cygdrive/d/Program Files/ASUS/Bluetooth Software’, ‘/cygdrive/d/Program Files/ASUS/Bluetooth Software/syswow64’, ‘/cygdrive/c/Program Files (x86)/Skype/Phone’, ‘/cygdrive/c/Program Files (x86)/QuickTime/QTSystem’, ‘/cygdrive/c/WINDOWS/System32/OpenSSH’, ‘/cygdrive/c/Program Files/Git/cmd’, ‘/cygdrive/c/Program Files (x86)/MAVProxy’, ‘/cygdrive/c/Users/Brad/AppData/Local/Microsoft/WindowsApps’, ‘/cygdrive/c/Users/Brad/AppData/Local/Box/Box Edit’, ‘/cygdrive/c/Users/Brad/AppData/Local/GitHubDesktop/bin’, ‘/cygdrive/c/Users/Brad/AppData/Local/atom/bin’] var=‘CXX’ -> [’/cygdrive/c/Program Files (x86)/GNU Tools ARM Embedded/6 2017-q2-update/bin/arm-none-eabi-g++’]
[’/cygdrive/c/Program Files (x86)/GNU Tools ARM Embedded/6 2017-q2-update/bin/arm-none-eabi-g++’, ‘-dM’, ‘-E’, ‘-’]

When I execute the last command directly from the command line, i.e., “arm-none-eabi-g++ -dM -E -”, it just sits there waiting (perhaps for a file name?). The last “-” would indicate that perhaps the command string is not being fully created or is being truncated in the script before it is executed, so it just sits there waiting.

Interestingly, if I run the command “./waf configure” with no board, it finishes successfully…

I must not have something set right, but I just can’t figure out what. Thank you very much for any insight anyone can provide.

2 Likes

bbar6058 please let me know if you find something …

ISSUE RESOLVED!
TRY
./waf clean
then
./waf distclean
then
./waf
and then configure for your board.

./waf cofigure --board
./waf copter

Thanks for that! Unfortunately, it did not resolve the issue for me. Mine still just sits there waiting as before. You have given me some new ideas to think about, and that will hopefully lead to a solution for me. Thank you again!

I have the same problem. Can you help me to post the solution?Thanks

@rmackay9 @peter_1977

I have the same problem. Can you help me to post the solution?Thanks

Same here: configure board ok, configure sitl also ok, but stuck when
./waf configure --board fmuv3. Checked path for GNU Tools Arm Embedded all paths are there, but still stuck. Help

That is a known issue, it’s been reported several times on Gitter.

The answer is that dues to recent changes in Cygwin, Ardupilot is no longer able to be compiled for ARM-based boards in Cygwin.

SITL builds still work fine.

It is recommended that you use WSL for compiling on Windows. That still works.

1 Like

Thanks a lot for a quick help.Will try that of set it all up on Ubuntu.

Edit:It worked on WSL (Ubuntu 18.04 on Windows) Thanks.

To solve this problem:

  1. Install “gcc-arm-none-eabi-6-2017-q2-update-win32-sha”
  2. At the last step, check “Add path to environment variable”.
  3. Restart your computer to make the change of the environment variable take effect.

The fix is to stop using janky Cygwin installations and install WSL.