Page 1 of 1

Problem compiling the firmware on Windows

Posted: Mon Nov 04, 2019 4:48 pm
by vrojak
Hi everyone,

I'm trying to build the Crazyflie firmware on Windows 10. I followed the instruction for Windows found here, but for some reason I'm getting the following error when trying to compile the firmware:

Code: Select all

  CC    ootx_decoder.o
  CC    lighthouse_calibration.o
make -C .//tools/make/cmsis_dsp/ CRAZYFLIE_BASE=/home/Florian/crazyflie-firmware PROJ_ROOT=/home/Florian/crazyflie-firmware V=
  CC    arm_iir_lattice_init_q31.o
arm-none-eabi-gcc.exe: error: /home/Florian/crazyflie-firmware/vendor/CMSIS/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q31.c: No such file or directory
arm-none-eabi-gcc.exe: fatal error: no input files
compilation terminated.
make[2]: *** [../targets.mk:27: arm_iir_lattice_init_q31.o] Error 1
make[1]: *** [Makefile:365: libarm_math.a] Error 2
rm version.c
make: *** [Makefile:350: build] Error 2
I did not make any modifications to any files in the crazyflie-firmware folder. I also made sure that the file arm_iir_lattice_init_q31.c does indeed exist at the specified location.

Any ideas what I can do so that the build succeeds?

Thank you.

Re: Problem compiling the firmware on Windows

Posted: Tue Nov 12, 2019 3:40 pm
by arnaud
I can confirm the problem. It has been created by the addition of out-of-tree build: https://github.com/bitcraze/crazyflie-f ... ddaa0e6550. If you checkout the commit just before, the build will work.


An ugly work-around is to build the cmsis-dsp lib (libarm_math.a) from the last commit that works and then come back to master to build the full firmware. 'make clean' do not remove this lib so you can work with this tree as long as you do not call "make mrproper". The procedure is:

Code: Select all

git checkout e112fc3
make clean
make -j4
git checkout master
make -j4
I created a ticket to track this bug: https://github.com/bitcraze/crazyflie-f ... issues/503. I still have no idea how to fix it but lets track progress over there.