boilerplate.cmake not found because ZEPHYR_BASE isn't set

Hi,

I'm very confused by this error.

I have a project with the following CMakeLists.txt file

cmake_minimum_required(VERSION 3.20.0)

include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE)
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(bike_finder)

target_sources(app PRIVATE src/main.c)
//... more target sources

# NORDIC SDK APP END
zephyr_library_include_directories(.)

When the project is tried to be built at the startup of VScode, I get the following error message

When I open a terminal, I ran echo $ZEPHYR_BASE, but it came out empty.
Therefore, I go into the nRF Connect SDK folder that I'm using (v2.2.0-rc1), run source zephyr/zephyr-env.sh and then the terminal finally recognizes where ZEPHYR_BASE is.

To rebuild, I just do a dummy modification to the file (use :w since I'm using vim within vscode), and then application tries to rebuild again, but I keep the same error.

If I go to the nRF Connect extension section, I see my folder under applications, but it's followed by "no build configurations", because of this problem.

What should I do?

Parents
  • Hi,

    ZEPHYR_BASE should be set correctly if you use VS Code with the nRF Connect for VS Code extension and has selected the correct SDK and toolchain. If you go to the welcome page of the extension and Quick Setup, what is nRF Connect SDK and nRF Connect Toolchain set to?

    You can also set ZEPHYR_BASE in your environment variables. The path of this should be the zephyr directory of your nRF Connect SDK installation, so for example something like /home/ernesto/ncs/v2.1.0/zephyr.

    Best regards,

    Marte

  • Quick setup

    Welcome to nRF - Quick Setup

    Settings in workspace

    Should I replace the settings in the workspace by the absolute path?

  • from VS Code after I press build on the nrf connect extension.

  • Hi,

    Could you try using "west build" command from the terminal opened from Toolchain Manager?

    Best regards,
    Dejan

  • I just tried "west build --build-dir /home/ernesto/ncs/bike_finder/build /home/ernesto/ncs/bike_finder" from the terminal opened from the toolchain manager. I did it from /home/ernesto/ncs/bike_finder/.

    Got the same errors I copied above. Yet, doing echo $ZEPHYR_BASE still outputs .../v2.2.0-rc1/zephyr, which is correct.

  • Hi,

    You could try to do pristine build. If the same error appears, try removing build folder first and then do pristine build again.

    Best regards,
    Dejan

  • If I do pristine build from Vs code, I get the same error.
    If I delete the build directory and run the west command from terminal opened from the toolchain manager, then I get the original error I mentioned previously:

    WARNING: This looks like a fresh build and BOARD is unknown; so it probably won't work. To fix, use --board=<your-board>.
    Note: to silence the above message, run 'west config build.board_warn false'
    -- west build: generating a build system
    Loading Zephyr default modules (Zephyr base).
    -- Application: /home/ernesto/ncs/bike_finder
    -- Using NCS Toolchain 2.2.0-rc1 for building. (/home/ernesto/ncs/toolchains/v2.2.0-rc1/cmake)
    -- Found Python3: /home/ernesto/ncs/toolchains/v2.2.0-rc1/usr/local/bin/python3 (found suitable exact version "3.8.2") found components: Interpreter 
    -- Cache files will be written to: /home/ernesto/.cache/zephyr
    -- Zephyr version: 3.2.99 (/home/ernesto/ncs/v2.2.0-rc1/zephyr)
    -- Found west (found suitable version "0.14.0", minimum required is "0.7.1")
    CMake Error at /home/ernesto/ncs/v2.2.0-rc1/zephyr/cmake/modules/extensions.cmake:2520 (message):
      BOARD is not being defined on the CMake command-line, in the environment or
      by the app.
    Call Stack (most recent call first):
      /home/ernesto/ncs/v2.2.0-rc1/zephyr/cmake/modules/boards.cmake:52 (zephyr_check_cache)
      /home/ernesto/ncs/v2.2.0-rc1/zephyr/cmake/modules/zephyr_default.cmake:108 (include)
      /home/ernesto/ncs/v2.2.0-rc1/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
      /home/ernesto/ncs/v2.2.0-rc1/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
      CMakeLists.txt:6 (find_package)
    
    
    -- Configuring incomplete, errors occurred!
    FATAL ERROR: command exited with status 1: /home/ernesto/ncs/toolchains/v2.2.0-rc1/usr/local/bin/cmake -DWEST_PYTHON=/home/ernesto/ncs/toolchains/v2.2.0-rc1/usr/local/bin/python3.8 -B/home/ernesto/ncs/bike_finder/build -GNinja -S/home/ernesto/ncs/bike_finder
    

Reply
  • If I do pristine build from Vs code, I get the same error.
    If I delete the build directory and run the west command from terminal opened from the toolchain manager, then I get the original error I mentioned previously:

    WARNING: This looks like a fresh build and BOARD is unknown; so it probably won't work. To fix, use --board=<your-board>.
    Note: to silence the above message, run 'west config build.board_warn false'
    -- west build: generating a build system
    Loading Zephyr default modules (Zephyr base).
    -- Application: /home/ernesto/ncs/bike_finder
    -- Using NCS Toolchain 2.2.0-rc1 for building. (/home/ernesto/ncs/toolchains/v2.2.0-rc1/cmake)
    -- Found Python3: /home/ernesto/ncs/toolchains/v2.2.0-rc1/usr/local/bin/python3 (found suitable exact version "3.8.2") found components: Interpreter 
    -- Cache files will be written to: /home/ernesto/.cache/zephyr
    -- Zephyr version: 3.2.99 (/home/ernesto/ncs/v2.2.0-rc1/zephyr)
    -- Found west (found suitable version "0.14.0", minimum required is "0.7.1")
    CMake Error at /home/ernesto/ncs/v2.2.0-rc1/zephyr/cmake/modules/extensions.cmake:2520 (message):
      BOARD is not being defined on the CMake command-line, in the environment or
      by the app.
    Call Stack (most recent call first):
      /home/ernesto/ncs/v2.2.0-rc1/zephyr/cmake/modules/boards.cmake:52 (zephyr_check_cache)
      /home/ernesto/ncs/v2.2.0-rc1/zephyr/cmake/modules/zephyr_default.cmake:108 (include)
      /home/ernesto/ncs/v2.2.0-rc1/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
      /home/ernesto/ncs/v2.2.0-rc1/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
      CMakeLists.txt:6 (find_package)
    
    
    -- Configuring incomplete, errors occurred!
    FATAL ERROR: command exited with status 1: /home/ernesto/ncs/toolchains/v2.2.0-rc1/usr/local/bin/cmake -DWEST_PYTHON=/home/ernesto/ncs/toolchains/v2.2.0-rc1/usr/local/bin/python3.8 -B/home/ernesto/ncs/bike_finder/build -GNinja -S/home/ernesto/ncs/bike_finder
    

Children
No Data
Related