Linker error with Arduino BLE Sense gesture recognition on macOs Catalina

I’ve worked through the tutorials for creating a gesture recogniser with an Arduino BLE Sense, and I’m at the point of checking with the static buffer example.

The compile phase fails with a linker error, that it can’t find several files. It is looking for libmbed.a, libcc_310_core.a, libcc_310_ext.a, libcc_310_trng.a. The path used is ../../../../../../Users/<username>/Library/Arduino15/packages/arduino/hardware/mbed/1.3.1/variants/ARDUINO_NANO33BLE/libs/libmbed.a etc. However, AFAICT, this is relative to the build directory, which is e.g. /var/folders/ks/52zmfzhj4r9gn85cs0zwnbd4b4mbyj/T/arduino_build_841205. If I go there, I find that indeed, the relative path doesn’t work, it needs one more level of ../

If I add a cheeky symlink it works (sudo ln -s ../../../../../../../Users ../../../../../../Users from the build directory), but it would be better to figure out where the relative path is coming from and how to make it correct. Is there a reason not to end up with an absolute path here?

Hi @davemurrayrust,

This is a strange behavior, I can’t reproduce on my side with the same mbed variant.
The toolchain options are defined in /Users/[Users]/Library/Arduino15/packages/arduino/hardware/mbed/1.3.1/platform.txt. The default options should work fine under Linux/macOS.

Do you use IDE v1.8.13? Also, I would suggest to remove and reinstall the mbed 1.3.1 through the Boards Manager.