This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Facing problems to start with nRF5340DK on Segger studio with Apple M1 on MacOs 11.3

After configuring the options for an nRF project, segger studio cannot create the project by warning me the error: "create_nordic_project.py failed"

The problem seems to come from ninja which is not found by cmake:

CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.

Complet log of the error :

Creating solution peripheral_lbs.emProject
  /opt/homebrew/bin/cmake -GNinja -DBOARD=nrf5340dk_nrf5340_cpuapp -DBOARD_DIR=/opt/nordic/ncs/zephyr/boards/arm/nrf5340dk_nrf5340 -B/opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs/build_nrf5340dk_nrf5340_cpuapp -S/opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs -DZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb -DGNUARMEMB_TOOLCHAIN_PATH=/opt/gnuarmemb -DPYTHON_EXECUTABLE=/opt/homebrew/bin/python3 -DCMAKE_MAKE_PROGRAM=/opt/homebrew/bin/ninja -DDTC=/opt/homebrew/bin/dtc -D WEST=~/Library/Python/3.8/bin/west -DEXTRA_KCONFIG_TARGETS=menuconfig_ses -DEXTRA_KCONFIG_TARGET_COMMAND_FOR_menuconfig_ses=/Users/bastiendidier/Documents/nfr-sdk/arm_segger_embedded_studio_v534a_macos_x64_nordic/html/configure_nordic_project_menuconfig.py
  -- Application: /opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs
  -- Zephyr version: 2.5.99 (/opt/nordic/ncs/zephyr)
  -- Found Python3: /usr/bin/python3 (found suitable exact version "3.8.2") found components: Interpreter 
  -- Found west (found suitable version "0.10.1", minimum required is "0.7.1")
  -- Board: nrf5340dk_nrf5340_cpuapp
  -- Cache files will be written to: /Users/bastiendidier/Library/Caches/zephyr
  -- Found dtc: /opt/homebrew/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")
  -- Found toolchain: gnuarmemb (/opt/gnuarmemb)
  -- Found BOARD.dts: /opt/nordic/ncs/zephyr/boards/arm/nrf5340dk_nrf5340/nrf5340dk_nrf5340_cpuapp.dts
  -- Generated zephyr.dts: /opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs/build_nrf5340dk_nrf5340_cpuapp/zephyr/zephyr.dts
  -- Generated devicetree_unfixed.h: /opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs/build_nrf5340dk_nrf5340_cpuapp/zephyr/include/generated/devicetree_unfixed.h
  -- Generated device_extern.h: /opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs/build_nrf5340dk_nrf5340_cpuapp/zephyr/include/generated/device_extern.h
  Parsing /opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs/Kconfig
  Loaded configuration '/opt/nordic/ncs/zephyr/boards/arm/nrf5340dk_nrf5340/nrf5340dk_nrf5340_cpuapp_defconfig'
  Merged configuration '/opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs/prj.conf'
  Configuration saved to '/opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs/build_nrf5340dk_nrf5340_cpuapp/zephyr/.config'
  Kconfig header saved to '/opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs/build_nrf5340dk_nrf5340_cpuapp/zephyr/include/generated/autoconf.h'
  -- The C compiler identification is GNU 9.2.1
  -- The CXX compiler identification is GNU 9.2.1
  -- The ASM compiler identification is GNU
  -- Found assembler: /opt/gnuarmemb/bin/arm-none-eabi-gcc
  -- Application: /opt/nordic/ncs/zephyr/samples/bluetooth/hci_rpmsg
  -- Zephyr version: 2.5.99 (/opt/nordic/ncs/zephyr)
  -- Found Python3: /usr/bin/python3 (found suitable exact version "3.8.2") found components: Interpreter 
  -- Found west (found suitable version "0.10.1", minimum required is "0.7.1")
  -- Board: nrf5340dk_nrf5340_cpunet
  -- Cache files will be written to: /Users/bastiendidier/Library/Caches/zephyr
  -- Found toolchain: gnuarmemb (/opt/gnuarmemb)
  -- Found BOARD.dts: /opt/nordic/ncs/zephyr/boards/arm/nrf5340dk_nrf5340/nrf5340dk_nrf5340_cpunet.dts
  -- Generated zephyr.dts: /opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs/build_nrf5340dk_nrf5340_cpuapp/hci_rpmsg/zephyr/zephyr.dts
  -- Generated devicetree_unfixed.h: /opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs/build_nrf5340dk_nrf5340_cpuapp/hci_rpmsg/zephyr/include/generated/devicetree_unfixed.h
  -- Generated device_extern.h: /opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs/build_nrf5340dk_nrf5340_cpuapp/hci_rpmsg/zephyr/include/generated/device_extern.h
  Parsing /opt/nordic/ncs/zephyr/Kconfig
  Loaded configuration '/opt/nordic/ncs/zephyr/boards/arm/nrf5340dk_nrf5340/nrf5340dk_nrf5340_cpunet_defconfig'
  Merged configuration '/opt/nordic/ncs/zephyr/samples/bluetooth/hci_rpmsg/prj.conf'
  Merged configuration '/opt/nordic/ncs/nrf/subsys/partition_manager/partition_manager_enabled.conf'
  Configuration saved to '/opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs/build_nrf5340dk_nrf5340_cpuapp/hci_rpmsg/zephyr/.config'
  Kconfig header saved to '/opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs/build_nrf5340dk_nrf5340_cpuapp/hci_rpmsg/zephyr/include/generated/autoconf.h'
  -- Configuring incomplete, errors occurred!
  See also "/opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs/build_nrf5340dk_nrf5340_cpuapp/hci_rpmsg/CMakeFiles/CMakeOutput.log".
  -- Configuring incomplete, errors occurred!
  See also "/opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs/build_nrf5340dk_nrf5340_cpuapp/CMakeFiles/CMakeOutput.log".
  See also "/opt/nordic/ncs/nrf/samples/bluetooth/peripheral_lbs/build_nrf5340dk_nrf5340_cpuapp/CMakeFiles/CMakeError.log".
  Including boilerplate (Zephyr base): /opt/nordic/ncs/zephyr/cmake/app/boilerplate.cmake
  Adding 'hci_rpmsg' firmware as child image since CONFIG_BT_RPMSG_NRF53 is set to 'y'
  
  === child image hci_rpmsg - CPUNET begin ===
  Including boilerplate (Zephyr base): /opt/nordic/ncs/zephyr/cmake/app/boilerplate.cmake
  CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
  CMake Error at ../../../cmake/multi_image.cmake:292 (message):
    CMake generation for hci_rpmsg failed, aborting.  Command: 1
  Call Stack (most recent call first):
    ../../../cmake/multi_image.cmake:84 (add_child_image_from_source)
    ../../CMakeLists.txt:124 (add_child_image)
  
  
  
  error: cmake failed
  create_nordic_project.py failed (1)

My project configurations : 

project configurations

My nRF Connect options : 

Segger studio nRF connect options

Some useful informations about my configurations :

$PATH
/usr/local/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

$ZEPHIR_BASE
/opt/nordic/ncs/zephyr

which ninja
/opt/homebrew/bin/ninja

ninja --version
1.10.2

which cmake
/opt/homebrew/bin/cmake

cmake --version
cmake version 3.20.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).

Software version :

Segger studio for ARM - 5.34a

nRF SDK - 1.5.99

MacOs - 11.3 on Apple M1

Related