-
Notifications
You must be signed in to change notification settings - Fork 243
Description
Describe the bug
I get the following error when building the Zephyr matrix_multiply_uart example:
west build .\matrix_multiply_uart\ -b frdm_kw41z -p always
-- west build: making build dir C:\Users\user-1\zephyrproject\modules\lib\erpc\examples\zephyr\build pristine
-- west build: generating a build system
Loading Zephyr default modules (Zephyr base).
-- Application: C:/Users/user-1/zephyrproject/modules/lib/erpc/examples/zephyr/matrix_multiply_uart
-- CMake version: 4.0.3
-- Found Python3: C:/Users/user-1/zephyrproject/.venv/Scripts/python.exe (found suitable version "3.13.1", minimum required is "3.12.1") found components: Interpreter
-- Cache files will be written to: C:/Users/user-1/zephyrproject/zephyr/.cache
-- Zephyr version: 4.2.00-rc1 (C:/Users/user-1/zephyrproject/zephyr)
-- Found west (found suitable version "1.4.0", minimum required is "0.14.0")
-- Board: frdm_kw41z, qualifiers: mkw41z4
-- ZEPHYR_TOOLCHAIN_VARIANT not set, trying to locate Zephyr SDK
-- Found host-tools: zephyr 0.17.2 (C:/Users/user-1/zephyr-sdk-0.17.2)
-- Found toolchain: zephyr 0.17.2 (C:/Users/user-1/zephyr-sdk-0.17.2)
-- Found Dtc: C:/Users/user-1/AppData/Local/Microsoft/WinGet/Packages/oss-winget.dtc_Microsoft.Winget.Source_8wekyb3d8bbwe/usr/bin/dtc.exe (found suitable version "1.6.1", minimum required is "1.4.6")
-- Found BOARD.dts: C:/Users/user-1/zephyrproject/zephyr/boards/nxp/frdm_kw41z/frdm_kw41z.dts
-- Generated zephyr.dts: C:/Users/user-1/zephyrproject/modules/lib/erpc/examples/zephyr/build/zephyr/zephyr.dts
-- Generated pickled edt: C:/Users/user-1/zephyrproject/modules/lib/erpc/examples/zephyr/build/zephyr/edt.pickle
-- Generated devicetree_generated.h: C:/Users/user-1/zephyrproject/modules/lib/erpc/examples/zephyr/build/zephyr/include/generated/zephyr/devicetree_generated.h
Parsing C:/Users/user-1/zephyrproject/zephyr/Kconfig
C:/Users/user-1/zephyrproject/zephyr/scripts/kconfig/kconfig.py: Dependency loop
===============
REQUIRES_FULL_LIBC (defined at lib/libc/Kconfig:6), with definition...
config REQUIRES_FULL_LIBC
bool "Require complete C library"
help
Select a C library implementation that provides a complete C library
implementation, rather than the subset provided by MINIMAL_LIBC.
(select-related dependencies: (LIBLC3 && FPU) || (SIMPLELINK_HOST_DRIVER && HAS_CC3220SDK && MULTITHREADING) || (LIBLC3 && FPU && 0) || (SOC_SERIES_APOLLO5X && SOC_FAMILY_AMBIQ) || (IEEE802154_KW41Z && DT_HAS_NXP_KW41Z_IEEE802154_ENABLED && IEEE802154) || (NPM13XX_CHARGER && (DT_HAS_NORDIC_NPM1300_CHARGER_ENABLED || DT_HAS_NORDIC_NPM1304_CHARGER_ENABLED) && SENSOR) || (REQUIRES_FULL_LIBCPP && CPP) || POSIX_DEVICE_IO || (JSON_LIBRARY_FP_SUPPORT && JSON_LIBRARY) || (LORAWAN && LORA && SYSTEM_WORKQUEUE_STACK_SIZE >= 2048) || (UPDATEHUB && FLASH && REBOOT && IMG_MANAGER && BOOTLOADER_MCUBOOT && NETWORKING && NET_UDP && NET_SOCKETS && COAP && DNS_RESOLVER && JSON_LIBRARY && HWINFO))
...depends on LIBLC3 (defined at C:/Users/user-1/zephyrproject/zephyr/modules/liblc3/Kconfig:8, modules\liblc3\Kconfig:8), with definition...
config LIBLC3
bool "liblc3 Support"
select REQUIRES_FULL_LIBC
depends on FPU
help
Enable the Low Complexity Communication Codec (LC3)
config LIBLC3
bool "liblc3 Support"
select REQUIRES_FULL_LIBC
depends on FPU && 0
help
Enable the Low Complexity Communication Codec (LC3)
...depends on FPU (defined at C:/Users/user-1/zephyrproject/zephyr/soc/st/stm32\stm32wbax\Kconfig.defconfig:45, C:/Users/user-1/zephyrproject/zephyr/soc/sifive/sifive_freedom\fu500\Kconfig.defconfig:25, C:/Users/user-1/zephyrproject/zephyr/soc/sifive/sifive_freedom\fu700\Kconfig.defconfig:25, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/rz\rzn2l\Kconfig.defconfig:12, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/rz\rzt2l\Kconfig.defconfig:12, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/rz\rzt2m\Kconfig.defconfig:13, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/rz\rzv2h\Kconfig.defconfig.rzv2h_cr8:9, C:/Users/user-1/zephyrproject/zephyr/soc/nxp/s32\s32k1\Kconfig.defconfig:15, C:/Users/user-1/zephyrproject/zephyr/soc/nxp/s32\s32k3\Kconfig.defconfig:15, C:/Users/user-1/zephyrproject/zephyr/soc/nxp/s32\s32ze\Kconfig.defconfig:12, C:/Users/user-1/zephyrproject/zephyr/soc/nxp/imx\imx6sx\Kconfig.defconfig.mcimx6x_m4:8, arch/Kconfig:1003), with definition...
config FPU
bool
default y
depends on BT_STM32WBA && SOC_SERIES_STM32WBAX && SOC_FAMILY_STM32
config FPU
bool
default y if CPU_HAS_FPU
depends on SOC_SERIES_SIFIVE_FREEDOM_FU500 && SOC_FAMILY_SIFIVE_FREEDOM
config FPU
bool
default y if CPU_HAS_FPU
depends on SOC_SERIES_SIFIVE_FREEDOM_FU700 && SOC_FAMILY_SIFIVE_FREEDOM
config FPU
bool
default y
depends on SOC_SERIES_RZN2L && SOC_FAMILY_RENESAS_RZ
config FPU
bool
default y
depends on SOC_SERIES_RZT2L && SOC_FAMILY_RENESAS_RZ
config FPU
bool
default y
depends on SOC_SERIES_RZT2M && SOC_FAMILY_RENESAS_RZ
config FPU
bool
default y
depends on SOC_R9A09G057H44GBG_CR8 && SOC_SERIES_RZV2H && SOC_FAMILY_RENESAS_RZ
config FPU
bool
default y if CPU_HAS_FPU
depends on SOC_SERIES_S32K1 && SOC_FAMILY_NXP_S32
config FPU
bool
default y
depends on SOC_SERIES_S32K3 && SOC_FAMILY_NXP_S32
config FPU
bool
default y
depends on SOC_SERIES_S32ZE && SOC_FAMILY_NXP_S32
config FPU
bool
default y
depends on SOC_MCIMX6X_M4 && SOC_SERIES_IMX6SX && SOC_FAMILY_NXP_IMX
config FPU
bool "Floating point unit (FPU)"
depends on CPU_HAS_FPU
help
This option enables the hardware Floating Point Unit (FPU), in order to
support using the floating point registers and instructions.
When this option is enabled, by default, threads may use the floating
point registers only in an exclusive manner, and this usually means that
only one thread may perform floating point operations.
If it is necessary for multiple threads to perform concurrent floating
point operations, the "FPU register sharing" option must be enabled to
preserve the floating point registers across context switches.
Note that this option cannot be selected for the platforms that do not
include a hardware floating point unit; the floating point support for
those platforms is dependent on the availability of the toolchain-
provided software floating point library.
(select-related dependencies: (SOC_SERIES_RA4E1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA4E2 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA4L1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA4M1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA4M2 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA4M3 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA4W1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA6E1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA6E2 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA6M1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA6M2 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA6M3 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA6M4 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA6M5 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA8D1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA8M1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA8P1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA8T1 && SOC_FAMILY_RENESAS_RA) || (ICP201XX && CPU_HAS_FPU && DT_HAS_INVENSENSE_ICP201XX_ENABLED && SENSOR))
(imply-related dependencies: (SOC_SERIES_RA4E1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA4E2 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA4L1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA4M1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA4M2 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA4M3 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA4W1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA6E1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA6E2 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA6M1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA6M2 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA6M3 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA6M4 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA6M5 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA8D1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA8M1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA8P1 && SOC_FAMILY_RENESAS_RA) || (SOC_SERIES_RA8T1 && SOC_FAMILY_RENESAS_RA) || (ICP201XX && CPU_HAS_FPU && DT_HAS_INVENSENSE_ICP201XX_ENABLED && SENSOR))
...depends on ICP201XX (defined at drivers/sensor/tdk/icp201xx/Kconfig:7), with definition...
menuconfig ICP201XX
bool "ICP201xx Barometric Pressure and Temperature Sensor"
default y
select I2C if n
select SPI if n
select USE_EMD_ICP201XX
select FPU if CPU_HAS_FPU
depends on DT_HAS_INVENSENSE_ICP201XX_ENABLED && SENSOR
help
Enable driver for ICP101xx Barometric Pressure and Temperature Sensor.
...depends on SENSOR (defined at drivers/sensor/Kconfig:7), with definition...
menuconfig SENSOR
bool "Sensor drivers"
help
Include sensor drivers in system config
(select-related dependencies: (NRF_802154_SL_OPENSOURCE && NRF_802154_TEMPERATURE_UPDATE && <choice NRF_802154_SL_TYPE>) || (NRF_802154_SL_OPENSOURCE && NRF_802154_TEMPERATURE_UPDATE && <choice NRF_802154_SL_TYPE>) || (BT_STM32WBA_USE_TEMP_BASED_CALIB && BT_STM32WBA && BT_HCI && BT_DRIVERS) || (CLOCK_CONTROL_NRF_USES_TEMP_SENSOR && HAS_HW_NRF_TEMP && CLOCK_CONTROL_NRF_DRIVER_CALIBRATION && CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION && CLOCK_CONTROL_NRF && CLOCK_CONTROL) || (SENSING && DT_HAS_ZEPHYR_SENSING_ENABLED))
...depends on CLOCK_CONTROL_NRF_USES_TEMP_SENSOR (defined at drivers/clock_control/Kconfig.nrf:130), with definition...
config CLOCK_CONTROL_NRF_USES_TEMP_SENSOR
bool
default y if CLOCK_CONTROL_NRF_CALIBRATION_MAX_SKIP > 0 && CLOCK_CONTROL_NRF_CALIBRATION_TEMP_DIFF > 0
select TEMP_NRF5
select SENSOR
depends on HAS_HW_NRF_TEMP && CLOCK_CONTROL_NRF_DRIVER_CALIBRATION && CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION && CLOCK_CONTROL_NRF && CLOCK_CONTROL
...depends on CLOCK_CONTROL (defined at C:/Users/user-1/zephyrproject/zephyr/soc/wch/ch32v\ch32v00x\Kconfig.defconfig:9, C:/Users/user-1/zephyrproject/zephyr/soc/wch/ch32v\qingke_v2a\Kconfig.defconfig:18, C:/Users/user-1/zephyrproject/zephyr/soc/wch/ch32v\qingke_v4b\Kconfig.defconfig:9, C:/Users/user-1/zephyrproject/zephyr/soc/wch/ch32v\qingke_v4c\Kconfig.defconfig:9, C:/Users/user-1/zephyrproject/zephyr/soc/wch/ch32v\qingke_v4f\Kconfig.defconfig:9, C:/Users/user-1/zephyrproject/zephyr/soc/st/stm32/Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra2a1\Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra2l1\Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra4e1\Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra4e2\Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra4l1\Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra4m1\Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra4m2\Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra4m3\Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra4w1\Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra6e1\Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra6e2\Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra6m1\Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra6m2\Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra6m3\Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra6m4\Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra6m5\Kconfig.defconfig:17, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra8d1\Kconfig.defconfig:12, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra8m1\Kconfig.defconfig:12, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra8p1\Kconfig.defconfig:33, C:/Users/user-1/zephyrproject/zephyr/soc/renesas/ra\ra8t1\Kconfig.defconfig:12, C:/Users/user-1/zephyrproject/zephyr/soc/nordic/Kconfig.defconfig:13, C:/Users/user-1/zephyrproject/zephyr/soc/microchip/sam/Kconfig.defconfig:10, C:/Users/user-1/zephyrproject/zephyr/soc/gd/gd32/Kconfig.defconfig:11, C:/Users/user-1/zephyrproject/zephyr/soc/espressif\common\Kconfig.defconfig:74, C:/Users/user-1/zephyrproject/zephyr/soc/atmel/sam/Kconfig.defconfig:11, drivers/clock_control/Kconfig:9), with definition...
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_CH32V00X && SOC_FAMILY_CH32V
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_QINGKE_V2A && SOC_FAMILY_CH32V
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_QINGKE_V4B && SOC_FAMILY_CH32V
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_QINGKE_V4C && SOC_FAMILY_CH32V
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_QINGKE_V4F && SOC_FAMILY_CH32V
config CLOCK_CONTROL
bool
default y
depends on SOC_FAMILY_STM32
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA2A1 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA2L1 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA4E1 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA4E2 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA4L1 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA4M1 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA4M2 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA4M3 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA4W1 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA6E1 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA6E2 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA6M1 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA6M2 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA6M3 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA6M4 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA6M5 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA8D1 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA8M1 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA8P1 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y
depends on SOC_SERIES_RA8T1 && SOC_FAMILY_RENESAS_RA
config CLOCK_CONTROL
bool
default y if SYS_CLOCK_EXISTS && !NRF_PLATFORM_HALTIUM && !RISCV_CORE_NORDIC_VPR
depends on SOC_FAMILY_NORDIC_NRF
config CLOCK_CONTROL
bool
default y
depends on SOC_FAMILY_MICROCHIP_SAM
config CLOCK_CONTROL
bool
default y
depends on SOC_FAMILY_GD_GD32
config CLOCK_CONTROL
bool
default y
depends on (SOC_SERIES_ESP32 || SOC_SERIES_ESP32S2 || SOC_SERIES_ESP32S3) && SOC_FAMILY_ESPRESSIF_ESP32
config CLOCK_CONTROL
bool
default y
depends on SOC_FAMILY_ATMEL_SAM
menuconfig CLOCK_CONTROL
bool "Clock controller drivers"
help
Enable support for hardware clock controller. Such hardware can
provide clock for other subsystem, and thus can be also used for
power efficiency by controlling their clock. Note that this has
nothing to do with RTC.
(select-related dependencies: (NRF_802154_RADIO_DRIVER && HAS_HW_NRF_RADIO_IEEE802154 && !n && HAS_NORDIC_DRIVERS) || (NRF_802154_RADIO_DRIVER && HAS_HW_NRF_RADIO_IEEE802154 && !n && HAS_NORDIC_DRIVERS && 0) || (SOC_SERIES_MSPM0G && SOC_FAMILY_TI_MSPM0) || (SOC_SERIES_SIM3U && SOC_FAMILY_SILABS_SIM3) || (SOC_SERIES_DA1469X && SOC_FAMILY_RENESAS_SMARTBOND) || (SOC_SERIES_RX130 && SOC_FAMILY_RENESAS_RX) || (SOC_SERIES_RX62N && SOC_FAMILY_RENESAS_RX) || SOC_OPENISA_RV32M1 || (SOC_SERIES_S32K1 && SOC_FAMILY_NXP_S32) || (SOC_SERIES_S32K3 && SOC_FAMILY_NXP_S32) || (SOC_SERIES_S32ZE && SOC_FAMILY_NXP_S32) || SOC_SERIES_RW6XX || (SOC_SERIES_MCXA && SOC_FAMILY_NXP_MCX) || (SOC_SERIES_MCXC && SOC_FAMILY_NXP_MCX) || (SOC_SERIES_MCXN && SOC_FAMILY_NXP_MCX) || (SOC_SERIES_MCXW && SOC_FAMILY_NXP_MCX) || SOC_FAMILY_LPC || (SOC_SERIES_LPC11U6X && SOC_FAMILY_LPC) || (SOC_LPC51U68 && SOC_FAMILY_LPC) || (SOC_LPC54114_M4 && SOC_FAMILY_LPC) || (SOC_LPC54114_M0 && SOC_FAMILY_LPC) || (SOC_SERIES_KINETIS_K2X && SOC_FAMILY_KINETIS) || (SOC_SERIES_K32LX && SOC_FAMILY_KINETIS) || (SOC_SERIES_KINETIS_K6X && SOC_FAMILY_KINETIS) || (SOC_SERIES_KINETIS_K8X && SOC_FAMILY_KINETIS) || (SOC_SERIES_KINETIS_KE1XF && SOC_FAMILY_KINETIS) || (SOC_SERIES_KE1XZ && SOC_FAMILY_KINETIS) || (SOC_SERIES_KINETIS_KL2X && SOC_FAMILY_KINETIS) || (SOC_SERIES_KINETIS_KV5X && SOC_FAMILY_KINETIS) || (SOC_SERIES_KINETIS_KWX && SOC_FAMILY_KINETIS) || (SOC_SERIES_IMXRT10XX && SOC_FAMILY_NXP_IMXRT) || (SOC_SERIES_IMXRT118X && SOC_FAMILY_NXP_IMXRT) || (SOC_SERIES_IMXRT11XX && SOC_FAMILY_NXP_IMXRT) || (SOC_MIMXRT595S_CM33 && SOC_FAMILY_NXP_IMXRT) || (SOC_MIMXRT685S_CM33 && SOC_FAMILY_NXP_IMXRT) || (SOC_MIMXRT685S_HIFI4 && SOC_FAMILY_NXP_IMXRT) || (SOC_MIMXRT798S_CM33_CPU0 && SOC_FAMILY_NXP_IMXRT) || (SOC_MIMXRT798S_CM33_CPU1 && SOC_FAMILY_NXP_IMXRT) || (SOC_SERIES_IMX6SX && SOC_FAMILY_NXP_IMX) || (SOC_SERIES_IMX7D && SOC_FAMILY_NXP_IMX) || (SOC_SERIES_NPCM4 && SOC_FAMILY_NPCM) || (SOC_SERIES_ESP32 && SOC_FAMILY_ESPRESSIF_ESP32) || (SOC_SERIES_ESP32C2 && SOC_FAMILY_ESPRESSIF_ESP32) || (SOC_SERIES_ESP32C3 && SOC_FAMILY_ESPRESSIF_ESP32) || (SOC_SERIES_ESP32C6 && SOC_ESP32C6_HPCORE && SOC_FAMILY_ESPRESSIF_ESP32) || (SOC_SERIES_ESP32S2 && SOC_FAMILY_ESPRESSIF_ESP32) || (SOC_SERIES_ESP32S3 && SOC_FAMILY_ESPRESSIF_ESP32) || (SOC_SERIES_BL60X && SOC_FAMILY_BFLB) || SOC_FAMILY_MAX32 || SOC_FAMILY_MAX32_M33 || (BT_AMBIQ_HCI && SOC_SERIES_APOLLO4X && DT_HAS_AMBIQ_BT_HCI_SPI_ENABLED && BT_HCI && BT_DRIVERS) || (CAN_NXP_S32_CANXL && DT_HAS_NXP_S32_CANXL_ENABLED && CAN) || (CAN_NRF && DT_HAS_NORDIC_NRF_CAN_ENABLED && CAN) || (CAN_RENESAS_RZ_CANFD && DT_HAS_RENESAS_RZ_CANFD_ENABLED && CAN) || (COUNTER_NRFX_TIMER_USE_CLOCK_CONTROL && (n || n) && !SOC_NRF54H20_CPUFLPR && !SOC_NRF54H20_CPUPPR && COUNTER) || (COUNTER_SMARTBOND_TIMER && DT_HAS_RENESAS_SMARTBOND_TIMER_ENABLED && COUNTER) || (COUNTER_NXP_S32_SYS_TIMER && DT_HAS_NXP_S32_SYS_TIMER_ENABLED && COUNTER) || (I2S_NRF_TDM && DT_HAS_NORDIC_NRF_TDM_ENABLED && I2S) || (MDIO_NXP_S32_GMAC && DT_HAS_NXP_S32_GMAC_MDIO_ENABLED && MDIO) || (XLNX_SDHC && DT_HAS_XLNX_VERSAL_8_9A_ENABLED && SDHC) || (UART_RTS5912 && SOC_SERIES_RTS5912 && SERIAL) || (UART_SILABS_EUSART && DT_HAS_SILABS_EUSART_UART_ENABLED && SERIAL) || (UART_SILABS_USART && DT_HAS_SILABS_USART_UART_ENABLED && SERIAL) || (USB_DC_SMARTBOND && DT_HAS_RENESAS_SMARTBOND_USBD_ENABLED && USB_DEVICE_DRIVER) || (WDT_NXP_S32 && DT_HAS_NXP_S32_SWT_ENABLED && WATCHDOG))
...depends on UART_SILABS_EUSART (defined at drivers/serial\Kconfig.silabs_eusart:5), with definition...
config UART_SILABS_EUSART
bool "Silabs EUSART UART driver"
default y
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
select SOC_GECKO_EUSART
select SERIAL_SUPPORT_ASYNC if DT_HAS_SILABS_LDMA_ENABLED
select DMA if UART_ASYNC_API
select PINCTRL
select CLOCK_CONTROL
depends on DT_HAS_SILABS_EUSART_UART_ENABLED && SERIAL
help
Enable the eusart uart driver.
...depends on SERIAL (defined at boards/shields\openthread_rcp_arduino\Kconfig.defconfig:8, C:/Users/user-1/zephyrproject/zephyr/soc/nxp/lpc\lpc55xxx\Kconfig.defconfig:73, drivers/serial/Kconfig:6), with definition...
config SERIAL
bool
default y if SHIELD_OPENTHREAD_RCP_ARDUINO_SERIAL
depends on OPENTHREAD && (SHIELD_OPENTHREAD_RCP_ARDUINO_SERIAL || SHIELD_OPENTHREAD_RCP_ARDUINO_SPI)
config SERIAL
bool
default n
depends on SOC_LPC55S69_CPU1 && SOC_SERIES_LPC55XXX && SOC_FAMILY_LPC
menuconfig SERIAL
bool "Serial drivers"
help
Enable options for serial drivers.
(select-related dependencies: (ERPC_TRANSPORT_UART && ERPC) || (AUXDISPLAY_ITRON && DT_HAS_NORITAKE_ITRON_ENABLED && AUXDISPLAY) || (BT_UART && BT_HCI && BT_DRIVERS) || (W1_ZEPHYR_SERIAL && DT_HAS_ZEPHYR_W1_SERIAL_ENABLED && W1) || (WIFI_ESWIFI_BUS_UART && <choice WIFI_ESWIFI_BUS>) || (SHELL_BACKEND_SERIAL && SHELL_BACKENDS && SHELL))
...depends on ERPC (defined at C:/Users/user-1/zephyrproject/modules/lib/erpc/zephyr/Kconfig:10), with definition...
config ERPC
bool "eRPC Support"
depends on ZEPHYR_ERPC_MODULE && CPP && FULL_LIBCPP_SUPPORTED
help
This option enables the eRPC library
...depends on FULL_LIBCPP_SUPPORTED (defined at lib/cpp/Kconfig:88), with definition...
config FULL_LIBCPP_SUPPORTED
bool
depends on CPP
help
Selected when the target has at least one C++ library that offers a
complete implementation and which would be selected when
REQUIRES_FULL_LIBCPP is set.
(select-related dependencies: (GLIBCXX_LIBCPP && !NATIVE_APPLICATION && (NEWLIB_LIBC || PICOLIBC) && <choice LIBCPP_IMPLEMENTATION>) || (LIBCXX_LIBCPP && !NATIVE_APPLICATION && NEWLIB_LIBC && "zephyr" = "llvm" && <choice LIBCPP_IMPLEMENTATION>) || NATIVE_LIBCPP)
...depends on the choice symbol GLIBCXX_LIBCPP (defined at lib/cpp/Kconfig:112), with definition...
config GLIBCXX_LIBCPP
bool "GNU C++ Standard Library"
select FULL_LIBCPP_SUPPORTED
depends on !NATIVE_APPLICATION && (NEWLIB_LIBC || PICOLIBC) && <choice LIBCPP_IMPLEMENTATION>
help
Build with GNU C++ Standard Library (libstdc++) provided by the GNU
Compiler Collection (GCC)-based toolchain.
...depends on the choice symbol PICOLIBC (defined at lib/libc/Kconfig:91), with definition...
config PICOLIBC
bool "Picolibc library"
select COMMON_LIBC_ABORT
select LIBC_ERRNO if THREAD_LOCAL_STORAGE
select NEED_LIBC_MEM_PARTITION
select TC_PROVIDES_POSIX_C_LANG_SUPPORT_R
imply THREAD_LOCAL_STORAGE if ARCH_HAS_THREAD_LOCAL_STORAGE && TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE
imply COMMON_LIBC_MALLOC
imply COMMON_LIBC_ABORT
imply COMMON_LIBC_TIME
depends on PICOLIBC_SUPPORTED && <choice LIBC_IMPLEMENTATION>
help
Build with picolibc library. The picolibc library is built as
a module if PICOLIBC_MODULE is set, otherwise picolibc is
expected to be provided by the toolchain.
...depends on <choice LIBC_IMPLEMENTATION> (defined at C:/Users/user-1/zephyrproject/zephyr/soc/st/stm32\stm32wbax\Kconfig.defconfig:34, lib/libc/Kconfig:69), with definition...
choice LIBC_IMPLEMENTATION
bool
default NEWLIB_LIBC
depends on BT_STM32WBA && SOC_SERIES_STM32WBAX && SOC_FAMILY_STM32
choice LIBC_IMPLEMENTATION
bool "C Library Implementation"
default EXTERNAL_LIBC if NATIVE_BUILD && !(NATIVE_LIBRARY && NATIVE_LIBC_INCOMPATIBLE)
default PICOLIBC
default NEWLIB_LIBC if REQUIRES_FULL_LIBC
default MINIMAL_LIBC
default IAR_LIBC
...depends on the choice symbol MINIMAL_LIBC (defined at lib/libc/Kconfig:77), with definition...
config MINIMAL_LIBC
bool "Minimal C library"
select COMMON_LIBC_ABORT
select COMMON_LIBC_STRNLEN
imply COMPILER_FREESTANDING
imply COMMON_LIBC_MALLOC
imply COMMON_LIBC_CALLOC
imply COMMON_LIBC_REALLOCARRAY
imply COMMON_LIBC_TIME
depends on !REQUIRES_FULL_LIBC && MINIMAL_LIBC_SUPPORTED && <choice LIBC_IMPLEMENTATION>
help
Build with minimal C library.
...depends again on REQUIRES_FULL_LIBC (defined at lib/libc/Kconfig:6)
CMake Error at C:/Users/user-1/zephyrproject/zephyr/cmake/modules/kconfig.cmake:385 (message):
command failed with return code: 1
Call Stack (most recent call first):
C:/Users/user-1/zephyrproject/zephyr/cmake/modules/zephyr_default.cmake:131 (include)
C:/Users/user-1/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
C:/Users/user-1/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
CMakeLists.txt:9 (find_package)
-- Configuring incomplete, errors occurred!
FATAL ERROR: command exited with status 1: 'C:\Program Files\CMake\bin\cmake.EXE' -DWEST_PYTHON=C:/Users/user-1/zephyrproject/.venv/Scripts/python.exe '-BC:\Users\user-1\zephyrproject\modules\lib\erpc\examples\zephyr\build' -GNinja -DBOARD=frdm_kw41z '-SC:\Users\user-1\zephyrproject\modules\lib\erpc\examples\zephyr\matrix_multiply_uart'
To Reproduce
west build .\matrix_multiply_uart\ -b frdm_kw41z -p always
Expected behavior
I expect the example to build successfully.
Screenshots
Desktop (please complete the following information)
- OS Windows 11 Enterprise
- eRPC Version v1.14.0
- Zephyr v4.2.0-rc1
Steps you didn't forgot to do
- I checked if there is no related issue opened/closed.
- I checked that there doesn't exist opened PR which is solving this issue.
Additional context
The description of the FULL_LIBCPP_SUPPORTED symbol states that it depends on CONFIG_CPP:
Kconfig Search — Zephyr Project Documentation
However, in the erpc Kconfig file (erpc/zephyr/Kconfig at main · EmbeddedRPC/erpc) ERPC depends on both CPP and FULL_LIBCPP_SUPPORTED.
Seems like, depending on the order of evaluation, this could be causing the dependency loop.
As I test I removed the depends on FULL_LIBCPP_SUPPORTED from the erpc Kconfig file and it now builds without errors.
I'm not sure if this is the best (or even a correct solution) so I'd be interested to hear your input.