This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Installing nRF Connect for Desktop on macOS with APFS file system,?

Folks,

System Info: MacBook Pro (10,1; 15" Retina, Early 2013), Running macOS 10.15.6 "Catalina", with 500GB SSD, formatted with APFS, into a RO system partition and a R/W data partition.

I have gone through multiple sessions of attempting to install Nordic Connect for Desktop on the above system using both the nRF Connect app, Getting stated Assistant (official, v1.0.8) and the manual procedure documented online.  Here are some observations about that process:

  • Using the Getting Started Assistant, Section 1 proceeds without problem and all "Verify" tests yield positive results.
  • GSA. Section 2, is where troubles start:
    • pip3 install west runs fine (or appears to).
    • Actually a more detailed version of this command and checking afterwards reveals a potential problem.  Because of the read-only setting of the system partition, the installer script for west doesn't install it for all users in /.local/bin/ or /bin/sh/ but rather in /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages.
    • Subsequently, west works just fine when invoked from the command line, but when run from inside other scripts, those scripts fail to find the executable.  (Adding this directory to the PATH search path appeared to solve this in some cases of west calls inside other scripts, but I did not test this exhaustively)
    • Now (with or without adding to the PATH variable), all of the "Verify" button presses in the other GSA Section 2 steps yield red /bin/sh: west: command not found responses, even though the command lines in each step appear to have functioned correctly.
  • GSA Section 3 proceeded without problem to download and install Segger Embedded Studio.
  • GSA Section 4, setting Tools > Options > nRF Connect tab settings were done without problem (with the appropriate change to the actual path for west).  
    • In the next step, Select File > Open nRF Connect SDK Project, these settings were tried repeatedly for multiple boards and the asset tracker sample app, but...
    • ...in all cases, when the "Click OK to open the project" was done and the configure and build scripts were run, they would fail in multiple and curious ways

Questions:

  1. Has anyone succeeded in installing nRF Connect for Desktop on macOS Catalina (or a Big Sur beta) with an APFS-formatted system disk?  If so, what do I need to do to get around the above listed issues?
  2. Out of curiosity, when I've successfully completed this installation, do I have a full "base" installation of Zephyr (i.e., without all the optional modules), or do I need to go back and complete the Zephyr installation?

TIA,

Mike

Parents
  • Hi Mike,

    Has anyone succeeded in installing nRF Connect for Desktop on macOS Catalina (or a Big Sur beta) with an APFS-formatted system disk?  If so, what do I need to do to get around the above listed issues?

    You can see from the error that there is a problem with west not being in the path. I also had issues with this, but got it working by installing (and managing) python via pyenv, as described here.

    Out of curiosity, when I've successfully completed this installation, do I have a full "base" installation of Zephyr (i.e., without all the optional modules), or do I need to go back and complete the Zephyr installation?

    Yes. If you follow the guide you will check out all repositories that are needed, including the full Zephyr repo. That is all handled for you by the west tool. (For instance, "west init -m github.com/.../sdk-nrf --mr v1.3.0" will check out the full nRF Connect SDK 1.3, including Zephyr, mcuboot and a large number of other repositories).

    Einar

  • Many thanks, Einar.  Will give this a shot and see how it works.

    Have passed your Python3 installation recommendations along to several friends who are heavy Python aficionados and teachers.

    Mike

  • OK, reinstalled my Python 3.8.5 environment using pyenv as advised.  Got further, but still had the following issues:

    1. Had to reboot to get the new Python environment to work properly.  Simply starting a new terminal window was insufficient.
    2. Section 2 of Getting Started Assistant verifications still fail; west is not installed in /bin/sh.  No matter.
    3. Got all the way to the final step of opening an NRF Connect SDK project and got the following error dialog.  What setup stage, etc., am I missing?

    Thanks,

    Mike

  • Hi Mike,

    I do not immediately see what the problem is here. Did you make sure to select the non-secure when opening the project (board ending with "ns")? Which NCS version are you using? Does building from the command line work ("west build -b nrf9160dk_nrf9160ns")?

    Einar

Reply Children
  • Thanks for the quick response, Einar.  Responding to your comments:

    • non-secure?  I only see four sample applications: asset_tracker, connectivity_bridge, nrf_desktop, and serial_lte_modem, none with an ns suffix.

    • NCS version? Keep downloading the latest.  The verify step in the Getting Started Assistant reports "nrf_connect_sdk-0.1.5-1 verified successfully"

    • Building from the command line? Your suggestion, "west build -b nrf9160dk_nrf9160ns", fails immediately with:
      mike@Mikes-MacBook-Pro-10-1 ~ % west build -b nrf9160dk_nrf9160ns 
      usage: west [-h] [-z ZEPHYR_BASE] [-v] [-V] <command> ...
      west: error: argument <command>: invalid choice: 'build' (choose from 'init', 'update', 'list', 'manifest', 'diff', 'status', 'forall', 'help', 'config', 'topdir', 'selfupdate')
      mike@Mikes-MacBook-Pro-10-1 ~ % west -V
      West version: v0.7.3
      mike@Mikes-MacBook-Pro-10-1 ~ % 
      That is, "build" appears not to be a legal west command. Also, there is no "nrf9160dk_nrf9160ns", board, but there is a "nrf9160dk_nrf9160 board.

    Currently at a standstill.  Any hints?  Diagnostics I can run?

    Mike

  • Hi Mike,

    Mike Wirth said:
    non-secure?  I only see four sample applications: asset_tracker, connectivity_bridge, nrf_desktop, and serial_lte_modem, none with an ns suffix.

    The project does not specify non-secure, but you must select that for the board. Any project using the LTE modem must be none-secure, i.e. you must select the board ending with "ns" (nrf9160dk_nrf9160ns). From Segger Embedded Studio you do this when opening the project, as you can see here:

    Mike Wirth said:
    NCS version? Keep downloading the latest.  The verify step in the Getting Started Assistant reports "nrf_connect_sdk-0.1.5-1 verified successfully"

    The NCS version is not linked directly to the getting started assistent. That is controlled by thich nrf tag you check out like this (from the "Clone the nRF Connect SDK" section of the getting started assistant:

    cd <sourcecode_root>/ncs/nrf
    git checkout <ncs_tag>
    west update

    Which NCS tag did you use here?

    Mike Wirth said:
    Building from the command line?

    I should have specified more clearly. To build from the command line you need to (from the same shell):

    1. Run <ncs>/zephyr/zephyr-env.sh
    2. Navigate to the folder of the project you want to build, e.g. "cd nrf/applications/asset_tracker"
    3. call "west build -b nrf9160dk_nrf9160ns" to build the project (you can optionally add --pristine to clean before you build if there is any problems.
    Mike Wirth said:
    Any hints?  Diagnostics I can run?

    If everything was correctly configured the asset tracker should build correctly when you do the above and build form the command line. If not, we need to look at the output from the build process to try to understand what the problem is. In that case it is easier to stick with the command line to understand what happens. Please upload the full build log in that case.

    Einar

  • Einar, et al,

    Took a little extra time before replying.  Did a careful manual installation of nRF Connect for Desktop on my MacBook Pro (details at the very start of this thread).  Here are the results:

    • Used the online instructions here
    • Which starts by referring to the Zephyr Getting Started instructions here.
    • Several errors and ambiguities exist in these instructions:
      • How much of the Zephyr Getting Started steps need to be executed?  Not clear. (In today's exercise, I completed all of the steps through the end, testing building and flashing a sample Zephyr app, Blinky.)
      • In the initial "Installing NCS" page, the following caution is contained: 
        ...you must install version 9-2019-q4-major of the GNU Arm Embedded Toolchain
      • Unfortunately the link contained in this sentence (and another one nearby) point to the 9-2019-q2, not q4, version of the toolchain.  Don't know if this is a critical factor, but corrected the toolchain release I installed in today's exercise.
    • As noted, I completed all the steps in the Zephyr Getting Started Guide.  Did a test build of the Blinky sample app (as well as a couple others) without any serious issues, flashed an nRF52 DK and verified the operation of the code.
    • A complete console log for this first part of the NCS installation is attachedNCS Installation Log 201005.txt
    • Here's the build and flash of Blinky:
      Last login: Mon Oct  5 15:26:57 on ttys001
      mike@Mikes-MacBook-Pro-10-1 ~ % echo $ZEPHYR_TOOLCHAIN_VARIANT
      gnuarmemb
      mike@Mikes-MacBook-Pro-10-1 ~ % cd ~/zephyrproject/zephyr 
      mike@Mikes-MacBook-Pro-10-1 zephyr % west build -p auto -b nrf52840dongle_nrf52840 samples/basic/blinky 
      -- west build: generating a build system
      Including boilerplate (Zephyr base): /Users/mike/zephyrproject/zephyr/cmake/app/boilerplate.cmake
      -- Application: /Users/mike/zephyrproject/zephyr/samples/basic/blinky
      -- Zephyr version: 2.4.99 (/Users/mike/zephyrproject/zephyr)
      -- Found Python3: /Users/mike/.pyenv/versions/3.8.5/bin/python3.8 (found suitable exact version "3.8.5") found components: Interpreter 
      -- Found west (found suitable version "0.8.0", minimum required is "0.7.1")
      -- Board: nrf52840dongle_nrf52840
      -- Cache files will be written to: /Users/mike/Library/Caches/zephyr
      -- Found dtc: /usr/local/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")
      -- Found toolchain: gnuarmemb (/Users/mike/gnuarmemb)
      -- Found BOARD.dts: /Users/mike/zephyrproject/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840.dts
      -- Generated zephyr.dts: /Users/mike/zephyrproject/zephyr/build/zephyr/zephyr.dts
      -- Generated devicetree_unfixed.h: /Users/mike/zephyrproject/zephyr/build/zephyr/include/generated/devicetree_unfixed.h
      Parsing /Users/mike/zephyrproject/zephyr/Kconfig
      Loaded configuration '/Users/mike/zephyrproject/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840_defconfig'
      Merged configuration '/Users/mike/zephyrproject/zephyr/samples/basic/blinky/prj.conf'
      Configuration saved to '/Users/mike/zephyrproject/zephyr/build/zephyr/.config'
      Kconfig header saved to '/Users/mike/zephyrproject/zephyr/build/zephyr/include/generated/autoconf.h'
      -- The C compiler identification is GNU 9.2.1
      -- The CXX compiler identification is GNU 9.2.1
      -- The ASM compiler identification is GNU
      -- Found assembler: /Users/mike/gnuarmemb/bin/arm-none-eabi-gcc
      -- Configuring done
      -- Generating done
      -- Build files have been written to: /Users/mike/zephyrproject/zephyr/build
      -- west build: building application
      [1/129] Preparing syscall dependency handling
      
      [124/129] Linking C executable zephyr/zephyr_prebuilt.elf
      Memory region         Used Size  Region Size  %age Used
                 FLASH:       13316 B      1020 KB      1.27%
                  SRAM:          4 KB       256 KB      1.56%
              IDT_LIST:          56 B         2 KB      2.73%
      [129/129] Linking C executable zephyr/zephyr.elf
      mike@Mikes-MacBook-Pro-10-1 zephyr % 
      
      
      
      
      
      
      
      
      
      
    • So far, so good!
    • Went back to the NCS installation page
    • SES was already installed. No installation necessary.  But note: I get this warning each time I start it up.  Take the "No to all" branch
    • Went through the Environment Variable setting tab for Tools | Options | nRF Connect and verified all directory paths.
    • Invoked the menu command, File | Open nRF Connect Project and set the fields as follows:
    • Clicked the OK button, and got the following error dialog: 

    So it looks like the problem is on the NCS side and not the Zephyr side.  Next step?

    Thanks,

    Mike

  • Hi Mike,

    You cannot build the nRF91 Asset Tracker project for the nrf52840 dongle, which you do here:

    So that this fails is expected. If you want to build the asset tracker, then you must select the nRF91 (non-secure) board, as I showed in my previous post.

    If you want to build a sample for the nRF52840 dongle, then you must build a sample that works for that. For instance, to build PWM Blinky sample for the nRF52840 dongle you do this:

  • Einar,

    Thanks.  This is a very useful clarification.  It's obvious that attempting to build a sample app for an incompatible board isn't going to work.  But it certainly would be useful if the build process would fail in a way (especially for the new user) that isn't so obscure and provided more of a hint on how to rectify the problem.  (Does this indicate a need for better documentation.)

    Having said all of that, I'm not sure we've found the root of my problem yet.  Here's what I tried:

    1. I built a sample, Blinky_pwm (from the zephyr code repo) with the Nordic nRF52840 Dongle.  Here are the nRF Connect Options I used:

      The make process (i.e., "opening the nRF Connect project) worked fine and build proceeded fine.  The final linking failed because the module "elftools" was missing (but I presume that can be readily corrected.-- how?)
    2. I then attempted to build the asset tracker sample app (from the zephyr repo, not the ccs file tree), much as you suggested in one of your earlier replies, using the "ns" variant of the board name, as in:

      This attempt, however, produced all of the kinds of make errors I've seen before and posted this dialog:


    3. Then, just for fun, I attempted this same build process, but from the command line.  This time the process worked! Here's the log:
      Last login: Tue Oct  6 00:25:24 on console
      mike@Mikes-MacBook-Pro-10-1 ~ % west build -b nrf9160dk_nrf9160ns 
      usage: west [-h] [-z ZEPHYR_BASE] [-v] [-V] <command> ...
      west: error: argument <command>: invalid choice: 'build' (choose from 'init', 'update', 'list', 'manifest', 'diff', 'status', 'forall', 'help', 'config', 'topdir', 'selfupdate')
      mike@Mikes-MacBook-Pro-10-1 ~ % cd ~/ncs
      mike@Mikes-MacBook-Pro-10-1 ncs % west build -b nrf9160dk_nrf9160ns 
      ERROR: source directory "." does not contain a CMakeLists.txt; is this really what you want to build? (Use -s SOURCE_DIR to specify the application source directory)
      FATAL ERROR: refusing to proceed without --force due to above error
      mike@Mikes-MacBook-Pro-10-1 ncs % cd nrf/applications/asset_tracker 
      mike@Mikes-MacBook-Pro-10-1 asset_tracker % ls -al
      total 104
      drwxr-xr-x  15 mike  staff    480 Oct  6 16:54 .
      drwxr-xr-x   6 mike  staff    192 Oct  5 16:44 ..
      -rw-r--r--   1 mike  staff   1182 Oct  5 16:44 CMakeLists.txt
      -rw-r--r--   1 mike  staff  11472 Oct  5 16:44 Kconfig
      -rw-r--r--   1 mike  staff  10453 Oct  5 16:44 README.rst
      drwxr-xr-x   9 mike  staff    288 Oct  5 18:13 build_nrf52840dongle_nrf52840
      drwxr-xr-x   9 mike  staff    288 Oct  6 17:05 build_nrf9160dk_nrf9160ns
      drwxr-xr-x   3 mike  staff     96 Oct  5 16:44 configuration
      -rw-r--r--   1 mike  staff    919 Oct  5 16:44 lwm2m_carrier_overlay.conf
      -rw-r--r--   1 mike  staff   2490 Oct  5 16:44 prj.conf
      -rw-r--r--   1 mike  staff   2110 Oct  5 16:44 prj_qemu_x86.conf
      -rw-r--r--   1 mike  staff   3065 Oct  5 16:44 prj_thingy91_nrf9160ns.conf
      -rw-r--r--   1 mike  staff    214 Oct  5 16:44 sample.yaml
      -rw-r--r--   1 mike  staff    228 Oct  5 16:44 spm.conf
      drwxr-xr-x  11 mike  staff    352 Oct  5 16:44 src
      mike@Mikes-MacBook-Pro-10-1 asset_tracker % west build -b nrf9160dk_nrf9160ns 
      -- west build: generating a build system
      Including boilerplate (Zephyr base): /Users/mike/ncs/zephyr/cmake/app/boilerplate.cmake
      -- Application: /Users/mike/ncs/nrf/applications/asset_tracker
      -- Zephyr version: 2.3.99 (/Users/mike/ncs/zephyr)
      -- Found Python3: /Users/mike/.pyenv/versions/3.8.5/bin/python3.8 (found suitable exact version "3.8.5") found components: Interpreter 
      -- Found west: /Users/mike/.pyenv/versions/3.8.5/bin/west (found suitable version "0.8.0", minimum required is "0.7.1")
      -- Board: nrf9160dk_nrf9160ns
      -- Found dtc: /usr/local/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")
      -- Found toolchain: gnuarmemb (/Users/mike/gnuarmemb)
      -- Found BOARD.dts: /Users/mike/ncs/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160ns.dts
      nrf9160dk_nrf9160ns.dts.pre.tmp:358.32-362.5: Warning (simple_bus_reg): /soc/cryptocell-sw: missing or empty reg/ranges property
      nrf9160dk_nrf9160ns.dts.pre.tmp:57.42-69.3: Warning (unique_unit_address_if_enabled): /soc/peripheral@40000000/flash-controller@39000: duplicate unit-address (also used in node /soc/peripheral@40000000/kmu@39000)
      nrf9160dk_nrf9160ns.dts.pre.tmp:306.19-312.3: Warning (unique_unit_address_if_enabled): /soc/peripheral@40000000/clock@5000: duplicate unit-address (also used in node /soc/peripheral@40000000/power@5000)
      -- Generated zephyr.dts: /Users/mike/ncs/nrf/applications/asset_tracker/build/zephyr/zephyr.dts
      -- Generated devicetree_unfixed.h: /Users/mike/ncs/nrf/applications/asset_tracker/build/zephyr/include/generated/devicetree_unfixed.h
      Parsing /Users/mike/ncs/nrf/applications/asset_tracker/Kconfig
      Loaded configuration '/Users/mike/ncs/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160ns_defconfig'
      Merged configuration '/Users/mike/ncs/nrf/applications/asset_tracker/prj.conf'
      Configuration saved to '/Users/mike/ncs/nrf/applications/asset_tracker/build/zephyr/.config'
      Kconfig header saved to '/Users/mike/ncs/nrf/applications/asset_tracker/build/zephyr/include/generated/autoconf.h'
      -- The C compiler identification is GNU 9.2.1
      -- The CXX compiler identification is GNU 9.2.1
      -- The ASM compiler identification is GNU
      -- Found assembler: /Users/mike/gnuarmemb/bin/arm-none-eabi-gcc
      -- Cache files will be written to: /Users/mike/Library/Caches/zephyr
      Changed board to secure nrf9160dk_nrf9160 (NOT NS)
      
      === child image spm -  begin ===
      Including boilerplate (Zephyr base): /Users/mike/ncs/zephyr/cmake/app/boilerplate.cmake
      -- Application: /Users/mike/ncs/nrf/samples/spm
      -- Zephyr version: 2.3.99 (/Users/mike/ncs/zephyr)
      -- Found Python3: /Users/mike/.pyenv/versions/3.8.5/bin/python3.8 (found suitable exact version "3.8.5") found components: Interpreter 
      -- Found west: /Users/mike/.pyenv/versions/3.8.5/bin/west (found suitable version "0.8.0", minimum required is "0.7.1")
      -- Board: nrf9160dk_nrf9160
      -- Found dtc: /usr/local/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")
      -- Found toolchain: gnuarmemb (/Users/mike/gnuarmemb)
      -- Found BOARD.dts: /Users/mike/ncs/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160.dts
      -- Found devicetree overlay: /Users/mike/ncs/nrf/samples/spm/nrf9160dk_nrf9160.overlay
      nrf9160dk_nrf9160.dts.pre.tmp:57.42-69.3: Warning (unique_unit_address_if_enabled): /soc/peripheral@50000000/flash-controller@39000: duplicate unit-address (also used in node /soc/peripheral@50000000/kmu@39000)
      nrf9160dk_nrf9160.dts.pre.tmp:306.19-312.3: Warning (unique_unit_address_if_enabled): /soc/peripheral@50000000/clock@5000: duplicate unit-address (also used in node /soc/peripheral@50000000/power@5000)
      -- Generated zephyr.dts: /Users/mike/ncs/nrf/applications/asset_tracker/build/spm/zephyr/zephyr.dts
      -- Generated devicetree_unfixed.h: /Users/mike/ncs/nrf/applications/asset_tracker/build/spm/zephyr/include/generated/devicetree_unfixed.h
      Parsing /Users/mike/ncs/zephyr/Kconfig
      Loaded configuration '/Users/mike/ncs/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160_defconfig'
      Merged configuration '/Users/mike/ncs/nrf/applications/asset_tracker/spm.conf'
      Configuration saved to '/Users/mike/ncs/nrf/applications/asset_tracker/build/spm/zephyr/.config'
      Kconfig header saved to '/Users/mike/ncs/nrf/applications/asset_tracker/build/spm/zephyr/include/generated/autoconf.h'
      -- The C compiler identification is GNU 9.2.1
      -- The CXX compiler identification is GNU 9.2.1
      -- The ASM compiler identification is GNU
      -- Found assembler: /Users/mike/gnuarmemb/bin/arm-none-eabi-gcc
      -- Cache files will be written to: /Users/mike/Library/Caches/zephyr
      -- Configuring done
      -- Generating done
      -- Build files have been written to: /Users/mike/ncs/nrf/applications/asset_tracker/build/spm
      === child image spm -  end ===
      
      Changed board to secure nrf9160dk_nrf9160 (NOT NS)
      
      === child image mcuboot -  begin ===
      Including boilerplate (Zephyr base): /Users/mike/ncs/zephyr/cmake/app/boilerplate.cmake
      -- Application: /Users/mike/ncs/bootloader/mcuboot/boot/zephyr
      -- Zephyr version: 2.3.99 (/Users/mike/ncs/zephyr)
      -- Found Python3: /Users/mike/.pyenv/versions/3.8.5/bin/python3.8 (found suitable exact version "3.8.5") found components: Interpreter 
      -- Found west: /Users/mike/.pyenv/versions/3.8.5/bin/west (found suitable version "0.8.0", minimum required is "0.7.1")
      -- Board: nrf9160dk_nrf9160
      -- Found dtc: /usr/local/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")
      -- Found toolchain: gnuarmemb (/Users/mike/gnuarmemb)
      -- Found BOARD.dts: /Users/mike/ncs/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160.dts
      -- Found devicetree overlay: /Users/mike/ncs/bootloader/mcuboot/boot/zephyr/dts.overlay
      nrf9160dk_nrf9160.dts.pre.tmp:57.42-69.3: Warning (unique_unit_address_if_enabled): /soc/peripheral@50000000/flash-controller@39000: duplicate unit-address (also used in node /soc/peripheral@50000000/kmu@39000)
      nrf9160dk_nrf9160.dts.pre.tmp:306.19-312.3: Warning (unique_unit_address_if_enabled): /soc/peripheral@50000000/clock@5000: duplicate unit-address (also used in node /soc/peripheral@50000000/power@5000)
      -- Generated zephyr.dts: /Users/mike/ncs/nrf/applications/asset_tracker/build/mcuboot/zephyr/zephyr.dts
      -- Generated devicetree_unfixed.h: /Users/mike/ncs/nrf/applications/asset_tracker/build/mcuboot/zephyr/include/generated/devicetree_unfixed.h
      Parsing /Users/mike/ncs/bootloader/mcuboot/boot/zephyr/Kconfig
      Loaded configuration '/Users/mike/ncs/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160_defconfig'
      Merged configuration '/Users/mike/ncs/bootloader/mcuboot/boot/zephyr/prj.conf'
      Configuration saved to '/Users/mike/ncs/nrf/applications/asset_tracker/build/mcuboot/zephyr/.config'
      Kconfig header saved to '/Users/mike/ncs/nrf/applications/asset_tracker/build/mcuboot/zephyr/include/generated/autoconf.h'
      -- The C compiler identification is GNU 9.2.1
      -- The CXX compiler identification is GNU 9.2.1
      -- The ASM compiler identification is GNU
      -- Found assembler: /Users/mike/gnuarmemb/bin/arm-none-eabi-gcc
      -- Cache files will be written to: /Users/mike/Library/Caches/zephyr
      MCUBoot bootloader key file: /Users/mike/ncs/bootloader/mcuboot/root-rsa-2048.pem
      -- Configuring done
      -- Generating done
      -- Build files have been written to: /Users/mike/ncs/nrf/applications/asset_tracker/build/mcuboot
      === child image mcuboot -  end ===
      
      CMake Warning at /Users/mike/ncs/nrf/cmake/mcuboot.cmake:115 (message):
        
      
              ---------------------------------------------------------
              --- WARNING: Using default MCUBoot key, it should not ---
              --- be used for production.                           ---
              ---------------------------------------------------------
              
      
      Call Stack (most recent call first):
        /Users/mike/ncs/bootloader/mcuboot/zephyr/CMakeLists.txt:1 (include)
      
      
      CMake Warning at /Users/mike/ncs/zephyr/CMakeLists.txt:1379 (message):
        __ASSERT() statements are globally ENABLED
      
      
      -- Configuring done
      -- Generating done
      -- Build files have been written to: /Users/mike/ncs/nrf/applications/asset_tracker/build
      -- west build: building application
      [1/260] Preparing syscall dependency handling
      
      [11/260] Performing build step for 'mcuboot_subimage'
      [1/239] Preparing syscall dependency handling
      
      [234/239] Linking C executable zephyr/zephyr_prebuilt.elf
      Memory region         Used Size  Region Size  %age Used
                 FLASH:       37624 B        48 KB     76.55%
                  SRAM:       22576 B        64 KB     34.45%
              IDT_LIST:          88 B         2 KB      4.30%
      [239/239] Linking C executable zephyr/zephyr.elf
      [17/260] Performing build step for 'spm_subimage'
      [1/193] Preparing syscall dependency handling
      
      [188/193] Linking C executable zephyr/zephyr_prebuilt.elf
      Memory region         Used Size  Region Size  %age Used
                 FLASH:       32256 B        48 KB     65.62%
                  SRAM:        5520 B        64 KB      8.42%
              IDT_LIST:          40 B         2 KB      1.95%
      [193/193] Linking C executable zephyr/zephyr.elf
      [250/260] Linking C executable zephyr/zephyr_prebuilt.elf
      Memory region         Used Size  Region Size  %age Used
                 FLASH:      210912 B     437760 B     48.18%
                  SRAM:       77848 B       128 KB     59.39%
              IDT_LIST:         152 B         2 KB      7.42%
      [260/260] Generating zephyr/merged.hex
      mike@Mikes-MacBook-Pro-10-1 asset_tracker % ls -al
      total 104
      drwxr-xr-x  16 mike  staff    512 Oct  6 17:34 .
      drwxr-xr-x   6 mike  staff    192 Oct  5 16:44 ..
      -rw-r--r--   1 mike  staff   1182 Oct  5 16:44 CMakeLists.txt
      -rw-r--r--   1 mike  staff  11472 Oct  5 16:44 Kconfig
      -rw-r--r--   1 mike  staff  10453 Oct  5 16:44 README.rst
      drwxr-xr-x  20 mike  staff    640 Oct  6 17:35 build
      drwxr-xr-x   9 mike  staff    288 Oct  5 18:13 build_nrf52840dongle_nrf52840
      drwxr-xr-x   9 mike  staff    288 Oct  6 17:05 build_nrf9160dk_nrf9160ns
      drwxr-xr-x   3 mike  staff     96 Oct  5 16:44 configuration
      -rw-r--r--   1 mike  staff    919 Oct  5 16:44 lwm2m_carrier_overlay.conf
      -rw-r--r--   1 mike  staff   2490 Oct  5 16:44 prj.conf
      -rw-r--r--   1 mike  staff   2110 Oct  5 16:44 prj_qemu_x86.conf
      -rw-r--r--   1 mike  staff   3065 Oct  5 16:44 prj_thingy91_nrf9160ns.conf
      -rw-r--r--   1 mike  staff    214 Oct  5 16:44 sample.yaml
      -rw-r--r--   1 mike  staff    228 Oct  5 16:44 spm.conf
      drwxr-xr-x  11 mike  staff    352 Oct  5 16:44 src
      mike@Mikes-MacBook-Pro-10-1 asset_tracker % cd build_nrf9160dk_nrf9160ns 
      mike@Mikes-MacBook-Pro-10-1 build_nrf9160dk_nrf9160ns % ls -al
      total 40
      drwxr-xr-x   9 mike  staff   288 Oct  6 17:05 .
      drwxr-xr-x  16 mike  staff   512 Oct  6 17:34 ..
      -rw-r--r--   1 mike  staff  6360 Oct  6 17:05 CMakeCache.txt
      drwxr-xr-x   3 mike  staff    96 Oct  6 16:54 CMakeFiles
      drwxr-xr-x   6 mike  staff   192 Oct  6 16:54 Kconfig
      -rw-r--r--   1 mike  staff  3883 Oct  6 17:05 asset_tracker.emProject
      drwxr-xr-x   9 mike  staff   288 Oct  6 16:54 zephyr
      -rw-r--r--   1 mike  staff  3735 Oct  6 17:05 zephyr_modules.txt
      -rw-r--r--   1 mike  staff    57 Oct  6 17:05 zephyr_settings.txt
      mike@Mikes-MacBook-Pro-10-1 build_nrf9160dk_nrf9160ns % 
      

    So you figure out what's wrong with the GUI approach in SES???  One hint, it appears that "west" works differently when my current working directory changes.  In response to "west build -b nrf9160dk_nrf9160ns", I've gotten three different responses:

    1.  % west build -b nrf9160dk_nrf9160ns 
      usage: west [-h] [-z ZEPHYR_BASE] [-v] [-V] <command> ...
      west: error: argument <command>: invalid choice: 'build' (choose from 'init', 'update', 'list', 'manifest', 'diff', 'status', 'forall', 'help', 'config', 'topdir', 'selfupdate')

    2. % cd ~/ncs
      mike@Mikes-MacBook-Pro-10-1 ncs % west build -b nrf9160dk_nrf9160ns 
      ERROR: source directory "." does not contain a CMakeLists.txt; is this really what you want to build? (Use -s SOURCE_DIR to specify the application source directory)
      FATAL ERROR: refusing to proceed without --force due to above error
    3. % cd nrf/applications/asset_tracker 

      mike@Mikes-MacBook-Pro-10-1 asset_tracker % west build -b nrf9160dk_nrf9160ns 

      -- west build: generating a build system

      Including boilerplate (Zephyr base): /Users/mike/ncs/zephyr/cmake/app/boilerplate.cmake

      -- Application: /Users/mike/ncs/nrf/applications/asset_tracker

      -- Zephyr version: 2.3.99 (/Users/mike/ncs/zephyr)

      -- Found Python3: /Users/mike/.pyenv/versions/3.8.5/bin/python3.8 (found suitable exact version "3.8.5") found components: Interpreter 

      -- Found west: /Users/mike/.pyenv/versions/3.8.5/bin/west (found suitable version "0.8.0", minimum required is "0.7.1")

      -- Board: nrf9160dk_nrf9160ns

      -- Found dtc: /usr/local/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")

      -- Found toolchain: gnuarmemb (/Users/mike/gnuarmemb)

      -- Found BOARD.dts: /Users/mike/ncs/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160ns.dts

      nrf9160dk_nrf9160ns.dts.pre.tmp:358.32-362.5: Warning (simple_bus_reg): /soc/cryptocell-sw: missing or empty reg/ranges property

      nrf9160dk_nrf9160ns.dts.pre.tmp:57.42-69.3: Warning (unique_unit_address_if_enabled): /soc/peripheral@40000000/flash-controller@39000: duplicate unit-address (also used in node /soc/peripheral@40000000/kmu@39000)

      nrf9160dk_nrf9160ns.dts.pre.tmp:306.19-312.3: Warning (unique_unit_address_if_enabled): /soc/peripheral@40000000/clock@5000: duplicate unit-address (also used in node /soc/peripheral@40000000/power@5000)

      -- Generated zephyr.dts: /Users/mike/ncs/nrf/applications/asset_tracker/build/zephyr/zephyr.dts

      -- Generated devicetree_unfixed.h: /Users/mike/ncs/nrf/applications/asset_tracker/build/zephyr/include/generated/devicetree_unfixed.h

      Parsing /Users/mike/ncs/nrf/applications/asset_tracker/Kconfig

      Loaded configuration '/Users/mike/ncs/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160ns_defconfig'

      Merged configuration '/Users/mike/ncs/nrf/applications/asset_tracker/prj.conf'

      Configuration saved to '/Users/mike/ncs/nrf/applications/asset_tracker/build/zephyr/.config'

      Kconfig header saved to '/Users/mike/ncs/nrf/applications/asset_tracker/build/zephyr/include/generated/autoconf.h'

      -- The C compiler identification is GNU 9.2.1

      -- The CXX compiler identification is GNU 9.2.1

      -- The ASM compiler identification is GNU

      -- Found assembler: /Users/mike/gnuarmemb/bin/arm-none-eabi-gcc

      -- Cache files will be written to: /Users/mike/Library/Caches/zephyr

      Changed board to secure nrf9160dk_nrf9160 (NOT NS)

      === child image spm -  begin ===

      Including boilerplate (Zephyr base): /Users/mike/ncs/zephyr/cmake/app/boilerplate.cmake

      -- Application: /Users/mike/ncs/nrf/samples/spm

      -- Zephyr version: 2.3.99 (/Users/mike/ncs/zephyr)

      -- Found Python3: /Users/mike/.pyenv/versions/3.8.5/bin/python3.8 (found suitable exact version "3.8.5") found components: Interpreter 

      -- Found west: /Users/mike/.pyenv/versions/3.8.5/bin/west (found suitable version "0.8.0", minimum required is "0.7.1")

      -- Board: nrf9160dk_nrf9160

      -- Found dtc: /usr/local/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")

      -- Found toolchain: gnuarmemb (/Users/mike/gnuarmemb)

      -- Found BOARD.dts: /Users/mike/ncs/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160.dts

      -- Found devicetree overlay: /Users/mike/ncs/nrf/samples/spm/nrf9160dk_nrf9160.overlay

      nrf9160dk_nrf9160.dts.pre.tmp:57.42-69.3: Warning (unique_unit_address_if_enabled): /soc/peripheral@50000000/flash-controller@39000: duplicate unit-address (also used in node /soc/peripheral@50000000/kmu@39000)

      nrf9160dk_nrf9160.dts.pre.tmp:306.19-312.3: Warning (unique_unit_address_if_enabled): /soc/peripheral@50000000/clock@5000: duplicate unit-address (also used in node /soc/peripheral@50000000/power@5000)

      -- Generated zephyr.dts: /Users/mike/ncs/nrf/applications/asset_tracker/build/spm/zephyr/zephyr.dts

      -- Generated devicetree_unfixed.h: /Users/mike/ncs/nrf/applications/asset_tracker/build/spm/zephyr/include/generated/devicetree_unfixed.h

      Parsing /Users/mike/ncs/zephyr/Kconfig

      Loaded configuration '/Users/mike/ncs/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160_defconfig'

      Merged configuration '/Users/mike/ncs/nrf/applications/asset_tracker/spm.conf'

      Configuration saved to '/Users/mike/ncs/nrf/applications/asset_tracker/build/spm/zephyr/.config'

      Kconfig header saved to '/Users/mike/ncs/nrf/applications/asset_tracker/build/spm/zephyr/include/generated/autoconf.h'

      -- The C compiler identification is GNU 9.2.1

      -- The CXX compiler identification is GNU 9.2.1

      -- The ASM compiler identification is GNU

      -- Found assembler: /Users/mike/gnuarmemb/bin/arm-none-eabi-gcc

      -- Cache files will be written to: /Users/mike/Library/Caches/zephyr

      -- Configuring done

      -- Generating done

      -- Build files have been written to: /Users/mike/ncs/nrf/applications/asset_tracker/build/spm

      === child image spm -  end ===

      Changed board to secure nrf9160dk_nrf9160 (NOT NS)

      === child image mcuboot -  begin ===

      Including boilerplate (Zephyr base): /Users/mike/ncs/zephyr/cmake/app/boilerplate.cmake

      -- Application: /Users/mike/ncs/bootloader/mcuboot/boot/zephyr

      -- Zephyr version: 2.3.99 (/Users/mike/ncs/zephyr)

      -- Found Python3: /Users/mike/.pyenv/versions/3.8.5/bin/python3.8 (found suitable exact version "3.8.5") found components: Interpreter 

      -- Found west: /Users/mike/.pyenv/versions/3.8.5/bin/west (found suitable version "0.8.0", minimum required is "0.7.1")

      -- Board: nrf9160dk_nrf9160

      -- Found dtc: /usr/local/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")

      -- Found toolchain: gnuarmemb (/Users/mike/gnuarmemb)

      -- Found BOARD.dts: /Users/mike/ncs/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160.dts

      -- Found devicetree overlay: /Users/mike/ncs/bootloader/mcuboot/boot/zephyr/dts.overlay

      nrf9160dk_nrf9160.dts.pre.tmp:57.42-69.3: Warning (unique_unit_address_if_enabled): /soc/peripheral@50000000/flash-controller@39000: duplicate unit-address (also used in node /soc/peripheral@50000000/kmu@39000)

      nrf9160dk_nrf9160.dts.pre.tmp:306.19-312.3: Warning (unique_unit_address_if_enabled): /soc/peripheral@50000000/clock@5000: duplicate unit-address (also used in node /soc/peripheral@50000000/power@5000)

      -- Generated zephyr.dts: /Users/mike/ncs/nrf/applications/asset_tracker/build/mcuboot/zephyr/zephyr.dts

      -- Generated devicetree_unfixed.h: /Users/mike/ncs/nrf/applications/asset_tracker/build/mcuboot/zephyr/include/generated/devicetree_unfixed.h

      Parsing /Users/mike/ncs/bootloader/mcuboot/boot/zephyr/Kconfig

      Loaded configuration '/Users/mike/ncs/zephyr/boards/arm/nrf9160dk_nrf9160/nrf9160dk_nrf9160_defconfig'

      Merged configuration '/Users/mike/ncs/bootloader/mcuboot/boot/zephyr/prj.conf'

      Configuration saved to '/Users/mike/ncs/nrf/applications/asset_tracker/build/mcuboot/zephyr/.config'

      Kconfig header saved to '/Users/mike/ncs/nrf/applications/asset_tracker/build/mcuboot/zephyr/include/generated/autoconf.h'

      -- The C compiler identification is GNU 9.2.1

      -- The CXX compiler identification is GNU 9.2.1

      -- The ASM compiler identification is GNU

      -- Found assembler: /Users/mike/gnuarmemb/bin/arm-none-eabi-gcc

      -- Cache files will be written to: /Users/mike/Library/Caches/zephyr

      MCUBoot bootloader key file: /Users/mike/ncs/bootloader/mcuboot/root-rsa-2048.pem

      -- Configuring done

      -- Generating done

      -- Build files have been written to: /Users/mike/ncs/nrf/applications/asset_tracker/build/mcuboot

      === child image mcuboot -  end ===

      CMake Warning at /Users/mike/ncs/nrf/cmake/mcuboot.cmake:115 (message):

        

              ---------------------------------------------------------

              --- WARNING: Using default MCUBoot key, it should not ---

              --- be used for production.                           ---

              ---------------------------------------------------------

              

      Call Stack (most recent call first):

        /Users/mike/ncs/bootloader/mcuboot/zephyr/CMakeLists.txt:1 (include)

      CMake Warning at /Users/mike/ncs/zephyr/CMakeLists.txt:1379 (message):

        __ASSERT() statements are globally ENABLED

      -- Configuring done

      -- Generating done

      -- Build files have been written to: /Users/mike/ncs/nrf/applications/asset_tracker/build

      -- west build: building application

      [1/260] Preparing syscall dependency handling

      [11/260] Performing build step for 'mcuboot_subimage'

      [1/239] Preparing syscall dependency handling

      [234/239] Linking C executable zephyr/zephyr_prebuilt.elf

      Memory region         Used Size  Region Size  %age Used

                 FLASH:       37624 B        48 KB     76.55%

                  SRAM:       22576 B        64 KB     34.45%

              IDT_LIST:          88 B         2 KB      4.30%

      [239/239] Linking C executable zephyr/zephyr.elf

      [17/260] Performing build step for 'spm_subimage'

      [1/193] Preparing syscall dependency handling

      [188/193] Linking C executable zephyr/zephyr_prebuilt.elf

      Memory region         Used Size  Region Size  %age Used

                 FLASH:       32256 B        48 KB     65.62%

                  SRAM:        5520 B        64 KB      8.42%

              IDT_LIST:          40 B         2 KB      1.95%

      [193/193] Linking C executable zephyr/zephyr.elf

      [250/260] Linking C executable zephyr/zephyr_prebuilt.elf

      Memory region         Used Size  Region Size  %age Used

                 FLASH:      210912 B     437760 B     48.18%

                  SRAM:       77848 B       128 KB     59.39%

              IDT_LIST:         152 B         2 KB      7.42%

      [260/260] Generating zephyr/merged.hex

      mike@Mikes-MacBook-Pro-10-1 asset_tracker %

    So in this case, you can see that the build worked fine.

    FINAL NOTE: I'm suspicious that I may have multiple copies of "west" on my system, and the "wrong" one is being invoked from SES.  Inside SES, in Tools | Options | nRF Connect, I currently have the following settings:
      

Related