[ISSUE] The "You're Muted" example for the Photon 2 Edge ML kit will not compile

See below.

Some more info (after modifying the code to address some inexplicable type issues):

reating c:/Projects/YouAreMuted/You_re_Muted__inferencing/target/5.4.0/p2/memory_platform_user.ld ...
/bin/bash: C:/Users/Rick/.particle/toolchains/gcc-arm/10.2.1/bin/arm-none-eabi-gcc-ar: Argument list too long
make[3]: *** [../build/module.mk:255: ../build/target/user/platform-32-m/You_re_Muted__inferencing/libuser.a] Error 126
make[2]: *** [../../../build/recurse.mk:12: user] Error 2
make[1]: *** [../build/recurse.mk:12: modules/tron/user-part] Error 2
make: *** [C:\Users\Rick.particle\toolchains\buildscripts\1.13.0\Makefile:68: compile-user] Error 2

I was able to reproduce the Argument list too long error. It is specific to Windows (non-Docker). I don't have a workaround yet, other than building on Linux, Mac, or Docker.

OK. Keep me posted! Thanks.

Supposedly DeviceOS 5.4.1 would fix this - just tried, and no such luck. Still getting the same error.

Device OS 5.4.1 fixes a different build error, but does not include a fix for Argument list too long on Windows local build.

The docs page for the demo now has instructions for using Docker, which is currently the easiest way to build the examples under Windows. It also works on Mac and Linux, but Docker is especially helpful for Windows because builds are much faster, and it also eliminates the Argument list too long error.

3 Likes

Hi, Rick. I appreciate that option, but it's less than ideal. Windows is still the predominant OS that most developers use, so any tooling (particularly anything that runs along with VSCode) should work on native Windows as well.

Also, I would suspect that there are challenges interacting with the devices directly (at least over USB) within a Docker container without giving the container specific configuration and elevated priviledges?

The docker container saves the firmware.bin in the output directory, which can be the source directory. You can flash the binary from there over USB. The docker container is completely isolated.

This is just an alternative until a solution to the length of the argument list under Windows is found.

1 Like

FYI, there's also a bug/typo in the source file main.cpp, which is included in the project zip file. Note the space between "s" and "i" in sizeof.

ei_printf("\tNo. of classes: %d\n", s izeof(ei_classifier_inferencing_categories) /
sizeof(ei_classifier_inferencing_categories[0]));

I saw that when I most recently tested and assumed I had just typed a space by accident while testing compiles. I fixed the zip file.

The You're Muted and Doorbell Chimes examples now local compile natively on Windows. You'll need to download a new zip file from the docs.

You can also now cloud compile the updated examples.

1 Like

So after some errors compiling, I re-downloaded the 5.4.1 toolchain and did a clean and a compile and I'm good to go. Thanks again.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.