nRF Connect Installation on macOS (Automatic Installation)

I have not been able to create a stable development environment in macOS Monterey using the automatic installation process. 

In order to better understand and document the issues, I am going to do four separate installations for comparison.

MacBook Pro 1:  Manual Installation            

https://devzone.nordicsemi.com/f/nordic-q-a/88500/nrf-connect-installation-on-macos-manual-installation

MacBook Pro 2:  Automatic installation

Linux Ubuntu:     Manual Installation

Windows 11:       Automatic installation

This thread will cover the second case, the automatic installation on macOS. I will create separate support tickets for the other cases and provide links.

Parents
  • Hi I have had the exact same experience on every point. Waited hours for memfault to finish to no avail. I could see the git fetch command actually running, but not performing any CPU usage.

    I still have the Shell initialization conflicts nRF Connect terminal profile issue. Also performed the automatic install (followed by update SDK and update toolchain). I did not put any environment variables anywhere, in fact opening a shell the environment is pristine with nothing related to zephyr or nordic.

  • I actually managed to get everything working. I still get the warning about the terminal profile, though it seems to be benign.

    The only thing not working is KConfig which gives the error "Unable to find Kconfig information to display. Please select a Kconfig file first.", although guiconfig and menuconfig works.

  • Yes, I've had KConfig errors with previous attempts at doing the automatic installation process on macOS, as well as CMake errors. So far the macOS manual installation and Win 11 automatic installation appear to be ok. Still have Linux to try.

  • Hi,

    We have had some other reports about the memfault issue as well, and the developers have been notified of it.

    Regarding the shell initialization issue the developers have been unable to reproduce this so far. MacOS use zsh as the standard shell, so it is possible that the instructions to look for bashrc or bash_profile on macOS will not catch the issue, as it is not set there. However, regardless of what the inherited environment variables were, the extension will set the variables that fit with the active toolchain and SDK. Issues might only raise within the integrated when the "nRF Connect" terminal profile is used. You can check the variables by typing env and see if something looks incorrect there. However, if you rarely use the integrated terminal to invoke west or cmake then the error message can just be ignored.

    Did you build the project successfully before the Kconfig error? This error could be given if the build is broken or incomplete. The Kconfig extension is not installed in the support information, so it is not possible to get information that might help with this error from that. If you are still seeing the error, please generate new support information.

    Best regards,

    Marte

Reply
  • Hi,

    We have had some other reports about the memfault issue as well, and the developers have been notified of it.

    Regarding the shell initialization issue the developers have been unable to reproduce this so far. MacOS use zsh as the standard shell, so it is possible that the instructions to look for bashrc or bash_profile on macOS will not catch the issue, as it is not set there. However, regardless of what the inherited environment variables were, the extension will set the variables that fit with the active toolchain and SDK. Issues might only raise within the integrated when the "nRF Connect" terminal profile is used. You can check the variables by typing env and see if something looks incorrect there. However, if you rarely use the integrated terminal to invoke west or cmake then the error message can just be ignored.

    Did you build the project successfully before the Kconfig error? This error could be given if the build is broken or incomplete. The Kconfig extension is not installed in the support information, so it is not possible to get information that might help with this error from that. If you are still seeing the error, please generate new support information.

    Best regards,

    Marte

Children
  • Hi Marte,

    Thanks very much, this is the result from executing env when opening Terminal from the nRF Connect SDK:

    220610 macOS Bash Environment.rtf

    (Computer and user names anonymised for security reasons)

    Is there anything that you wouldn't expect to see please?

    I had problems with Kconfig previously using the zsh shell, so I don't think this is related to which terminal shell I'm using.Please see existing open ticket:

    https://devzone.nordicsemi.com/f/nordic-q-a/85101/implementing-developing-bluetooth-low-energy-products-using-nrf-connect-video-on-nrf5340-dk

    My current project is the LE Audio demo on the nRF5340 Audio DK board, which I'm executing from Windows Command Prompt/Bash using the supplied Python script. I am focussed on getting this demo up and running (so far only achieved on Windows 11, but with glitching audio transmission/reception) before I go back to developing in VS Code.

    Kind regards,

    Al

  • Hi,

    Are you able to build the project successfully? Because if not, that might explain the Kconfig error.

    Best regard,

    Marte

  • Hi Yes I can build and run successfully.

    In fact the guiconfig/menuconfig works fine as well. I do get that issue below, which might be related.

    The file definitely exists and changes to it and doing pristine build definitely take effect.

    It is only KConfig itself (the Nrf provided built-in editor) not working on M1 Mac.

  • Hi ,

    Can you generate support information in VS Code so I can forward that to the developers looking into this? Thank you.

    Best regards,

    Marte

  • [08:35:37] west build --build-dir /Users/pieter/Programming/nordic/littlefs/littlefs/build /Users/pieter/Programming/nordic/littlefs/littlefs
    [08:35:46] Success.
    IMPORTANT: The data below could contain sensitive or confidential information about your environment.
    If you do not wish this to be seen by others, please make sure to remove it before sharing.
    
    For help and support, visit the Nordic DevZone at https://devzone.nordicsemi.com/.
    
    {
      "platform": {
        "os": "darwin",
        "osVersion": "Darwin Kernel Version 21.5.0: Tue Apr 26 21:08:37 PDT 2022; root:xnu-8020.121.3~4/RELEASE_ARM64_T6000",
        "osKernel": "21.5.0",
        "vscode": "1.68.0",
        "electron": "17.4.7",
        "node": "v16.13.0"
      },
      "system": {
        "date": "2022-06-15T09:15:38.751Z",
        "vscodeRoot": "/Applications/Visual Studio Code.app/Contents/Resources/app",
        "nrfConnectForDesktopInstalled": true,
        "vscodeUptime": "02:50:37",
        "osUptime": "26:06:08",
        "cpu": {
          "model": "Apple M1 Pro",
          "speed": "24 MHz",
          "count": 4
        },
        "memory": {
          "total": "16.00 GB",
          "free": "0.12 GB"
        }
      },
      "workspace": {
        "name": "littlefs",
        "workspaceFile": null,
        "folders": [
          "/Users/pieter/Programming/nordic/littlefs/littlefs"
        ]
      },
      "extensions": {
        "internal": {
          "nordic-semiconductor.nrf-connect": {
            "version": "2022.6.142",
            "path": "/Users/pieter/.vscode/extensions/nordic-semiconductor.nrf-connect-2022.6.142",
            "isActive": true
          },
          "nordic-semiconductor.nrf-terminal": {
            "version": "2022.4.61",
            "path": "/Users/pieter/.vscode/extensions/nordic-semiconductor.nrf-terminal-2022.4.61",
            "isActive": true
          },
          "nordic-semiconductor.devicetree": null,
          "nordic-semiconductor.kconfig": null
        },
        "external": {
          "marus25.cortex-debug": "1.4.4",
          "ms-vscode.cpptools": "1.10.6",
          "ms-vscode.js-debug": "1.68.0",
          "ms-vscode.js-debug-companion": "1.0.18",
          "ms-vscode.vscode-js-profile-table": "1.0.2",
          "ms-vscode.references-view": "1.0.0",
          "aaron-bond.better-comments": "3.0.0",
          "alex-young.pm2-explorer": "0.0.7",
          "bajdzis.vscode-database": "2.2.3",
          "bbenoist.QML": "1.0.0",
          "ckolkman.vscode-postgres": "1.4.0",
          "cschlosser.doxdocgen": "1.4.0",
          "dan-c-underwood.arm": "1.7.4",
          "dbaeumer.vscode-eslint": "2.2.2",
          "eamodio.gitlens": "12.1.0",
          "eg2.vscode-npm-script": "0.3.25",
          "esbenp.prettier-vscode": "9.5.0",
          "flowtype.flow-for-vscode": "2.1.0",
          "formulahendry.auto-rename-tag": "0.1.10",
          "formulahendry.code-runner": "0.11.8",
          "formulahendry.terminal": "0.0.10",
          "gamunu.vscode-yarn": "2.1.0",
          "GitHub.vscode-pull-request-github": "0.44.0",
          "jdinhlife.gruvbox": "1.7.0",
          "jeff-hykin.better-cpp-syntax": "1.15.16",
          "josetr.cmake-language-support-vscode": "0.0.4",
          "meganrogge.template-string-converter": "0.6.0",
          "mongodb.mongodb-vscode": "0.9.3",
          "ms-azuretools.vscode-docker": "1.22.0",
          "ms-dotnettools.csharp": "1.25.0",
          "ms-dotnettools.vscode-dotnet-runtime": "1.5.0",
          "ms-vscode-remote.remote-containers": "0.238.2",
          "ms-vscode-remote.remote-ssh": "0.82.1",
          "ms-vscode-remote.remote-ssh-edit": "0.80.0",
          "ms-vscode-remote.remote-wsl": "0.66.3",
          "ms-vscode.cmake-tools": "1.11.26",
          "ms-vscode.cpptools-extension-pack": "1.2.0",
          "ms-vscode.cpptools-themes": "1.0.0",
          "ms-vscode.makefile-tools": "0.5.0",
          "ms-vscode.vscode-embedded-tools": "0.1.1",
          "ms-vscode.vscode-serial-monitor": "0.1.0",
          "ms-vsliveshare.vsliveshare": "1.0.5615",
          "ms-vsliveshare.vsliveshare-audio": "0.1.91",
          "naumovs.color-highlight": "2.5.0",
          "ritwickdey.LiveServer": "5.7.5",
          "searKing.preview-vscode": "2.2.5",
          "shardulm94.trailing-spaces": "0.3.1",
          "solnurkarim.html-to-css-autocompletion": "1.1.2",
          "spmeesseman.vscode-taskexplorer": "2.9.1",
          "sporiley.css-auto-prefix": "0.1.7",
          "streetsidesoftware.code-spell-checker": "2.2.4",
          "Tobermory.es6-string-html": "2.12.0",
          "tonka3000.qtvsctools": "0.11.0",
          "trond-snekvik.gnu-mapfiles": "1.1.0",
          "twxs.cmake": "0.0.17",
          "VisualStudioExptTeam.vscodeintellicode": "1.2.21",
          "vknabel.vscode-swiftformat": "1.5.1",
          "voldemortensen.rainbow-tags": "0.4.1",
          "vscode-icons-team.vscode-icons": "11.12.0",
          "vscodevim.vim": "1.22.2",
          "wayou.vscode-todo-highlight": "1.0.5",
          "xabikos.JavaScriptSnippets": "1.8.0",
          "Zignd.html-css-class-completion": "1.20.0"
        }
      },
      "tools": {
        "/Applications/SEGGER/JLink/JLinkExe": "7.66b",
        "/usr/local/bin/nrfjprog": "10.16.0",
        "nrfutil": "Not found",
        "/opt/nordic/ncs/toolchains/v2.0.0/bin/cmake": "3.20.5",
        "/opt/nordic/ncs/toolchains/v2.0.0/bin/west": "0.13.1",
        "/opt/nordic/ncs/toolchains/v2.0.0/bin/python3": "3.9.6",
        "/opt/nordic/ncs/toolchains/v2.0.0/bin/ninja": "1.10.2",
        "/opt/nordic/ncs/toolchains/v2.0.0/bin/gperf": "3.1",
        "/opt/nordic/ncs/toolchains/v2.0.0/bin/dtc": "1.6.1",
        "/opt/nordic/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc": "0.14.1",
        "/opt/nordic/ncs/toolchains/v2.0.0/bin/gn": "2039",
        "/opt/nordic/ncs/toolchains/v2.0.0/bin/git": "2.32.0"
      },
      "sdks": [
        {
          "version": "2.0.0",
          "path": "/opt/nordic/ncs/v2.0.0"
        }
      ],
      "toolchains": [
        {
          "version": "2.0.0",
          "path": "/opt/nordic/ncs/toolchains/v2.0.0"
        }
      ],
      "connectedDevices": [],
      "deviceProviders": [
        "nrfjprog"
      ],
      "config": {
        "nordic-semiconductor.nrf-connect": {
          "topdir": "${nrf-connect.sdk:2.0.0}",
          "toolchain": {
            "path": "${nrf-connect.toolchain:2.0.0}"
          },
          "ozonePath": "",
          "applications": [
            "/Users/pieter/Programming/nordic/littlefs/littlefs"
          ],
          "applicationOptions": {},
          "kconfig": {
            "interface": "kconfig"
          },
          "welcome": {
            "showOnStartup": false
          },
          "west": {
            "env": {
              "$base": "terminal"
            }
          },
          "boardRoots": [
            "${workspaceFolder}"
          ],
          "enableTelemetry": true,
          "taskBindings": {}
        },
        "nordic-semiconductor.nrf-terminal": {
          "terminalMode": "character"
        },
        "nordic-semiconductor.devicetree": {
          "modules": [
            "${zephyrBase}",
            "${zephyrBase}/../nrf",
            "."
          ],
          "zephyr": "",
          "ctxFile": "",
          "defaultBoard": ""
        },
        "nordic-semiconductor.kconfig": {
          "root": "",
          "env": {},
          "cfiles": true,
          "disable": false,
          "zephyr": {
            "base": ""
          },
          "python": "/opt/homebrew/bin/python3",
          "liveValue": true
        },
        "marus25.cortex-debug": {
          "armToolchainPath": null,
          "armToolchainPrefix": "arm-none-eabi",
          "gdbPath": null,
          "objdumpPath": null,
          "JLinkGDBServerPath": null,
          "openocdPath": null,
          "pyocdPath": null,
          "PEGDBServerPath": null,
          "stutilPath": null,
          "stlinkPath": null,
          "stm32cubeprogrammer": null,
          "enableTelemetry": true,
          "flattenAnonymous": false,
          "registerUseNaturalFormat": true,
          "variableUseNaturalFormat": true,
          "dbgServerLogfile": null,
          "showRTOS": true,
          "showDevDebugOutput": "none"
        }
      },
      "environment": {
        "westExe": "/opt/nordic/ncs/toolchains/v2.0.0/bin/west",
        "westEnv": {
          "ELECTRON_RUN_AS_NODE": "1",
          "GIT_EXEC_PATH": "/opt/nordic/ncs/toolchains/v2.0.0/Cellar/git/2.32.0_1/libexec/git-core",
          "HOME": "/Users/pieter",
          "PATH": "/opt/nordic/ncs/toolchains/v2.0.0/bin:/opt/nordic/ncs/toolchains/v2.0.0/opt/bin:/opt/nordic/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin:/opt/nordic/ncs/toolchains/v2.0.0/arm-zephyr-eabi/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin",
          "ZEPHYR_BASE": "/opt/nordic/ncs/v2.0.0/zephyr",
          "ZEPHYR_TOOLCHAIN_VARIANT": "zephyr",
          "ZEPHYR_SDK_INSTALL_DIR": "/opt/nordic/ncs/toolchains/v2.0.0/opt/zephyr-sdk",
          "USER": "pieter"
        },
        "inherited": {
          "ELECTRON_RUN_AS_NODE": "1",
          "HOME": "/Users/pieter",
          "PATH": "/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin",
          "USER": "pieter"
        },
        "toolchainPath": "/opt/nordic/ncs/toolchains/v2.0.0",
        "toolchainBinPath": "/opt/nordic/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin",
        "toolchainVersion": "2.0.0"
      },
      "terminal": {
        "shell": null,
        "defaultProfile": null
      }
    }
    
    

    It may be important to also let you know the NRF icon in the side bar disappeared after yesterday's update. Reverting did not restore it. The Nrf functions do show up in the debug and run icon however. See screenshot below:

Related