ARM Development Studio 2020.1 does not build when Git installed

Hi. I am using the ARM Development Studio IDE 2020.1 FPGA edition on Windows 10. 

I am trying to compile using armclang and a custom made makefile. Last week I was able to compile my project without any issue. However, after reinstalling Git I get the following error:

16:58:44 **** Build of configuration Debug for project build ****
make all
"armclang" -g -DOS_WDT_KICK=0x1 --target=aarch64-arm-none-eabi -mcpu=Cortex-A53 -x assembler-with-cpp ......
"armclang" -g -DOS_WDT_KICK=0x1 --target=aarch64-arm-none-eabi -mcpu=Cortex-A53 -x assembler-with-cpp ......
"armclang" -O0 -g ...... -Wno-parentheses-equality -mno-unaligned-access -c -o obj/entry_point.c.o ..//system/common/src/entry_point.c
/usr/bin/sh: -c: line 0: syntax error near unexpected token `('
/usr/bin/sh: -c: line 0: `"armclang" -O0 -g ...... -Wno-parentheses-equality -mno-unaligned-access -c -o obj/entry_point.c.o ..//system/common/src/entry_point.c'
make: *** [Makefile:923: obj/entry_point.c.o] Error 1
"make all" terminated with exit code 2. Build might be incomplete.

It seems to me that is is trying to use a different bash that can't run armclang for compilation

So I uninstalled Git and the error went away. I assumed it was my PATH variable had an issue, but I checked taking out all git references from the PATH variable and that didn't solve it. So I then tried uninstalling Git and ARM Development studio and reinstalling everything as a clean version, but it didn't solve it either

Any idea what could be causing this?

  • Hi FDomin,

    My name is Stephen and I work in Arm's Development Studio team.

    Build issues like this can occur where you have Cygwin, MinGW or Git installed on a PC on which Arm DS is also installed.

    These tools provide their own "sh.exe" executable, e.g. Cygwin puts C:\cygwin64\bin on the PATH environment variable, and the C:\cygwin64\bin directory contains a "sh.exe" executable.  
    Arm DS (and its predecessor, DS-5) include a vanilla version of Gnu Make v4.2.  "make" will look for sh.exe first if the SHELL variable is not set, so may accidentally pick-up Cygwin’s sh.exe.

    Our usual recommendation is to modify the PATH to remove access to these tools-specific shells, but you say you have already done that.

    I suggest you try using "make -d", on the command-line, so that "make" will then report which shell it is using, e.g.:
    find_and_set_shell() setting default_shell = $(windir)/system32/cmd.exe

    Build issues can also occur if, in the project, you change the default "Append variables to native environment" is changed to "Replace native environment with specified one".  This usually results in the needed environment variables being unset, leading to all sorts of unexpected behavior, so you should never need to do this.

    Hope this helps