nRF Connect Installation on macOS (Manual 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

MacBook Pro 2:  Automatic installation

https://devzone.nordicsemi.com/f/nordic-q-a/88566/nrf-connect-installation-on-macos-automatic-installation/editpost?ContentTypeId=0

Linux Ubuntu:     Manual Installation

Windows 11:       Automatic installation

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

Parents
  • For the macOS manual installation process, 

    Get the nRF Connect SDK code

    It says create a folder called ncs to hold all nRF Connect SDK repositories, but doesn't specify a location to create this folder

    Where should this folder be created please?

  • Hi,

    Using the toolchain manager to install the nRF Connect SDK should work on macOS Monterey, and works well on my computer. Perhaps you can elaborate on what is not working? One important note though, is that for programming to work directly form VS Code you need to install the universal version of J-Link Software and Documentation Pack (with both Intel and ARM support in the same package).

    alwalker said:
    Where should this folder be created please?

    I do not believe there is any restrictions on that, as long as your user is allowed to read and write to/from the location that is being used.

  • Hi Einar,

    I completed the manual installation process, but encountered the same issues with installing nRF Connect SDK v2.2.0 as I did with the automatic installation, specifically the installation hanging on the memfault repository stage.

    I followed your guidance to install the universal version of the J-Link software, but I noticed this line in the nRF Connect log file when updating the toolchain after restarting Toolchain Manager:

    2022-06-03T09:55:41.967Z INFO Installed JLink version does not match the provided version (V7.58b)

    Is this the reason why the Open SEGGER J-Link button is not shown for the nRF Connect SDK v2.2.0 release for either the automatic or manual installations please?

    Also there appears to be a stage that is missed in the automatic installation process, as with the manual version I did not get the issue when I launched VS Code and selected V2.0.0 for both nRF Select SDK and nRF Connect Toolchain, I get an error saying Shell initialization conflicts nRF Connect terminal profile with a link to the following information:

    This issue may occur when opening the internal terminal with the nRF Connect profile, which sets the shell environment for the configured SDK and toolchain, but the shell initialization script (e.g. .bashrc) overrides the environment. This can happen if the ZEPHYR_BASE environment variable is set in .bashrc. If there is no need for external terminals to use this variable, we suggest removing this from .bashrc, otherwise it can be moved to .bash_profile or an equivalent script that is only loaded by login shells.

    https://nrfconnect.github.io/vscode-nrf-connect/connect/troubleshooting.html#shell-initialization-conflicts-nrf-connect-terminal-profile

    This didn't occur with the manual installation, perhaps something to look at please?

    Kind regards,

    Al

  • Hi Al,

    alwalker said:

    I followed your guidance to install the universal version of the J-Link software, but I noticed this line in the nRF Connect log file when updating the toolchain after restarting Toolchain Manager:

    2022-06-03T09:55:41.967Z INFO Installed JLink version does not match the provided version (V7.58b)

    Is this the reason why the Open SEGGER J-Link button is not shown for the nRF Connect SDK v2.2.0 release for either the automatic or manual installations please?

    I do not have an answer for this at the moment, but it has been reported and is followed up in this thread, so I recommend you follow that.

    alwalker said:

    Also there appears to be a stage that is missed in the automatic installation process, as with the manual version I did not get the issue when I launched VS Code and selected V2.0.0 for both nRF Select SDK and nRF Connect Toolchain, I get an error saying Shell initialization conflicts nRF Connect terminal profile with a link to the following information:

    This issue may occur when opening the internal terminal with the nRF Connect profile, which sets the shell environment for the configured SDK and toolchain, but the shell initialization script (e.g. .bashrc) overrides the environment. This can happen if the ZEPHYR_BASE environment variable is set in .bashrc. If there is no need for external terminals to use this variable, we suggest removing this from .bashrc, otherwise it can be moved to .bash_profile or an equivalent script that is only loaded by login shells.

    As stated here, you should not set ZEPHYR_BASE (depending on your shell that means it should not be in .bashrc nor .zshrc, for instance). 

    Einar

  • Hi Einar,

    Thanks very much, the Install J-LINK for x86 included with the nrf-command-tools-10.15.4-Darwin package installs v7.58b, which is why I've never seen the issue before with previous installations as I used this version rather than the Universal one which installs V7.66b.

    For the second issue, where are .bashrc and .bash_profile located please? I couldn't locate them when searching in Finder. As I commented, this is an issue for the automatic installation, it didn't occur with the manual installation, and I didn't set anything for ZEPHYR_BASE for either install.

    Kind regards,

    Al

  • Hi Al,

    If I remember correctly macOS Monterey use zsh by default, so then .zshrc is what you are looking fore (and not bash related config files).

    Einar

  • Hi Einar,

    I set Bash as the terminal shell for both manual and automatic installations prior to starting them. For the Mac with the automatic installation, I can’t find either .bashrc or .zshrc files. I can’t see these files on the Mac with the manual installation either.

    Kimd regards,

    Al

Reply Children
  • Hi Al,

    Aha. Did you set ZEPHYR_BASE somewhere else, then?

  • Hi Einar,

    Per the automatic installation thread, I can't find either .bashrc or .bashprofile (or the zsh equivalents) in my Home folder, only .bash_history. In that file I find several of these pairs of statements:

    echo ${ZEPHYR_BASE}
    exit

    But no indication of when they were executed.

    I haven't manually set ZEPHYR_BASE anywhere on either installation, If it's been set somewhere then it's been done by the respective installation process.

    Can I take it that the log entry regarding the J-Link version difference is for information only and can be ignored?

    I understand from the automatic installation thread that the reason why the Open SEGGER J-Link button is not shown for the nRF Connect SDK v2.2.0 release is that SEGGER Embedded Studio has been discontinued (v2.0.0 Release Notes).

    Kind regards,

    Al

  • Hi Einar,

    I installed nRF Connect SDK v2.2.0 via Toolchain Manager and from there opened Terminal and navigated to my workspace folder. I then did:

    $mkdir ncs_audio

    $cd ncs_audio

    $mkdir nrf

    $cd nrf

    $west config manifest.group-filter +nrf5340_audio

    $west update

    This is up to the end of Step 3 of your instructions. What I found is that whilst west update appears to execute ok using my GitHub user name and current valid personal access token as the password, the west config manifest.group-filter +nrf5340_audio instruction didn't appear to do anything. After I executed west update I find that the nrf folder is empty:

    Any ideas please?

    (For security, computer name changed to 'COMPUTER' and user name to 'xxxxxxxx')

    I did the Windows 11 installation which appears to have gone ok with no errors generated (I'll raise a separate ticket if I encounter any). I found that whether I used the Windows Command Prompt or Bash (both launched from SDK Connect SDK v2.0.0) and navigate to my workspace folder and execute west config manifest.group-filter +nrf5340_audio I find that a series of instructions are executed, but fails due to CongfigFile.LOCAL not being found and that I need to set WEST_CONFIG_LOCAL.

    How do I do this please?

    Kind regards,

    Al

  • Hi Al,

    alwalker said:
    After I executed west update I find that the nrf folder is empty:

    It looks like you missed a step. "west config manifest.group-filter +nrf5340_audio" is used to add audio suppor to a SDK you have already checked out. But based on what you wrote you made empty folders and never initialized them (note the command "west init -m github.com/.../sdk-nrf --mr v1.9.99-dev1" in my instructions). So what you saw is expected given this missing step.

    However, now that nRF Connect SDK 2.0.0 is out, you can do this completely differently, as there is no need to check out the 1.9.99-dev1 tag. Simply use the toolchain manger to get 2.0.0, open a terminal from the toolchain manager and that will open a terminal at the location where the SDK is installed (so you see folders like zephyr, nrf, etc). There simply type "west config manifest.group-filter +nrf5340_audio" and then "west update", and you will get the audio repositories downloaded. Note that you will be asked for credentials in order to download the LC3 codec. If you do not have access to it, simply enter dummy user name and password. If you cancel (by ctrl-C), you will abort the update and miss some repositories.

  • Thanks Einar, but I want to download the nRF5340_audio project to my workspace folder to keep al my projects organised. So I would select Open Terminal from nRF Connect SDK and then navigate to the specific folder location Home/workspace/ncs_audio/nrf/

    What should the syntax of the west init statement be in this case please? Something like this?

    west init -m github.com/nrfconnect/sdk-nrf -mr v2.0.0

    Kind regards,

    Al

Related