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

  • 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

  • Hi Dan

    Our devs have some follow ups: Why are you using an Intel based toolchain on Apple Silicon? Please describe how you installed the extension and try installing an Apple Silicon version of the toolchain or the universal VS code version if that's not done already. Please remove all Intel based toolchains, and then install what is needed directly from the VS code extension.

    Best regards,

    Simon

  • Same issue here. 
    Restart the whole MAC work. 

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

  • Hi Simon - I removed all old versions of the SDK and toolchain and tried again with SDK 2.7 and it works - thanks for your help!

Related