Cannot set up the sdk properly

Build always fails with missing pykwalify.

[proc] Executing command: /usr/bin/cmake -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE --no-warn-unused-cli -S/home/stefan/workspace/nrf/blinky/sysbuild/blinky_pwm -B/home/stefan/workspace/nrf/blinky/sysbuild/blinky_pwm/build
[cmake] Loading Zephyr default modules (Zephyr base (cached)).
[cmake] Not searching for unused variables given on the command line.
[cmake] -- Application: /home/stefan/workspace/nrf/blinky/sysbuild/blinky_pwm
[cmake] -- CMake version: 3.28.3
[cmake] -- Using NCS Toolchain 2.8.20241119.788085347090 for building. (/home/stefan/ncs/toolchains/b77d8c1312/cmake)
[cmake] -- Cache files will be written to: /home/stefan/.cache/zephyr
[cmake] -- Zephyr version: 3.7.99 (/home/stefan/ncs/v2.9.0/zephyr)
[cmake] CMake Warning at /home/stefan/ncs/v2.9.0/zephyr/cmake/modules/boards.cmake:110 (message):
[cmake] Deprecated BOARD=nrf5340dk_nrf5340_cpuapp specified, board automatically
[cmake] changed to: nrf5340dk/nrf5340/cpuapp.
[cmake] Call Stack (most recent call first):
[cmake] /home/stefan/ncs/v2.9.0/zephyr/cmake/modules/zephyr_default.cmake:133 (include)
[cmake] /home/stefan/ncs/v2.9.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
[cmake] /home/stefan/ncs/v2.9.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:97 (include_boilerplate)
[cmake] CMakeLists.txt:9 (find_package)
[cmake]
[cmake]
[cmake] CMake Error at /home/stefan/ncs/v2.9.0/zephyr/cmake/modules/boards.cmake:196 (message):
[cmake] Error finding board: nrf5340dk
[cmake]
[cmake] Error message: Traceback (most recent call last):
[cmake]
[cmake] File "/home/stefan/ncs/v2.9.0/zephyr/scripts/list_boards.py", line 11, in <module>
[cmake] import pykwalify.core
[cmake]
[cmake] ModuleNotFoundError: No module named 'pykwalify'
[cmake]
[cmake] Call Stack (most recent call first):
[cmake] /home/stefan/ncs/v2.9.0/zephyr/cmake/modules/zephyr_default.cmake:133 (include)
[cmake] /home/stefan/ncs/v2.9.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
[cmake] /home/stefan/ncs/v2.9.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:97 (include_boilerplate)
[cmake] CMakeLists.txt:9 (find_package)
[cmake]
[cmake]
[cmake] -- Configuring incomplete, errors occurred!
[proc] The command: /usr/bin/cmake -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE --no-warn-unused-cli -S/home/stefan/workspace/nrf/blinky/sysbuild/blinky_pwm -B/home/stefan/workspace/nrf/blinky/sysbuild/blinky_pwm/build exited with code: 1
  • Hi Stefan

    Could you try to open a terminal instace where you have loaded the toolchain enviroment 

    For example like this:

    And then try to install the dependencies as mentioned here

    Regards

    Runar

  • Ok,

    Focusing on pykwalify for now, I got a notice it's already installed. Is there any chance that the toolchain will pick up my Linux Python install instead of its own?

    stefan@stefan-Latitude-7390:~/workspace/nrf/blinky/sysbuild/blinky_pwm$ pip install pykwalify
    Requirement already satisfied: pykwalify in /home/stefan/ncs/toolchains/b77d8c1312/usr/local/lib/python3.12/site-packages (1.8.0)
    Requirement already satisfied: docopt>=0.6.2 in /home/stefan/ncs/toolchains/b77d8c1312/usr/local/lib/python3.12/site-packages (from pykwalify) (0.6.2)
    Requirement already satisfied: python-dateutil>=2.8.0 in /home/stefan/ncs/toolchains/b77d8c1312/usr/local/lib/python3.12/site-packages (from pykwalify) (2.8.2)
    Requirement already satisfied: ruamel.yaml>=0.16.0 in /home/stefan/ncs/toolchains/b77d8c1312/usr/local/lib/python3.12/site-packages (from pykwalify) (0.17.32)
    Requirement already satisfied: six>=1.5 in /home/stefan/ncs/toolchains/b77d8c1312/usr/local/lib/python3.12/site-packages (from python-dateutil>=2.8.0->pykwalify) (1.16.0)

    [notice] A new release of pip is available: 24.2 -> 25.0
    [notice] To update, run: pip install --upgrade pip
    stefan@stefan-Latitude-7390:~/workspace/nrf/blinky/sysbuild/blinky_pwm$

    After running cmake in the terminal, I seem to get a different error:

    stefan@stefan-Latitude-7390:~/workspace/nrf/blinky/sysbuild/blinky_pwm$ cmake .
    Loading Zephyr default modules (Zephyr base).
    -- Application: /home/stefan/workspace/nrf/blinky/sysbuild/blinky_pwm
    -- CMake version: 3.21.0
    -- Using NCS Toolchain 2.8.20241119.788085347090 for building. (/home/stefan/ncs/toolchains/b77d8c1312/cmake)
    -- Found Python3: /home/stefan/ncs/toolchains/b77d8c1312/usr/local/bin/python3 (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter
    -- Cache files will be written to: /home/stefan/.cache/zephyr
    -- Zephyr version: 3.7.99 (/home/stefan/ncs/v2.9.0/zephyr)
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    CMake Warning at /home/stefan/ncs/v2.9.0/zephyr/cmake/modules/boards.cmake:110 (message):
    Deprecated BOARD=nrf5340dk_nrf5340_cpuapp specified, board automatically
    changed to: nrf5340dk/nrf5340/cpuapp.
    Call Stack (most recent call first):
    /home/stefan/ncs/v2.9.0/zephyr/cmake/modules/zephyr_default.cmake:133 (include)
    /home/stefan/ncs/v2.9.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
    /home/stefan/ncs/v2.9.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
    CMakeLists.txt:9 (find_package)


    -- Board: nrf5340dk, qualifiers: nrf5340/cpuapp
    -- Found host-tools: zephyr 0.17.0 (/home/stefan/ncs/toolchains/b77d8c1312/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.17.0 (/home/stefan/ncs/toolchains/b77d8c1312/opt/zephyr-sdk)
    -- Found Dtc: /home/stefan/ncs/toolchains/b77d8c1312/usr/local/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6")
    -- Found BOARD.dts: /home/stefan/ncs/v2.9.0/zephyr/boards/nordic/nrf5340dk/nrf5340dk_nrf5340_cpuapp.dts
    -- Found devicetree overlay: /home/stefan/workspace/nrf/blinky/sysbuild/blinky_pwm/boards/nrf5340dk_nrf5340_cpuapp.overlay
    -- Generated zephyr.dts: /home/stefan/workspace/nrf/blinky/sysbuild/blinky_pwm/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: /home/stefan/workspace/nrf/blinky/sysbuild/blinky_pwm/zephyr/include/generated/zephyr/devicetree_generated.h
    -- Including generated dts.cmake file: /home/stefan/workspace/nrf/blinky/sysbuild/blinky_pwm/zephyr/dts.cmake
    Parsing /home/stefan/workspace/nrf/blinky/sysbuild/blinky_pwm/Kconfig
    /home/stefan/ncs/v2.9.0/zephyr/scripts/kconfig/kconfig.py: [Errno 21] Is a directory: '/home/stefan/workspace/nrf/blinky/sysbuild/blinky_pwm/Kconfig'
    CMake Error at /home/stefan/ncs/v2.9.0/zephyr/cmake/modules/kconfig.cmake:396 (message):
    command failed with return code: 1
    Call Stack (most recent call first):
    /home/stefan/ncs/v2.9.0/nrf/cmake/modules/kconfig.cmake:29 (include)
    /home/stefan/ncs/v2.9.0/zephyr/cmake/modules/zephyr_default.cmake:133 (include)
    /home/stefan/ncs/v2.9.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
    /home/stefan/ncs/v2.9.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
    CMakeLists.txt:9 (find_package)


    -- Configuring incomplete, errors occurred!
    stefan@stefan-Latitude-7390:~/workspace/nrf/blinky/sysbuild/blinky_pwm$

    And, running the "build command" (cogwheel) starts cmake, but goes back to the original pykwalify missing state.

  • Hi 
    It seems to me like you are running cmake when you are trying to build. 
    Could you rather try with the following

    west build -p -b nrf5340dk/nrf5340/cpuapp
    

    And post the output

    Regards

    Runar

  • I can now build blinky and run it. 
    The real target app is a SPI connected IMU (BHI360), but there are no examples so I tried the BMI270 example, but it does not compile.

    Executing task: nRF Connect: Generate config bl5340_dvk/nrf5340/cpuapp/ns for blinky/sysbuild/bmi270

    Building bmi270
    west build --build-dir /home/stefan/workspace/nrf/blinky/sysbuild/bmi270/build /home/stefan/workspace/nrf/blinky/sysbuild/bmi270 --pristine --board bl5340_dvk/nrf5340/cpuapp/ns -- -DNCS_TOOLCHAIN_VERSION=NONE -DCONFIG_DEBUG_OPTIMIZATIONS=y -DCONFIG_DEBUG_THREAD_INFO=y

    -- west build: generating a build system
    Loading Zephyr module(s) (Zephyr base): sysbuild_default
    -- Found Python3: /home/stefan/ncs/toolchains/b81a7cd864/usr/local/bin/python3.12 (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter
    -- Cache files will be written to: /home/stefan/.cache/zephyr
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: bl5340_dvk, qualifiers: nrf5340/cpuapp/ns
    Parsing /home/stefan/ncs/v2.8.0/zephyr/share/sysbuild/Kconfig
    Loaded configuration '/home/stefan/workspace/nrf/blinky/sysbuild/bmi270/build/_sysbuild/empty.conf'
    Merged configuration '/home/stefan/workspace/nrf/blinky/sysbuild/bmi270/build/_sysbuild/empty.conf'
    Configuration saved to '/home/stefan/workspace/nrf/blinky/sysbuild/bmi270/build/zephyr/.config'
    Kconfig header saved to '/home/stefan/workspace/nrf/blinky/sysbuild/bmi270/build/_sysbuild/autoconf.h'
    --
    ****************************
    * Running CMake for bmi270 *
    ****************************

    Loading Zephyr default modules (Zephyr base).
    -- Application: /home/stefan/workspace/nrf/blinky/sysbuild/bmi270
    -- CMake version: 3.21.0
    -- Found Python3: /home/stefan/ncs/toolchains/b81a7cd864/usr/local/bin/python (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter
    -- Cache files will be written to: /home/stefan/.cache/zephyr
    -- Zephyr version: 3.7.99 (/home/stefan/ncs/v2.8.0/zephyr)
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: bl5340_dvk, qualifiers: nrf5340/cpuapp/ns
    -- Found host-tools: zephyr 0.16.8 (/home/stefan/ncs/toolchains/b81a7cd864/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.8 (/home/stefan/ncs/toolchains/b81a7cd864/opt/zephyr-sdk)
    -- Found Dtc: /home/stefan/ncs/toolchains/b81a7cd864/usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6")
    -- Found BOARD.dts: /home/stefan/ncs/v2.8.0/zephyr/boards/ezurio/bl5340_dvk/bl5340_dvk_nrf5340_cpuapp_ns.dts
    -- Found devicetree overlay: /home/stefan/workspace/nrf/blinky/sysbuild/bmi270/app.overlay
    devicetree error: /home/stefan/workspace/nrf/blinky/sysbuild/bmi270/app.overlay:7 (column 1): parse error: undefined node label 'arduino_i2c'
    CMake Error at /home/stefan/ncs/v2.8.0/zephyr/cmake/modules/dts.cmake:295 (execute_process):
    execute_process failed command indexes:

    1: "Child return code: 1"

    Call Stack (most recent call first):
    /home/stefan/ncs/v2.8.0/zephyr/cmake/modules/zephyr_default.cmake:133 (include)
    /home/stefan/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
    /home/stefan/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
    CMakeLists.txt:8 (find_package)


    -- Configuring incomplete, errors occurred!
    CMake Error at cmake/modules/sysbuild_extensions.cmake:514 (message):
    CMake configure failed for Zephyr project: bmi270

    Location: /home/stefan/workspace/nrf/blinky/sysbuild/bmi270
    Call Stack (most recent call first):
    cmake/modules/sysbuild_images.cmake:20 (ExternalZephyrProject_Cmake)
    cmake/modules/sysbuild_default.cmake:20 (include)
    /home/stefan/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:75 (include)
    /home/stefan/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
    /home/stefan/ncs/v2.8.0/zephyr/share/sysbuild-package/cmake/SysbuildConfig.cmake:8 (include)
    template/CMakeLists.txt:10 (find_package)


    -- Configuring incomplete, errors occurred!
    See also "/home/stefan/workspace/nrf/blinky/sysbuild/bmi270/build/CMakeFiles/CMakeOutput.log".
    FATAL ERROR: command exited with status 1: /home/stefan/ncs/toolchains/b81a7cd864/usr/local/bin/cmake -DWEST_PYTHON=/home/stefan/ncs/toolchains/b81a7cd864/usr/local/bin/python3.12 -B/home/stefan/workspace/nrf/blinky/sysbuild/bmi270/build -GNinja -DBOARD=bl5340_dvk/nrf5340/cpuapp/ns -DNCS_TOOLCHAIN_VERSION=NONE -DCONFIG_DEBUG_OPTIMIZATIONS=y -DCONFIG_DEBUG_THREAD_INFO=y -S/home/stefan/ncs/v2.8.0/zephyr/share/sysbuild -DAPP_DIR:PATH=/home/stefan/workspace/nrf/blinky/sysbuild/bmi270

    * The terminal process terminated with exit code: 1.
    * Terminal will be reused by tasks, press any key to close it.

    * Executing task: nRF Connect: Generate config bl5340_dvk/nrf5340/cpuapp/ns for blinky/sysbuild/bmi270

    Building bmi270
    west build --build-dir /home/stefan/workspace/nrf/blinky/sysbuild/bmi270/build_1 /home/stefan/workspace/nrf/blinky/sysbuild/bmi270 --pristine --board bl5340_dvk/nrf5340/cpuapp/ns -- -DNCS_TOOLCHAIN_VERSION=NONE -DCONFIG_DEBUG_OPTIMIZATIONS=y -DCONFIG_DEBUG_THREAD_INFO=y

    -- west build: generating a build system
    Loading Zephyr module(s) (Zephyr base): sysbuild_default
    -- Found Python3: /home/stefan/ncs/toolchains/b81a7cd864/usr/local/bin/python3.12 (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter
    -- Cache files will be written to: /home/stefan/.cache/zephyr
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: bl5340_dvk, qualifiers: nrf5340/cpuapp/ns
    Parsing /home/stefan/ncs/v2.8.0/zephyr/share/sysbuild/Kconfig
    Loaded configuration '/home/stefan/workspace/nrf/blinky/sysbuild/bmi270/build_1/_sysbuild/empty.conf'
    Merged configuration '/home/stefan/workspace/nrf/blinky/sysbuild/bmi270/build_1/_sysbuild/empty.conf'
    Configuration saved to '/home/stefan/workspace/nrf/blinky/sysbuild/bmi270/build_1/zephyr/.config'
    Kconfig header saved to '/home/stefan/workspace/nrf/blinky/sysbuild/bmi270/build_1/_sysbuild/autoconf.h'
    --
    ****************************
    * Running CMake for bmi270 *
    ****************************

    Loading Zephyr default modules (Zephyr base).
    -- Application: /home/stefan/workspace/nrf/blinky/sysbuild/bmi270
    -- CMake version: 3.21.0
    -- Found Python3: /home/stefan/ncs/toolchains/b81a7cd864/usr/local/bin/python (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter
    -- Cache files will be written to: /home/stefan/.cache/zephyr
    -- Zephyr version: 3.7.99 (/home/stefan/ncs/v2.8.0/zephyr)
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: bl5340_dvk, qualifiers: nrf5340/cpuapp/ns
    -- Found host-tools: zephyr 0.16.8 (/home/stefan/ncs/toolchains/b81a7cd864/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.8 (/home/stefan/ncs/toolchains/b81a7cd864/opt/zephyr-sdk)
    -- Found Dtc: /home/stefan/ncs/toolchains/b81a7cd864/usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6")
    -- Found BOARD.dts: /home/stefan/ncs/v2.8.0/zephyr/boards/ezurio/bl5340_dvk/bl5340_dvk_nrf5340_cpuapp_ns.dts
    -- Found devicetree overlay: /home/stefan/workspace/nrf/blinky/sysbuild/bmi270/app.overlay
    devicetree error: /home/stefan/workspace/nrf/blinky/sysbuild/bmi270/app.overlay:7 (column 1): parse error: undefined node label 'arduino_i2c'
    CMake Error at /home/stefan/ncs/v2.8.0/zephyr/cmake/modules/dts.cmake:295 (execute_process):
    execute_process failed command indexes:

    1: "Child return code: 1"

    Call Stack (most recent call first):
    /home/stefan/ncs/v2.8.0/zephyr/cmake/modules/zephyr_default.cmake:133 (include)
    /home/stefan/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
    /home/stefan/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
    CMakeLists.txt:8 (find_package)


    -- Configuring incomplete, errors occurred!
    CMake Error at cmake/modules/sysbuild_extensions.cmake:514 (message):
    CMake configure failed for Zephyr project: bmi270

    Location: /home/stefan/workspace/nrf/blinky/sysbuild/bmi270
    Call Stack (most recent call first):
    cmake/modules/sysbuild_images.cmake:20 (ExternalZephyrProject_Cmake)
    cmake/modules/sysbuild_default.cmake:20 (include)
    /home/stefan/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:75 (include)
    /home/stefan/ncs/v2.8.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
    /home/stefan/ncs/v2.8.0/zephyr/share/sysbuild-package/cmake/SysbuildConfig.cmake:8 (include)
    template/CMakeLists.txt:10 (find_package)


    -- Configuring incomplete, errors occurred!
    See also "/home/stefan/workspace/nrf/blinky/sysbuild/bmi270/build_1/CMakeFiles/CMakeOutput.log".
    FATAL ERROR: command exited with status 1: /home/stefan/ncs/toolchains/b81a7cd864/usr/local/bin/cmake -DWEST_PYTHON=/home/stefan/ncs/toolchains/b81a7cd864/usr/local/bin/python3.12 -B/home/stefan/workspace/nrf/blinky/sysbuild/bmi270/build_1 -GNinja -DBOARD=bl5340_dvk/nrf5340/cpuapp/ns -DNCS_TOOLCHAIN_VERSION=NONE -DCONFIG_DEBUG_OPTIMIZATIONS=y -DCONFIG_DEBUG_THREAD_INFO=y -S/home/stefan/ncs/v2.8.0/zephyr/share/sysbuild -DAPP_DIR:PATH=/home/stefan/workspace/nrf/blinky/sysbuild/bmi270

    * The terminal process terminated with exit code: 1.
    * Terminal will be reused by tasks, press any key to close it.

  • So I would presume that your device do not have the arduino I2C overlay, so you will need to set this up yourself or use another i2c for your sensor. 

    You can see how they setup the Arduino i2c here https://github.com/nrfconnect/sdk-zephyr/blob/main/boards/nordic/nrf5340dk/nrf5340_cpuapp_common.dtsi 

    If you are not to familiar with the devicetree I would recommend that you have a look at lesson 6 here. Or if this is your first time using NCS I would highly recommend having a look at the whole course



    Regards

    Runar

Related