Building ZigBee app fails with "ninja: error: ' ... libnrf-802154-sl.a', needed by 'zephyr/zephyr_pre0.elf', missing and no known rule to make it"

I encountered the following error while building my ZigBee app on a CI (dockerized Linux container), after bumping the SDK from 2.6.1 to 2.7.0.

ninja: error: '*HIDDEN*/ncs/nrfxlib/nrf_802154/sl/sl/lib/nRF52840/hard-float/libnrf-802154-sl.a', needed by 'zephyr/zephyr_pre0.elf', missing and no known rule to make it

The part "nRF52840" in the path originates from the Kconfig value "CONFIG_SOC". It is actually "nRF52840_QIAA", and the suffix "_QIAA" will be removed in the nrfxlib's common.cmake.

The CMake function nrfxlib_calculate_lib_path generates the path to libnrf-802154-sl.a like this: 

*HIDDEN*/ncs/nrfxlib/nrf_802154/sl/sl/lib/nRF52840/hard-float/libnrf-802154-sl.a

But the actual valid path in the SDK is:

*HIDDEN*/ncs/nrfxlib/nrf_802154/sl/sl/lib/nrf58240/hard-float/libnrf-802154-sl.a

The difference is the upper and lower case in the SoC's name. Actually, it fails on Linux machines incl. CI, but doesn't fail on macOS that uses case-insensitive filesystem by default.

I tentatively made a symlink from nRF52840 to nrf52840 and the build succeeded.

Is it a known issue, or did I do something wrong?

Parents
  • I found a commit that renames this directory. It says it is migrating to the Hardware Model v2, and the root cause seems to be a lack of migration of my firmware to HWMv2. Since the integration of the latest SDK and VSCode looks immature and VSCode (west) just proceeds to the building, I find the error message not friendly to the beginners of so many new stuff in the SDK 2.7.0.

Reply
  • I found a commit that renames this directory. It says it is migrating to the Hardware Model v2, and the root cause seems to be a lack of migration of my firmware to HWMv2. Since the integration of the latest SDK and VSCode looks immature and VSCode (west) just proceeds to the building, I find the error message not friendly to the beginners of so many new stuff in the SDK 2.7.0.

Children
No Data
Related