Unable to compile Hello Edge: Keyword spotting on Microcontrollers project

Hello, I am trying to compile this project from GitHub - ARM-software/ML-KWS-for-MCU: Keyword spotting on Arm Cortex-M Microcontrollers but getting this error as seen below. Please help to solve this problem. Thank you.
Using STM32F745 Disco
mbed-cli v1.8.3 (downloaded via windows installer)
python 2.7.x

Compile [ 98.5%]: kws.cpp
[Error] arm_acle.h@48,49: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
[Error] arm_acle.h@55,50: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
[Error] arm_acle.h@62,49: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
[Error] arm_acle.h@69,50: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
[Error] arm_acle.h@100,50: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
[Error] arm_acle.h@107,51: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
[Error] arm_acle.h@114,50: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
[Error] arm_acle.h@121,51: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
[Error] nn.h@28,25: ‘q7_t’ has not been declared
[Error] nn.h@28,40: ‘q7_t’ has not been declared
[Error] kws.cpp@72,33: no matching function for call to ‘NN::run_nn(q7_t*&, q7_t*&)’
[Error] kws.cpp@74,47: ‘arm_softmax_q7’ was not declared in this scope
[ERROR] In file included from …/CMSIS-NN/Include/arm_nn_math_types.h:94:0,
from …/CMSIS-NN/Include/arm_nnfunctions.h:114,
from …/Source/NN/nn.h:22,
from …/Source\KWS\kws.h:23,
from …/Source\KWS\kws.cpp:24:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h: In function ‘void __arm_ldc(unsigned int, unsigned int, const void*)’:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h:48:49: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
return __builtin_arm_ldc (__coproc, __CRd, __p);
^
: note: initializing argument 3 of ‘void __builtin_arm_ldc(unsigned int, unsigned int, const int*)’
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h: In function ‘void __arm_ldcl(unsigned int, unsigned int, const void*)’:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h:55:50: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
return __builtin_arm_ldcl (__coproc, __CRd, __p);
^
: note: initializing argument 3 of ‘void __builtin_arm_ldcl(unsigned int, unsigned int, const int*)’
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h: In function ‘void __arm_stc(unsigned int, unsigned int, void*)’:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h:62:49: error: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
return __builtin_arm_stc (__coproc, __CRd, __p);
^
: note: initializing argument 3 of ‘void __builtin_arm_stc(unsigned int, unsigned int, int*)’
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h: In function ‘void __arm_stcl(unsigned int, unsigned int, void*)’:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h:69:50: error: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
return __builtin_arm_stcl (__coproc, __CRd, __p);
^
: note: initializing argument 3 of ‘void __builtin_arm_stcl(unsigned int, unsigned int, int*)’
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h: In function ‘void __arm_ldc2(unsigned int, unsigned int, const void*)’:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h:100:50: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
return __builtin_arm_ldc2 (__coproc, __CRd, __p);
^
: note: initializing argument 3 of ‘void __builtin_arm_ldc2(unsigned int, unsigned int, const int*)’
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h: In function ‘void __arm_ldc2l(unsigned int, unsigned int, const void*)’:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h:107:51: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
return __builtin_arm_ldc2l (__coproc, __CRd, __p);
^
: note: initializing argument 3 of ‘void __builtin_arm_ldc2l(unsigned int, unsigned int, const int*)’
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h: In function ‘void __arm_stc2(unsigned int, unsigned int, void*)’:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h:114:50: error: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
return __builtin_arm_stc2 (__coproc, __CRd, __p);
^
: note: initializing argument 3 of ‘void __builtin_arm_stc2(unsigned int, unsigned int, int*)’
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h: In function ‘void __arm_stc2l(unsigned int, unsigned int, void*)’:
c:\program files (x86)\gnu tools arm embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\include\arm_acle.h:121:51: error: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
return __builtin_arm_stc2l (__coproc, __CRd, __p);
^
: note: initializing argument 3 of ‘void __builtin_arm_stc2l(unsigned int, unsigned int, int*)’
In file included from …/Source\KWS\kws.h:23:0,
from …/Source\KWS\kws.cpp:24:
…/Source/NN/nn.h: At global scope:
…/Source/NN/nn.h:28:25: error: ‘q7_t’ has not been declared
virtual void run_nn(q7_t* in_data, q7_t* out_data)=0;
^~~~
…/Source/NN/nn.h:28:40: error: ‘q7_t’ has not been declared
virtual void run_nn(q7_t* in_data, q7_t* out_data)=0;
^~~~
…/Source\KWS\kws.cpp: In member function ‘void KWS::classify()’:
…/Source\KWS\kws.cpp:72:33: error: no matching function for call to ‘NN::run_nn(q7_t*&, q7_t*&)’
nn->run_nn(mfcc_buffer, output);
^
In file included from …/Source\KWS\kws.h:23:0,
from …/Source\KWS\kws.cpp:24:
…/Source/NN/nn.h:28:18: note: candidate: virtual void NN::run_nn(int*, int*)
virtual void run_nn(q7_t* in_data, q7_t* out_data)=0;
^~~~~~
…/Source/NN/nn.h:28:18: note: no known conversion for argument 1 from ‘q7_t* {aka signed char*}’ to ‘int*’
…/Source\KWS\kws.cpp:74:47: error: ‘arm_softmax_q7’ was not declared in this scope
arm_softmax_q7(output,num_out_classes,output);
^

[mbed] ERROR: “C:\Python27\python.exe” returned error.
Code: 1
Path: “C:\prj_KWS\Deployment\ML-KWS-for-MCU\Deployment\kws_realtime_test”
Command: “C:\Python27\python.exe -u C:\prj_KWS\Deployment\ML-KWS-for-MCU\Deployment\kws_realtime_test\tools\make.py -t GCC_ARM -m DISCO_F746NG --profile …/release_O3.json --source . --source …/Source --source …/Examples/realtime_test --source …/CMSIS-NN/Include --source …/CMSIS-NN/Source --source …/CMSIS-DSP/Include --source …/CMSIS-DSP/PrivateInclude --source …/CMSIS-DSP/Source --source …/CMSIS_5/CMSIS/Core/Include --build .\BUILD\DISCO_F746NG\GCC_ARM-RELEASE_O3 -j 8”

Found this: Build fails on ARM without -fpermissive because of a GCC bug in arm_acle.h · Issue #550 · nzbget/nzbget · GitHub

Looks like updating to GCC >=8.3.1 will fix the issue

Appreciate your response, I will give a try to this. Thanks

Hi, I tried GCC 8v but still the result is same. I got an old release of CMSIS libraries then it is stuck at 98% please the error and let me know how to solve this;
Compile [ 98.4%]: arm_max_pool_s8.c
Compile [ 98.6%]: arm_svdf_s8.c
Compile [ 98.7%]: arm_softmax_s8.c
Compile [ 98.9%]: arm_softmax_s8_s16.c
Compile [ 99.0%]: arm_softmax_s16.c
Compile [ 99.2%]: arm_nn_softmax_common_s8.c
Compile [ 99.3%]: arm_softmax_u8.c
Compile [ 99.4%]: plot_utils.cpp
[Error] arm_nnsupportfunctions.h@681,54: ‘__SXTB16_RORn’ was not declared in this scope
[ERROR] In file included from …/Source/local_NN/local_NN.h:1:0,
from …/Source/NN/DS_CNN/ds_cnn.h:24,
from …/Source/KWS/KWS_DS_CNN/kws_ds_cnn.h:23,
from …/Source/KWS_F746NG/kws_f746ng.h:23,
from …/Examples/realtime_test\plot_utils.h:19,
from …/Examples/realtime_test\plot_utils.cpp:19:
…/CMSIS_5/CMSIS/NN/Include/arm_nnsupportfunctions.h: In function ‘const int8_t* read_and_pad(const int8_t*, int32_t*, int32_t*)’:
…/CMSIS_5/CMSIS/NN/Include/arm_nnsupportfunctions.h:681:54: error: ‘__SXTB16_RORn’ was not declared in this scope
int32_t inAbuf1 = __SXTB16_RORn((uint32_t)inA, 8U);