VS-CODE: build hangs: "Found GnuLd: ld.bfd..."

I am having a recurring problem with NFC-CONNECT: build action. It hangs when building. Gets stuck with the following message in lower-right hand corner of screen:

The procedure I've found to get around this is to cancel the build, and then open a shell in the app directory and do the following:

% rm -rf build*
% export ZEPHYR_BASE=/opt/nordic/ncs/v2.6.0/zephyr
% west build -b nrf52840dk_nrf52840 -p

I can then use the build & build pristine actions.

It might be my environment is not fully supported. The `app` is stand-alone. There is an out-of-the tree module with source i reference with the following CMakeLists.txt fragment:

cmake_minimum_required(VERSION 3.20.0)

set(my-module "${CMAKE_CURRENT_SOURCE_DIR}/../my-module")
set(EXTRA_ZEPHYR_MODULES ${my-module})

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})

This module includes (via settings) board_root, dts_root, & soc_root,  as well as source, library, and include trees picked up from cmake + kconfig variables.

The build environment: Apple M1 Mac, MacOS: 12.6.7 (Monterey), VS-Code: v1.88.1, NRF-Connect: v2024.3.25

The Welcome tab shows SDK + Toolchain: v2.6.0. (I also use stock Zephyr to compile for non-Nordic boards, but am selecting proper SDK + toolchain, and have even removed `.west` directory for stock zephyr installation). 

Sorry to keep complaining about a great tool, but it's frustrating when it stops working.

Thanks. Kent

Parents Reply Children
  • I have the same issues with sdk v2.5.3

    ➜  application git:(master) ✗ west build -b circuitdojo_feather_nrf9160_ns --pristine
    -- west build: making build dir /Users/thijsfranssen/iotsoftware/blinkyIoTboard/application/build pristine
    -- west build: generating a build system
    Loading Zephyr default modules (Zephyr base).
    -- Application: /Users/thijsfranssen/iotsoftware/blinkyIoTboard/application
    -- CMake version: 3.29.6
    -- Using NCS Toolchain 2.5.20231017.141038581733 for building. (/opt/nordic/ncs/toolchains/20d68df7e5/cmake)
    CMake Deprecation Warning at /Users/thijsfranssen/iotsoftware/blinkyIoTboard/external/zephyr/cmake/modules/FindDeprecated.cmake:121 (message):
      'PYTHON_PREFER' variable is deprecated.  Please use Python3_EXECUTABLE
      instead.
    Call Stack (most recent call first):
      /Users/thijsfranssen/iotsoftware/blinkyIoTboard/external/zephyr/cmake/modules/python.cmake:16 (find_package)
      /Users/thijsfranssen/iotsoftware/blinkyIoTboard/external/zephyr/cmake/modules/zephyr_default.cmake:129 (include)
      /Users/thijsfranssen/iotsoftware/blinkyIoTboard/external/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
      /Users/thijsfranssen/iotsoftware/blinkyIoTboard/external/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
      CMakeLists.txt:4 (find_package)
    
    
    -- Found Python3: /opt/nordic/ncs/toolchains/20d68df7e5/bin/python3 (found suitable version "3.9.6", minimum required is "3.8") found components: Interpreter
    -- Cache files will be written to: /Users/thijsfranssen/Library/Caches/zephyr
    -- Zephyr version: 3.4.99 (/Users/thijsfranssen/iotsoftware/blinkyIoTboard/external/zephyr)
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: circuitdojo_feather_nrf9160_ns
    -- Found host-tools: zephyr 0.16.1 (/opt/nordic/ncs/toolchains/20d68df7e5/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.1 (/opt/nordic/ncs/toolchains/20d68df7e5/opt/zephyr-sdk)
    -- Found Dtc: /opt/nordic/ncs/toolchains/20d68df7e5/bin/dtc (found suitable version "1.6.1", minimum required is "1.4.6")
    -- Found BOARD.dts: /Users/thijsfranssen/iotsoftware/blinkyIoTboard/external/zephyr/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160_ns.dts
    -- Generated zephyr.dts: /Users/thijsfranssen/iotsoftware/blinkyIoTboard/application/build/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: /Users/thijsfranssen/iotsoftware/blinkyIoTboard/application/build/zephyr/include/generated/devicetree_generated.h
    -- Including generated dts.cmake file: /Users/thijsfranssen/iotsoftware/blinkyIoTboard/application/build/zephyr/dts.cmake
    Parsing /Users/thijsfranssen/iotsoftware/blinkyIoTboard/external/zephyr/Kconfig
    Loaded configuration '/Users/thijsfranssen/iotsoftware/blinkyIoTboard/external/zephyr/boards/arm/circuitdojo_feather_nrf9160/circuitdojo_feather_nrf9160_ns_defconfig'
    Merged configuration '/Users/thijsfranssen/iotsoftware/blinkyIoTboard/application/prj.conf'
    Configuration saved to '/Users/thijsfranssen/iotsoftware/blinkyIoTboard/application/build/zephyr/.config'
    Kconfig header saved to '/Users/thijsfranssen/iotsoftware/blinkyIoTboard/application/build/zephyr/include/generated/autoconf.h'
    -- Found GnuLd: /opt/nordic/ncs/toolchains/20d68df7e5/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd (found version "2.38")

    west,yml

    manifest:
      self:
        path: application
      remotes:
        - name: nrf
          url-base: https://github.com/nrfconnect
      projects:
        - name: sdk-nrf
          remote: nrf
          path: nrf
          revision: v2.5.3
          import:
            path-prefix: external
          clone-depth: 1
    

  • If I run west build -b inside the terminal in VSCode is does not work. If I run the exact same command in another terminal window it works fine. 

    I guess it has to do something with the env variables

  • Same issue here. 
    Restart the whole MAC work. 

    However building with "optimized for debugger" always trigger the command.

Related