I'm trying to compile firmware for a device called particle photon locally and I follow the instructions here:
https://github.com/spark/firmware/tree/latest
Went through the guide and tried to hit "make" on my windows machine. It complained on missing crc32.
So what package through MinGW do I have to install to get crc32 functionality?
C:\particle-firmware-develop\user>make fatal: Not a git repository (or
any of the parent directories): .git process_begin:
CreateProcess(NULL, which crc32, ...) failed.
../build/common-tools.mk:26: *** "crc32 tool is not found". Stannar.
C:\particle-firmware-develop\user>
Chris
Anyone found an answer to this I followed the instructions as well and ran into somewhat of the same thing.
Win10 PC.
C:\Spark\firmware\modules>make clean all PLATFORM=photon -s program-dfu
which: crc32: unknown command
../build/common-tools.mk:26: *** "crc32 tool is not found". Stop.
C:\Spark\firmware\modules>
There are complete official instructions for local gcc-arm builds including links to built-binaries for crc32 and xxd now, as well:
https://docs.particle.io/faq/particle-tools/local-build/
I am trying to follow the instructions on a clean debian install and get
../build/common-tools.mk:26: *** "crc32 tool is not found". Stop.
I followed every step
Apparently crc32 is not included in some Debian distributions. You could try this:
sudo apt-get install libarchive-zip-perl
From this question.
Or you can download the other build tools source under the Windows instructions and compile it. It should just be something like this.
gcc -o crc32 crc32.c
sudo cp crc32 /usr/local/bin
Yes that fixed it. I should’ve looked inside the build tools for win. Thanks!!
Edit:- Spoke to soon
In file included from ./src/photon/wiced/network/LwIP/WWD/FreeRTOS/arch/cc.h:69:0,
from ./src/photon/wiced/network/LwIP/ver1.4.0.rc1/src/include/lwip/arch.h:43,
from ./src/photon/wiced/network/LwIP/ver1.4.0.rc1/src/include/lwip/debug.h:35,
from ./src/photon/wiced/network/LwIP/ver1.4.0.rc1/src/include/lwip/opt.h:46,
from ./src/photon/wiced/network/LwIP/ver1.4.0.rc1/src/include/ipv4/lwip/ip_addr.h:35,
from ./src/photon/wiced/network/LwIP/WICED/wiced_network.h:43,
from ./src/photon/include/wiced_tcpip.h:44,
from ./src/photon/include/wiced.h:46,
from src/photon/delay_hal.c:27:
./src/photon/wiced/network/LwIP/WWD/FreeRTOS/cpu.h:43:0: error: "BYTE_ORDER" redefined [-Werror]
#define BYTE_ORDER LITTLE_ENDIAN
In file included from /usr/local/gcc-arm/arm-none-eabi/include/sys/types.h:67:0,
from /usr/local/gcc-arm/arm-none-eabi/include/stdio.h:61,
from ./src/photon/wiced/WWD/include/wwd_debug.h:40,
from ./src/photon/wiced/WWD/include/wwd_assert.h:42,
from ./src/photon/wiced/RTOS/FreeRTOS/WWD/ARM_CM3/FreeRTOSConfig.h:41,
from ./src/photon/wiced/RTOS/FreeRTOS/ver7.5.2/Source/include/FreeRTOS.h:78,
from ./src/photon/wiced/RTOS/FreeRTOS/WWD/wwd_rtos.h:46,
from ./src/photon/wiced/WWD/include/RTOS/wwd_rtos_interface.h:47,
from ./src/photon/wiced/platform/MCU/STM32F2xx/peripherals/platform_mcu_peripheral.h:56,
from ./src/photon/wiced/platform/include/platform_peripheral.h:42,
from ./src/photon/include/wiced_platform.h:46,
from ./src/photon/include/wiced.h:44,
from src/photon/delay_hal.c:27:
/usr/local/gcc-arm/arm-none-eabi/include/machine/endian.h:20:0: note: this is the location of the previous definition
#define BYTE_ORDER _BYTE_ORDER
cc1: all warnings being treated as errors
../build/module.mk:256: recipe for target '../build/target/hal/platform-6-m/./src/photon/delay_hal.o' failed
make[2]: *** [../build/target/hal/platform-6-m/./src/photon/delay_hal.o] Error 1
make[2]: Leaving directory '/home/ali/Documents/src/firmware/hal'
../../../build/recurse.mk:11: recipe for target 'hal' failed
make[1]: *** [hal] Error 2
make[1]: Leaving directory '/home/ali/Documents/src/firmware/modules/photon/system-part1'
makefile:85: recipe for target '/home/ali/Documents/src/firmware/modules/photon/system-part1/makefile' failed
make: *** [/home/ali/Documents/src/firmware/modules/photon/system-part1/makefile] Error 2
Currently getting the following error on windows 11. Tried reinstalling the particle workbench and adding crc32 as stated above with no luck. Tried MinGW and Cygwin. Is there something I'm missing to get crc32 detected?
`':::: COMPILING APPLICATION'
cd "C:/Users/ericw/.particle/toolchains/deviceOS/5.5.0-rc.1/main" && make all
make[1]: Entering directory 'C:/Users/ericw/.particle/toolchains/deviceOS/5.5.0-rc.1/main'
process_begin: CreateProcess(NULL, which crc32, ...) failed.
../build/common-tools.mk:26: pipe: No such file or directory
../build/common-tools.mk:28: *** "crc32 tool is not found". Stop.
make[1]: Leaving directory 'C:/Users/ericw/.particle/toolchains/deviceOS/5.5.0-rc.1/main'
make: *** [C:\Users\ericw.particle\toolchains\buildscripts\1.13.0\Makefile:68: compile-user] Error 2
The terminal process "C:\Users\ericw.particle\toolchains\buildtools\1.1.1\bin\bash.exe '-c', 'make -f 'C:\Users\ericw.particle\toolchains\buildscripts\1.13.0\Makefile' compile-user'" terminated with exit code: 2.
Hi Rickkas7, thanks for your reply.
I'm invoking the build from the workbench using Particle: Compile application (local).
It was running perfectly on my machine for months and I only started getting this issue.
Is there a preferred method of doing a clean install? I tried uninstalling the workbench and deleting the .particle folder from my user folder but it didn't seem to change the error.