Migration from SDK v2.7.0 to v2.8.0 (and v2.9.0) failing

We have a project that includes a custom board definition and out of tree driver with folder structure as follows:

.
├── boards
└── my_project
    ├── CMakeLists.txt
    ├── build_r01
    ├── drivers
    │   ├── display
    │   │   ├── ssd1322.c
    │   │   ├── ssd1322_regs.h
    │   │   └── zephyr
    │   │       ├── CMakeLists.txt
    │   │       ├── Kconfig
    │   │       ├── Kconfig.ssd1322
    │   │       └── module.yml
    │   └── brand
    │       ├── device.c
    │       ├── device.h
    │       └── zephyr
    │           ├── CMakeLists.txt
    │           ├── Kconfig
    │           ├── Kconfig.dcb1m
    │           └── module.yml
    ├── dts
    │   └── bindings
    │       ├── display
    │       │   └── solomon,ssd1322fb.yaml
    │       └── brand
    │           └── brand-device.yaml
    ├── prj.conf
    └── src
        ├── file1.c
        ├── file2.c
        ├── file3.c
        ├── inc
        │   ├── file1.h
        │   ├── file2.h
        │   ├── file3.h
        ├── main.c
 

Our project builds successfully with SDK v2.7.0 and toolchain v2.7.0

Upgrading the toolchain so we have SDK v2.7.0 and toolchain v2.9.0 works fine.

 

Upgrading the SDK so we have SDK v2.9.0 and toolchain v2.9.0 fails to build the application.

We see this at the end of the build output in the terminal:

CMake Warning at /opt/nordic/ncs/v2.9.0/zephyr/CMakeLists.txt:952 (message):
  No SOURCES given to Zephyr library: drivers__display

  Excluding target from build.


-- Configuring done
-- Generating done
-- Build files have been written to: /my_project/build_r01/my_project
-- Configuring incomplete, errors occurred!
See also "/my_project/build_r01/CMakeFiles/CMakeOutput.log".
FATAL ERROR: command exited with status 1: /opt/nordic/ncs/toolchains/b8efef2ad5/bin/cmake -DWEST_PYTHON=/opt/nordic/ncs/toolchains/b8efef2ad5/opt/[email protected]/bin/python3.12 -B/my_project/build_r01 -GNinja -DBOARD=my_board_r01 -DNCS_TOOLCHAIN_VERSION=NONE -DBOARD_ROOT=/ -S/opt/nordic/ncs/v2.9.0/zephyr/share/sysbuild -DAPP_DIR:PATH=/my_project

As can be seen, the drivers in the src folder (which are referenced from the board definition) are not being found.

If we roll the SDK back to v2.7.0 the same project builds ok again so this is definitely a difference between v2.7.0 and what follows.

Please note we also tried with v2.8.0 with the same result as v2.9.0 so wherever I have mentioned v2.9.0 I also tried the same with v2.8.0

So, the breaking change seems to have occurred between v2.7.0 and v2.8.0 and the breaking change remains in v2.9.0 

  • Hi,

    Can you show your build commands when using different NCS versions?

    Have you tried to use --no-sysbuild option when building with west in NCS v2.8.0 and v2.9.0? Do you see any difference in the result?

    Best regards,
    Dejan

  • I have tried --no-sysbuild and the build still fails in anything later than v2.8.x and v2.9.x

    Generated Build Commands Shown Below...


    Toolchain: v2.9.1

    SDK: v2.7.0

    Status: OK

    Build Command:

    west build --build-dir /Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01 /Users/me/Code/MyCompany/Firmware/Nordic/my_project --pristine --board MyCompany_ka0052_r01 -- -DNCS_TOOLCHAIN_VERSION=NONE -DBOARD_ROOT=/Users/me/Code/MyCompany/Firmware/Nordic


    Toolchain: v2.9.1

    SDK: v2.9.1

    Status: FAILS

    Build Command:

    west build --build-dir /Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01 /Users/me/Code/MyCompany/Firmware/Nordic/my_project --pristine --board MyCompany_ka0052_r01 --sysbuild -- -DNCS_TOOLCHAIN_VERSION=NONE -DBOARD_ROOT=/Users/me/Code/MyCompany/Firmware/Nordic


    Toolchain: v2.9.1

    SDK: v2.9.1 (NO SYSBUILD)

    Status: FAILS

    Build Command:

    west build --build-dir /Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01 /Users/me/Code/MyCompany/Firmware/Nordic/my_project --pristine --board MyCompany_ka0052_r01 --no-sysbuild -- -DNCS_TOOLCHAIN_VERSION=NONE -DBOARD_ROOT=/Users/me/Code/MyCompany/Firmware/Nordic

  • Hi,

    Can you provide full build log when using NCS v2.9.0 (and NCS v2.8.0 if build log is different)?

    Best regards,
    Dejan

  • I can copy the truncated output form the terminal but where will I find the full logs?

    Terminal Output for SDK v2.7.0

     *  Executing task: nRF Connect: Build: my_project/build_r01 (active) 
    
    Building my_project
    west build --build-dir /Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01 /Users/me/Code/MyCompany/Firmware/Nordic/my_project
    
    [1/517] Preparing syscall dependency handling
    
    [5/517] Generating include/generated/version.h
    -- Zephyr version: 3.6.99 (/opt/nordic/ncs/v2.7.0/zephyr), build: v3.6.99-ncs2
    [516/517] Linking C executable zephyr/zephyr.elf
    Memory region         Used Size  Region Size  %age Used
               FLASH:      394568 B         1 MB     37.63%
                 RAM:      117560 B       256 KB     44.85%
            IDT_LIST:          0 GB        32 KB      0.00%
    Generating files from /Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/zephyr/zephyr.elf for board: MyCompany_ka0052_r01
    [517/517] Generating zephyr/merged.hex
     *  Terminal will be reused by tasks, press any key to close it. 

    Terminal Output for SDK v2.9.1 - Build system Default (Sysbuild) selected in VS Code

     *  Executing task: nRF Connect: Build [pristine]: my_project/build_r01 (active) 
    
    Building my_project
    west build --build-dir /Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01 /Users/me/Code/MyCompany/Firmware/Nordic/my_project --pristine --board MyCompany_ka0052_r01 -- -DNCS_TOOLCHAIN_VERSION=NONE -DBOARD_ROOT=/Users/me/Code/MyCompany/Firmware/Nordic
    
    -- west build: generating a build system
    Loading Zephyr module(s) (Zephyr base): sysbuild_default
    -- Found Python3: /opt/nordic/ncs/toolchains/b8efef2ad5/opt/[email protected]/bin/python3.12 (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter 
    -- Cache files will be written to: /Users/me/Library/Caches/zephyr
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: MyCompany_ka0052_r01
    Parsing /opt/nordic/ncs/v2.9.1/zephyr/share/sysbuild/Kconfig
    Loaded configuration '/Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/_sysbuild/empty.conf'
    Merged configuration '/Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/_sysbuild/empty.conf'
    Configuration saved to '/Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/zephyr/.config'
    Kconfig header saved to '/Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/_sysbuild/autoconf.h'
    CMake Error at /opt/nordic/ncs/v2.9.1/nrf/sysbuild/CMakeLists.txt:117 (list):
      list GET given empty list
    Call Stack (most recent call first):
      cmake/modules/sysbuild_extensions.cmake:583 (nrf_PRE_CMAKE)
      cmake/modules/sysbuild_extensions.cmake:583 (cmake_language)
      cmake/modules/sysbuild_images.cmake:16 (sysbuild_module_call)
      cmake/modules/sysbuild_default.cmake:20 (include)
      /opt/nordic/ncs/v2.9.1/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:75 (include)
      /opt/nordic/ncs/v2.9.1/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
      /opt/nordic/ncs/v2.9.1/zephyr/share/sysbuild-package/cmake/SysbuildConfig.cmake:8 (include)
      template/CMakeLists.txt:10 (find_package)
    
    
    -- 
       *********************************
       * Running CMake for my_project *
       *********************************
    
    Loading Zephyr default modules (Zephyr base).
    -- Application: /Users/me/Code/MyCompany/Firmware/Nordic/my_project
    -- CMake version: 3.21.0
    -- Found Python3: /opt/nordic/ncs/toolchains/b8efef2ad5/bin/python (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter 
    -- Cache files will be written to: /Users/me/Library/Caches/zephyr
    -- Zephyr version: 3.7.99 (/opt/nordic/ncs/v2.9.1/zephyr)
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: MyCompany_ka0052_r01
    -- Found host-tools: zephyr 0.17.0 (/opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.17.0 (/opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk)
    -- Found Dtc: /opt/nordic/ncs/toolchains/b8efef2ad5/bin/dtc (found suitable version "1.6.1", minimum required is "1.4.6") 
    -- Found BOARD.dts: /Users/me/Code/MyCompany/Firmware/Nordic/boards/arm/MyCompany_ka0052_r01/MyCompany_ka0052_r01.dts
    -- Generated zephyr.dts: /Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/my_project/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: /Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/my_project/zephyr/include/generated/zephyr/devicetree_generated.h
    -- Including generated dts.cmake file: /Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/my_project/zephyr/dts.cmake
    CMake Warning at /opt/nordic/ncs/v2.9.1/zephyr/cmake/modules/dts.cmake:398 (message):
      dtc raised one or more warnings:
    
      
      /Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/my_project/zephyr/zephyr.dts:56.25-61.5:
      Warning (unique_unit_address_if_enabled): /soc/clock@40000000: duplicate
      unit-address (also used in node /soc/power@40000000)
    
      
      /Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/my_project/zephyr/zephyr.dts:369.21-373.5:
      Warning (unique_unit_address_if_enabled): /soc/acl@4001e000: duplicate
      unit-address (also used in node /soc/flash-controller@4001e000)
    
    Call Stack (most recent call first):
      /opt/nordic/ncs/v2.9.1/zephyr/cmake/modules/zephyr_default.cmake:133 (include)
      /opt/nordic/ncs/v2.9.1/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
      /opt/nordic/ncs/v2.9.1/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
      CMakeLists.txt:7 (find_package)
    
    
    
    warning: Deprecated symbol PLATFORM_SPECIFIC_INIT is enabled.
    
    Parsing /opt/nordic/ncs/v2.9.1/zephyr/Kconfig
    Loaded configuration '/Users/me/Code/MyCompany/Firmware/Nordic/boards/arm/MyCompany_ka0052_r01/MyCompany_ka0052_r01_defconfig'
    Merged configuration '/Users/me/Code/MyCompany/Firmware/Nordic/my_project/prj.conf'
    Merged configuration '/Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/my_project/zephyr/.config.sysbuild'
    Configuration saved to '/Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/my_project/zephyr/.config'
    Kconfig header saved to '/Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/my_project/zephyr/include/generated/zephyr/autoconf.h'
    -- Found GnuLd: /opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi/bin/ld.bfd (found version "2.38") 
    -- The C compiler identification is GNU 12.2.0
    -- The CXX compiler identification is GNU 12.2.0
    -- The ASM compiler identification is GNU
    -- Found assembler: /opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
    CMake Deprecation Warning at /opt/nordic/ncs/v2.9.1/zephyr/soc/CMakeLists.txt:15 (message):
      
    
                ---------------------------------------------------------------------
                --- WARNING: Functionality to describe SoCs in HWMv1 is           ---
                --- deprecated and should be replaced with HWMv2, including       ---
                --- boards. HWMv1 SoCs support remains only to ease the migration ---
                --- of out-of-tree SoCs and associated boards. It will not be     ---
                --- possible to build using HWMv1 SoCs at all in future releases. ---
                ---------------------------------------------------------------------
    
    
    =========== Generating psa_crypto_config ===============
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
    Backup: CONFIG_MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT: False
    Backup: CONFIG_MBEDTLS_THREADING: False
    Backup: CONFIG_MBEDTLS_THREADING_ALT: True
    =========== Checkpoint: backup ===============
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
    Restore: CONFIG_MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT: False
    Restore: CONFIG_MBEDTLS_THREADING: False
    Restore: CONFIG_MBEDTLS_THREADING_ALT: True
    =========== End psa_crypto_config ===============
    =========== Generating psa_crypto_library_config ===============
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
    Backup: CONFIG_MBEDTLS_USE_PSA_CRYPTO: True
    Backup: CONFIG_MBEDTLS_PLATFORM_PRINTF_ALT: False
    Backup: CONFIG_MBEDTLS_THREADING: False
    Backup: CONFIG_MBEDTLS_THREADING_ALT: True
    =========== Checkpoint: backup ===============
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
    Restore: CONFIG_MBEDTLS_USE_PSA_CRYPTO: True
    Restore: CONFIG_MBEDTLS_PLATFORM_PRINTF_ALT: False
    Restore: CONFIG_MBEDTLS_THREADING: False
    Restore: CONFIG_MBEDTLS_THREADING_ALT: True
    =========== End psa_crypto_library_config ===============
    -- Setting build type to 'MinSizeRel' as none was specified.
    -- Using ccache: /opt/nordic/ncs/toolchains/b8efef2ad5/bin/ccache
    CMake Warning at /opt/nordic/ncs/v2.9.1/zephyr/CMakeLists.txt:952 (message):
      No SOURCES given to Zephyr library: drivers__display
    
      Excluding target from build.
    
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/my_project
    -- Configuring incomplete, errors occurred!
    See also "/Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/CMakeFiles/CMakeOutput.log".
    FATAL ERROR: command exited with status 1: /opt/nordic/ncs/toolchains/b8efef2ad5/bin/cmake -DWEST_PYTHON=/opt/nordic/ncs/toolchains/b8efef2ad5/opt/[email protected]/bin/python3.12 -B/Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01 -GNinja -DBOARD=MyCompany_ka0052_r01 -DNCS_TOOLCHAIN_VERSION=NONE -DBOARD_ROOT=/Users/me/Code/MyCompany/Firmware/Nordic -S/opt/nordic/ncs/v2.9.1/zephyr/share/sysbuild -DAPP_DIR:PATH=/Users/me/Code/MyCompany/Firmware/Nordic/my_project
    
     *  The terminal process terminated with exit code: 1. 
     *  Terminal will be reused by tasks, press any key to close it. 

    The issues seems top start at:

    CMake Warning at /opt/nordic/ncs/v2.9.1/zephyr/CMakeLists.txt:952 (message):
      No SOURCES given to Zephyr library: drivers__display

    Terminal Output for SDK v2.9.1 - No Sysbuild selected in VS Code

     *  Executing task: nRF Connect: Build: my_project/build_r01 (active) 
    
    Building my_project
    west build --build-dir /Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01 /Users/me/Code/MyCompany/Firmware/Nordic/my_project
    
    [1/495] Preparing syscall dependency handling
    
    [5/495] Generating include/generated/zephyr/version.h
    -- Zephyr version: 3.7.99 (/opt/nordic/ncs/v2.9.1/zephyr), build: v3.7.99-ncs2-1
    [489/495] Linking C executable zephyr/zephyr_pre0.elf
    FAILED: zephyr/zephyr_pre0.elf zephyr/zephyr_pre0.map /Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/zephyr/zephyr_pre0.map 
    : && ccache /opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc -Os -DNDEBUG -gdwarf-4 -gdwarf-4 zephyr/CMakeFiles/zephyr_pre0.dir/misc/empty_file.c.obj -o zephyr/zephyr_pre0.elf  zephyr/CMakeFiles/offsets.dir/./arch/arm/core/offsets/offsets.c.obj  -T  zephyr/linker_zephyr_pre0.cmd  -Wl,-Map=/Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/zephyr/zephyr_pre0.map  -Wl,--whole-archive  app/libapp.a  zephyr/libzephyr.a  zephyr/arch/common/libarch__common.a  zephyr/arch/arch/arm/core/libarch__arm__core.a  zephyr/arch/arch/arm/core/cortex_m/libarch__arm__core__cortex_m.a  zephyr/arch/arch/arm/core/mpu/libarch__arm__core__mpu.a  zephyr/lib/libc/picolibc/liblib__libc__picolibc.a  zephyr/lib/libc/common/liblib__libc__common.a  zephyr/lib/net_buf/liblib__net_buf.a  zephyr/lib/smf/liblib__smf.a  zephyr/soc/soc/arm/nordic_nrf/lib..__modules__soc-hwmv1__soc__arm__nordic_nrf.a  zephyr/subsys/fs/libsubsys__fs.a  zephyr/subsys/random/libsubsys__random.a  zephyr/subsys/bluetooth/common/libsubsys__bluetooth__common.a  zephyr/subsys/bluetooth/host/libsubsys__bluetooth__host.a  zephyr/drivers/clock_control/libdrivers__clock_control.a  zephyr/drivers/console/libdrivers__console.a  zephyr/drivers/entropy/libdrivers__entropy.a  zephyr/drivers/flash/libdrivers__flash.a  zephyr/drivers/gpio/libdrivers__gpio.a  zephyr/drivers/pinctrl/libdrivers__pinctrl.a  zephyr/drivers/spi/libdrivers__spi.a  zephyr/drivers/timer/libdrivers__timer.a  modules/nrf/lib/multithreading_lock/lib..__nrf__lib__multithreading_lock.a  modules/nrf/subsys/bluetooth/controller/lib..__nrf__subsys__bluetooth__controller.a  modules/nrf/subsys/nrf_security/src/zephyr/libmbedtls_zephyr.a  modules/nrf/subsys/mpsl/init/lib..__nrf__subsys__mpsl__init.a  modules/nrf/subsys/mpsl/fem/lib..__nrf__subsys__mpsl__fem.a  modules/nrf/drivers/hw_cc3xx/lib..__nrf__drivers__hw_cc3xx.a  modules/nrf/drivers/mpsl/clock_control/lib..__nrf__drivers__mpsl__clock_control.a  modules/nrf/drivers/mpsl/flash_sync/lib..__nrf__drivers__mpsl__flash_sync.a  modules/hal_nordic/nrfx/libmodules__hal_nordic__nrfx.a  modules/littlefs/libmodules__littlefs.a  modules/lvgl/libmodules__lvgl.a  modules/segger/libmodules__segger.a  -Wl,--no-whole-archive  zephyr/kernel/libkernel.a  -L/Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/zephyr  zephyr/arch/common/libisr_tables.a  -mcpu=cortex-m4  -mthumb  -mabi=aapcs  -mfp16-format=ieee  -mtp=soft  -fuse-ld=bfd  -Wl,--gc-sections  -Wl,--build-id=none  -Wl,--sort-common=descending  -Wl,--sort-section=alignment  -Wl,-u,_OffsetAbsSyms  -Wl,-u,_ConfigAbsSyms  -nostdlib  -static  -Wl,-X  -Wl,-N  -Wl,--orphan-handling=warn  -Wl,-no-pie  -specs=picolibc.specs  -DPICOLIBC_LONG_LONG_PRINTF_SCANF  modules/nrf/subsys/nrf_security/src/libmbedcrypto.a  modules/nrf/subsys/nrf_security/src/core/nrf_oberon/liboberon_psa_core.a  modules/nrf/subsys/nrf_security/src/drivers/nrf_oberon/liboberon_psa_driver.a  /opt/nordic/ncs/v2.9.1/nrfxlib/crypto/nrf_oberon/lib/cortex-m4/soft-float/liboberon_mbedtls_3.0.15.a  modules/nrf/subsys/nrf_security/src/libmbedcrypto.a  modules/nrf/subsys/nrf_security/src/core/nrf_oberon/liboberon_psa_core.a  modules/nrf/subsys/nrf_security/src/drivers/nrf_oberon/liboberon_psa_driver.a  /opt/nordic/ncs/v2.9.1/nrfxlib/crypto/nrf_oberon/lib/cortex-m4/soft-float/liboberon_mbedtls_3.0.15.a  /opt/nordic/ncs/v2.9.1/nrfxlib/crypto/nrf_cc310_platform/lib/cortex-m4/soft-float/no-interrupts/libnrf_cc310_platform_0.9.19.a  modules/nrf/subsys/nrf_security/src/libmbedcrypto_base.a  modules/nrf/subsys/nrf_security/src/libnrf_security_utils.a  zephyr/kernel/libkernel.a  /opt/nordic/ncs/v2.9.1/nrfxlib/crypto/nrf_oberon/lib/cortex-m4/soft-float/liboberon_3.0.15.a  /opt/nordic/ncs/v2.9.1/nrfxlib/softdevice_controller/lib/nrf52/soft-float/libsoftdevice_controller_peripheral.a  /opt/nordic/ncs/v2.9.1/nrfxlib/mpsl/fem/common/lib/nrf52/soft-float/libmpsl_fem_common.a  /opt/nordic/ncs/v2.9.1/nrfxlib/mpsl/fem/nrf21540_gpio/lib/nrf52/soft-float/libmpsl_fem_nrf21540_gpio.a  /opt/nordic/ncs/v2.9.1/nrfxlib/mpsl/fem/nrf21540_gpio_spi/lib/nrf52/soft-float/libmpsl_fem_nrf21540_gpio_spi.a  /opt/nordic/ncs/v2.9.1/nrfxlib/mpsl/fem/nrf2220/lib/nrf52/soft-float/libmpsl_fem_nrf2220.a  /opt/nordic/ncs/v2.9.1/nrfxlib/mpsl/fem/nrf2240/lib/nrf52/soft-float/libmpsl_fem_nrf2240.a  /opt/nordic/ncs/v2.9.1/nrfxlib/mpsl/fem/nrf22xx/lib/nrf52/soft-float/libmpsl_fem_nrf22xx.a  /opt/nordic/ncs/v2.9.1/nrfxlib/mpsl/fem/simple_gpio/lib/nrf52/soft-float/libmpsl_fem_simple_gpio.a  /opt/nordic/ncs/v2.9.1/nrfxlib/mpsl/lib/nrf52/soft-float/libmpsl.a -L"/opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/thumb/v7e-m/nofp" -lc -lgcc && cd /Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01/zephyr && /opt/nordic/ncs/toolchains/b8efef2ad5/Cellar/cmake/3.21.0/bin/cmake -E true
    /opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: zephyr/libzephyr.a(flash_util.c.obj):/opt/nordic/ncs/v2.9.1/zephyr/drivers/flash/flash_util.c:14: multiple definition of `log_const_flash'; app/libapp.a(flash.c.obj):/Users/me/Code/MyCompany/Firmware/Nordic/my_project/src/flash.c:4: first defined here
    collect2: error: ld returned 1 exit status
    ninja: build stopped: subcommand failed.
    FATAL ERROR: command exited with status 1: /opt/nordic/ncs/toolchains/b8efef2ad5/bin/cmake --build /Users/me/Code/MyCompany/Firmware/Nordic/my_project/build_r01
    
     *  The terminal process terminated with exit code: 1. 
     *  Terminal will be reused by tasks, press any key to close it. 

  • Hi,

    Can you upload your CMakeLists.txt file and CMakeOutput.log file?

    Best regards,
    Dejan

Related