# Missing nrf52840.h compile error

**URL:** <https://community.particle.io/t/missing-nrf52840-h-compile-error/61969>\
**Category:** CLI\
**Created:** [February 3, 2022, 3:55pm UTC](https://community.particle.io/t/missing-nrf52840-h-compile-error/61969 "2022-02-03T15:55:13Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![gcollins](https://avatars.discourse-cdn.com/v4/letter/g/7ba0ec/32.png) [@gcollins](https://community.particle.io/u/gcollins)\
**Post date:** [February 3, 2022, 3:55pm UTC](https://community.particle.io/t/missing-nrf52840-h-compile-error/61969/1 "2022-02-03T15:55:13Z")

</div>

Getting a missing file error compiling the default app locally with `make`.  
I followed the instructions to install dependencies, not sure if I missed something.  
Any ideas?

```auto
C:\Users\collig\git\device-os\main (release/stable -> origin)
λ make all PLATFORM=boron
make -C ../modules/boron/user-part all
make[1]: Entering directory `C:/Users/collig/git/device-os/modules/boron/user-part'

mkdir -p ../../../build/target/user-part/platform-13-m/
make -f ../../../modules/shared/nRF52840/build_linker_script.mk PREBUILD=1
make[2]: Entering directory `C:/Users/collig/git/device-os/modules/boron/user-part'
Creating ../../../build/target/user-part/platform-13-m/platform_user_ram.ld ...
make[2]: Leaving directory `C:/Users/collig/git/device-os/modules/boron/user-part'

make -C ../../../user
make[2]: Entering directory `C:/Users/collig/git/device-os/user'
Building cpp file: src/application.cpp
Invoking: ARM GCC CPP Compiler
mkdir -p ../build/target/user/platform-13-m/src/src/
arm-none-eabi-gcc -DSTM32_DEVICE -DnRF52840 -DNRF52840_XXAA -DPLATFORM_THREADING=1 -DPLATFORM_ID=13 -DPLATFORM_NAME=boron -DPLATFORM_GEN=3 -DUSBD_VID_SPARK=0x2B04 -DUSBD_PID_DFU=0xD00D -DUSBD_PID_CDC=0xC00D -DSPARK_PLATFORM -g3 -gdwarf-2 -Os -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfloat-abi=hard -mfpu=fpv4-sp-d16 --specs=nano.specs -DINCLUDE_PLATFORM=1 -DSOFTDEVICE_PRESENT=1 -DS140 -DPRODUCT_ID=13 -DPRODUCT_FIRMWARE_VERSION=65535 -D_WIZCHIP_=W5500 -DUSE_STDPERIPH_DRIVER -DDFU_BUILD_ENABLE -DLFS_CONFIG=lfs_config.h -DSYSTEM_VERSION_STRING=2.3.0 -DRELEASE_BUILD -I./inc -I../wiring/inc -I../system/inc -I../services/inc -I../third_party/nanopb/nanopb -I../communication/inc -I../hal/inc -I../hal/shared -I../hal/src/boron -I../hal/network/lwip/cellular -I../hal/src/nRF52840 -I../hal/src/armv7 -I../hal/src/nRF52840 -I../hal/src/nRF52840/lwip -I../hal/src/nRF52840/freertos -I../hal/src/nRF52840/mbedtls -I../hal/src/nRF52840/littlefs -I../hal -I../hal/src/nRF52840/posix -I../hal/network -I../hal/network/api -I../hal/network/lwip -I../hal/network/lwip/posix -I../hal/network/lwip/wiznet -I../hal/network/ncp -I../hal/network/ncp/at_parser -I../hal/network/util -I../third_party/lwip/lwip/src/include -I../third_party/freertos/freertos/FreeRTOS/Source/include -I../third_party/nrf5_sdk/nrf5_sdk/external/freertos/portable/GCC/nrf52 -I../third_party/nrf5_sdk/nrf5_sdk/external/freertos/portable/CMSIS/nrf52 -I../third_party/wiznet_driver/wiznet_driver/Ethernet -I../gsm0710muxer/gsm0710muxer/include -I../platform/shared/inc -I../third_party/nrf5_sdk -I../third_party/nrf5_sdk/nrf5_sdk/components/toolchain/cmsis/include -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/drivers -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/drivers/include -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/hal -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/mdk -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/hal -I../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/drivers/src/prs -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/util -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140/headers -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140/headers/nrf52 -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/common -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/mbr/nrf52840/headers -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/fstorage -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/experimental_section_vars -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/atomic -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/crc32 -I../third_party/nrf5_sdk/nrf5_sdk/integration/nrfx/legacy -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/delay -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/log -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/log -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/log/src -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/experimental_section_vars -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/atomic -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/delay -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/queue -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/common -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140 -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140/headers -I../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140/headers/nrf52 -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/fifo -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/atomic_fifo -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/strerror -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/fstorage -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/atomic_flags -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/usbd -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/usbd/class/cdc -I../third_party/nrf5_sdk/nrf5_sdk/components/libraries/usbd/class/cdc/acm -I../third_party/nrf5_sdk/nrf5_sdk/components/ble/common -I../third_party/nrf5_sdk/nrf5_sdk/components/ble/nrf_ble_gatt -I../third_party/nrf5_sdk/nrf5_sdk/components/ble/ble_advertising -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/t2t_lib -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/platform -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/generic/message -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/generic/record -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/lauchapp -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/text -I../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/uri -I../third_party/nrf5_sdk/nrf5_sdk/external/nrf_cc310/include -I../third_party/nrf5_sdk/nrf5_sdk/external/utf_converter -I../third_party/littlefs/littlefs -I../third_party/miniz/miniz -I../platform/MCU/nRF52840/inc -I../dynalib/inc -I./src -I./libraries -I. -MD -MP -MF ../build/target/user/platform-13-m/src/src/application.o.d -ffunction-sections -fdata-sections -Wall -Wno-switch -Wno-error=deprecated-declarations -fmessage-length=0 -fno-strict-aliasing -DSPARK=1 -DPARTICLE=1 -Werror=return-type -Wundef -DSTART_DFU_FLASHER_SERIAL_SPEED=14400 -DSTART_YMODEM_FLASHER_SERIAL_SPEED=28800 -DSPARK_PLATFORM_NET=UBLOXSARA -fno-builtin-malloc -fno-builtin-free -fno-builtin-realloc -DLOG_INCLUDE_SOURCE_INFO=1 -DPARTICLE_USER_MODULE -DUSER_FIRMWARE_IMAGE_SIZE=0x20000 -DUSER_FIRMWARE_IMAGE_LOCATION=0xD4000 -DMODULAR_FIRMWARE=1 -DMODULE_VERSION=6 -DMODULE_FUNCTION=5 -DMODULE_INDEX=1 -DMODULE_DEPENDENCY=4,1,2301 -DMODULE_DEPENDENCY2=0,0,0 -D_GNU_SOURCE -DLOG_MODULE_CATEGORY="\"app\"" -fno-exceptions -fno-rtti -fcheck-new -flto -ffat-lto-objects -DPARTICLE_COMPILE_LTO_FAT -fno-use-cxa-atexit -std=gnu++14 -c -o ../build/target/user/platform-13-m/src/src/application.o src/application.cpp
In file included from ../hal/inc/interrupts_hal.h:33,
                 from ../wiring/inc/spark_wiring.h:29,
                 from ./inc/application.h:42,
                 from src/application.cpp:19:
../hal/src/nRF52840/interrupts_irq.h:26:10: fatal error: nrf52840.h: No such file or directory
   26 | #include "nrf52840.h"
      | ^ ~~~~~~~~~~~
compilation terminated.
make[2]: *** [../build/target/user/platform-13-m/src/src/application.o] Error 1
make[2]: Leaving directory `C:/Users/collig/git/device-os/user'
make[1]: *** [user] Error 2
make[1]: Leaving directory `C:/Users/collig/git/device-os/modules/boron/user-part'
make: *** [modules/boron/user-part] Error 2

```

---

<div class="post-metadata">

**Author:** ![m\_m](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/m_m/32/18365_2.png) [@m\_m](https://community.particle.io/u/m_m)\
**Post date:** [February 3, 2022, 5:00pm UTC](https://community.particle.io/t/missing-nrf52840-h-compile-error/61969/2 "2022-02-03T17:00:34Z")

</div>

if you haven’t seen them already, we have Workbench troubleshooting instructions over here:

> **[Troubleshooting the Particle Workbench](https://support.particle.io/hc/en-us/articles/1260801313350)**
>
>  
> This guide is divided into five sections:
> 
> Running A Basic Workbench Functionality Check
> Ensuring That Workbench Is Properly Installed And Configured
> Steps To Take If You Encounter An Intellisens...

---

<div class="post-metadata">

**Author:** ![gcollins](https://avatars.discourse-cdn.com/v4/letter/g/7ba0ec/32.png) [@gcollins](https://community.particle.io/u/gcollins)\
**Post date:** [February 3, 2022, 7:55pm UTC](https://community.particle.io/t/missing-nrf52840-h-compile-error/61969/3 "2022-02-03T19:55:01Z")

</div>

Making progress fixing this problem.  
I cannot access github via https, so submodules were not updated because their urls are [https://github.com](https://github.com).  
So, here's how I got around this particular issue (in case anyone has this problem in the future).  
Getting a different error now, though.

# clone the device os repo

```auto
C:\Users\collig\git\device-os (release/stable -> origin)
λ git clone git@github.com:particle-iot/device-os

```

# switch to the stable release branch

```auto
C:\Users\collig\git\device-os (develop -> origin)
λ git checkout release/stable
Switched to a new branch 'release/stable'
Branch 'release/stable' set up to track remote branch 'release/stable' from 'origin'.

```

# update the module path to use ssh instead of https

```auto
C:\Users\collig\git\device-os (release/stable -> origin)
λ vim .gitmodules

```

# initialize submodules

```auto
C:\Users\collig\git\device-os (release/stable -> origin)
λ git submodule init
Submodule 'gsm0710muxer/gsm0710muxer' (git@github.com:particle-iot/gsm0710muxer.git) registered for path 'gsm0710muxer/gsm0710muxer'
Submodule 'proto' (git@github.com:particle-iot/firmware-protobuf.git) registered for path 'proto'
Submodule 'third_party/catch2/catch2' (git@github.com:particle-iot/Catch2.git) registered for path 'third_party/catch2/catch2'
Submodule 'third_party/fakeit/fakeit' (git@github.com:particle-iot/Fakeit.git) registered for path 'third_party/fakeit/fakeit'
Submodule 'third_party/freertos/freertos' (git@github.com:particle-iot/freertos.git) registered for path 'third_party/freertos/freertos'
Submodule 'third_party/littlefs/littlefs' (git@github.com:particle-iot/littlefs.git) registered for path 'third_party/littlefs/littlefs'
Submodule 'third_party/lwip/lwip' (git@github.com:particle-iot/lwip.git) registered for path 'third_party/lwip/lwip'
Submodule 'third_party/lwip/lwip-contrib' (git@github.com:particle-iot/lwip-contrib.git) registered for path 'third_party/lwip/lwip-contrib'
Submodule 'third_party/mbedtls/mbedtls' (git@github.com:particle-iot/mbedtls.git) registered for path 'third_party/mbedtls/mbedtls'
Submodule 'third_party/miniz/miniz' (git@github.com:particle-iot/miniz.git) registered for path 'third_party/miniz/miniz'
Submodule 'third_party/nanopb/nanopb' (git@github.com:particle-iot/nanopb.git) registered for path 'third_party/nanopb/nanopb'
Submodule 'third_party/nrf5_sdk/nrf5_sdk' (git@github.com:particle-iot/nrf5_sdk.git) registered for path 'third_party/nrf5_sdk/nrf5_sdk'
Submodule 'third_party/wiznet_driver/wiznet_driver' (git@github.com:particle-iot/ioLibrary_Driver.git) registered for path 'third_party/wiznet_driver/wiznet_driver'

```

# populate submodules dirs

```auto
C:\Users\collig\git\device-os (release/stable -> origin)
λ git submodule update
Cloning into 'C:/Users/collig/git/device-os/gsm0710muxer/gsm0710muxer'...
Cloning into 'C:/Users/collig/git/device-os/proto'...
Cloning into 'C:/Users/collig/git/device-os/third_party/catch2/catch2'...
Cloning into 'C:/Users/collig/git/device-os/third_party/fakeit/fakeit'...
Cloning into 'C:/Users/collig/git/device-os/third_party/freertos/freertos'...
Cloning into 'C:/Users/collig/git/device-os/third_party/littlefs/littlefs'...
Cloning into 'C:/Users/collig/git/device-os/third_party/lwip/lwip'...
Cloning into 'C:/Users/collig/git/device-os/third_party/lwip/lwip-contrib'...
Cloning into 'C:/Users/collig/git/device-os/third_party/mbedtls/mbedtls'...
Cloning into 'C:/Users/collig/git/device-os/third_party/miniz/miniz'...
Cloning into 'C:/Users/collig/git/device-os/third_party/nanopb/nanopb'...
Cloning into 'C:/Users/collig/git/device-os/third_party/nrf5_sdk/nrf5_sdk'...
Cloning into 'C:/Users/collig/git/device-os/third_party/wiznet_driver/wiznet_driver'...
Submodule path 'gsm0710muxer/gsm0710muxer': checked out '5335eede736acc48a8964566ef52501979ea8439'
Submodule path 'proto': checked out 'ce7a2fc9643962994dd92a9cff5ae50db97447cc'
Submodule path 'third_party/catch2/catch2': checked out '2f631bb8087a0355d2b23a75a28d936ce237659d'
Submodule path 'third_party/fakeit/fakeit': checked out '317419c2e2f5a98e023a4d62628eb149fe3d3c3a'
Submodule path 'third_party/freertos/freertos': checked out 'c4e1510c832f9467169f2ab7165ec49d3ce7428a'
Submodule path 'third_party/littlefs/littlefs': checked out 'ed07f602fbfa5e9bd905829997436c607f10837a'
Submodule path 'third_party/lwip/lwip': checked out '8837180def0fea7e71e6e8311e3e71eeb01886f7'
Submodule path 'third_party/lwip/lwip-contrib': checked out '35b011d4cf4c4b480f8859c456587a884ec9d287'
Submodule path 'third_party/mbedtls/mbedtls': checked out '7da40601200bba5264ba6a5035eb410067c49f29'
Submodule path 'third_party/miniz/miniz': checked out 'af839bf788cec53c0d72f22e46cf58701498e264'
Submodule path 'third_party/nanopb/nanopb': checked out '6b91cc53dfb53ff5cd34bd2e057fbfc8ae7f12eb'
Submodule path 'third_party/nrf5_sdk/nrf5_sdk': checked out 'ce05d5a0408556dcf3bce009f7b7d7afb6c38c49'
Submodule path 'third_party/wiznet_driver/wiznet_driver': checked out 'd4e78e46259069d02c3383e7792432e12b9c54c1'

```

# build system firmware and get error.

But this time the device-os repo was cloned properly  
So, what's up with this?

```auto
C:\Users\collig\git\device-os\modules (release/stable -> origin)
λ make clean all PLATFORM=boron
...
arm-none-eabi-g++.exe: error: ../../../third_party/nrf5_sdk/nrf5_sdk/external/nrf_cc310/lib/cort: No such file or directory
make[1]: *** [../../../build/target/system-part1/platform-13-m/system-part1.elf] Error 1
make[1]: Leaving directory `C:/Users/collig/git/device-os/modules/boron/system-part1'
make: *** [C:/Users/collig/git/device-os/modules/boron/system-part1/makefile] Error 2

```

# Repo:

 ![image](https://us1.discourse-cdn.com/flex026/uploads/particle/original/3X/3/f/3fe2d88c4db09289fc1c8bdf0442273a2076dbf9.png)

# Cloned dir:

```auto
C:\Users\collig\git\device-os\third_party\nrf5_sdk\nrf5_sdk\external\nrf_cc310\lib (HEAD detached at ce05d5a -> origin)
λ ls
cortex-m33/ cortex-m4/ license.txt

```

---

<div class="post-metadata">

**Author:** ![gcollins](https://avatars.discourse-cdn.com/v4/letter/g/7ba0ec/32.png) [@gcollins](https://community.particle.io/u/gcollins)\
**Post date:** [February 3, 2022, 8:37pm UTC](https://community.particle.io/t/missing-nrf52840-h-compile-error/61969/4 "2022-02-03T20:37:31Z")

</div>

Ok, managed to compile.  
Problem seems to be Windows’ cmd.exe limiting argument length to 8,191 chars.  
See [here](https://docs.microsoft.com/en-us/troubleshoot/windows-client/shell-experience/command-line-string-limitation).

The offending compile command below is cutoff at exactly the 8,192nd char.  
Good news is that all works in cygwin, so all is good to compile w/o particle-cli or workbench.

```auto
arm-none-eabi-g++ -DSTM32_DEVICE -DnRF52840 -DNRF52840_XXAA -DPLATFORM_THREADING=1 -DPLATFORM_ID=13 -DPLATFORM_NAME=boron -DPLATFORM_GEN=3 -DUSBD_VID_SPARK=0x2B04 -DUSBD_PID_DFU=0xD00D -DUSBD_PID_CDC=0xC00D -g3 -gdwarf-2 -Os -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfloat
    -abi=hard -mfpu=fpv4-sp-d16 --specs=nano.specs -DSOFTDEVICE_PRESENT=1 -DS140 -D_WIZCHIP_=W5500 -DUSE_STDPERIPH_DRIVER -DDFU_BUILD_ENABLE -DLFS_CONFIG=lfs_config.h -DPRODUCT_ID=13 -DPRODUCT_FIRMWARE_VERSION=65535 -fno-builtin -DMBEDTLS_CONFIG_FILE="<mbedtls_config.h>"
    -DSYSTEM_VERSION_STRING=2.3.0 -DRELEASE_BUILD -Werror -I../../../modules/shared/nRF52840/inc -I../../../modules/shared/nRF52840/inc -I../../../dynalib/inc -I../../../services/inc -I../../../third_party/nanopb/nanopb -I../../../hal/inc -I../../../hal/shared -I../../../
    hal/src/boron -I../../../hal/network/lwip/cellular -I../../../hal/src/nRF52840 -I../../../hal/src/armv7 -I../../../hal/src/nRF52840 -I../../../hal/src/nRF52840/lwip -I../../../hal/src/nRF52840/freertos -I../../../hal/src/nRF52840/mbedtls -I../../../hal/src/nRF52840/li
    ttlefs -I../../../hal -I../../../hal/src/nRF52840/posix -I../../../hal/network -I../../../hal/network/api -I../../../hal/network/lwip -I../../../hal/network/lwip/posix -I../../../hal/network/lwip/wiznet -I../../../hal/network/ncp -I../../../hal/network/ncp/at_parser -
    I../../../hal/network/util -I../../../third_party/lwip/lwip/src/include -I../../../third_party/freertos/freertos/FreeRTOS/Source/include -I../../../third_party/nrf5_sdk/nrf5_sdk/external/freertos/portable/GCC/nrf52 -I../../../third_party/nrf5_sdk/nrf5_sdk/external/fre
    ertos/portable/CMSIS/nrf52 -I../../../third_party/wiznet_driver/wiznet_driver/Ethernet -I../../../gsm0710muxer/gsm0710muxer/include -I../../../platform/shared/inc -I../../../third_party/nrf5_sdk -I../../../third_party/nrf5_sdk/nrf5_sdk/components/toolchain/cmsis/inclu
    de -I../../../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx -I../../../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/drivers -I../../../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/drivers/include -I../../../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/hal -I../../../third_part
    y/nrf5_sdk/nrf5_sdk/modules/nrfx/mdk -I../../../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/hal -I../../../third_party/nrf5_sdk/nrf5_sdk/modules/nrfx/drivers/src/prs -I../../../third_party/nrf5_sdk/nrf5_sdk/components/libraries/util -I../../../third_party/nrf5_sdk/nrf5
    _sdk/components/softdevice/s140/headers -I../../../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140/headers/nrf52 -I../../../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/common -I../../../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/mbr/nrf52840/
    headers -I../../../third_party/nrf5_sdk/nrf5_sdk/components/libraries/fstorage -I../../../third_party/nrf5_sdk/nrf5_sdk/components/libraries/experimental_section_vars -I../../../third_party/nrf5_sdk/nrf5_sdk/components/libraries/atomic -I../../../third_party/nrf5_sdk/
    nrf5_sdk/components/libraries/crc32 -I../../../third_party/nrf5_sdk/nrf5_sdk/integration/nrfx/legacy -I../../../third_party/nrf5_sdk/nrf5_sdk/components/libraries/delay -I../../../third_party/nrf5_sdk/nrf5_sdk/components/libraries/log -I../../../third_party/nrf5_sdk/n
    rf5_sdk/components/libraries/log -I../../../third_party/nrf5_sdk/nrf5_sdk/components/libraries/log/src -I../../../third_party/nrf5_sdk/nrf5_sdk/components/libraries/experimental_section_vars -I../../../third_party/nrf5_sdk/nrf5_sdk/components/libraries/atomic -I../../
    ../third_party/nrf5_sdk/nrf5_sdk/components/libraries/delay -I../../../third_party/nrf5_sdk/nrf5_sdk/components/libraries/queue -I../../../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/common -I../../../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140 -I
    ../../../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140/headers -I../../../third_party/nrf5_sdk/nrf5_sdk/components/softdevice/s140/headers/nrf52 -I../../../third_party/nrf5_sdk/nrf5_sdk/components/libraries/fifo -I../../../third_party/nrf5_sdk/nrf5_sdk/comp
    onents/libraries/atomic_fifo -I../../../third_party/nrf5_sdk/nrf5_sdk/components/libraries/strerror -I../../../third_party/nrf5_sdk/nrf5_sdk/components/libraries/fstorage -I../../../third_party/nrf5_sdk/nrf5_sdk/components/libraries/atomic_flags -I../../../third_party
    /nrf5_sdk/nrf5_sdk/components/libraries/usbd -I../../../third_party/nrf5_sdk/nrf5_sdk/components/libraries/usbd/class/cdc -I../../../third_party/nrf5_sdk/nrf5_sdk/components/libraries/usbd/class/cdc/acm -I../../../third_party/nrf5_sdk/nrf5_sdk/components/ble/common -I
    ../../../third_party/nrf5_sdk/nrf5_sdk/components/ble/nrf_ble_gatt -I../../../third_party/nrf5_sdk/nrf5_sdk/components/ble/ble_advertising -I../../../third_party/nrf5_sdk/nrf5_sdk/components/nfc/t2t_lib -I../../../third_party/nrf5_sdk/nrf5_sdk/components/nfc/platform
    -I../../../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/generic/message -I../../../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/generic/record -I../../../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/lauchapp -I../../../third_party/nrf5_sdk/nrf5_sdk/comp
    onents/nfc/ndef/text -I../../../third_party/nrf5_sdk/nrf5_sdk/components/nfc/ndef/uri -I../../../third_party/nrf5_sdk/nrf5_sdk/external/nrf_cc310/include -I../../../third_party/nrf5_sdk/nrf5_sdk/external/utf_converter -I../../../third_party/littlefs/littlefs -I../../.
    ./third_party/miniz/miniz -I../../../platform/MCU/nRF52840/inc -I../../../system/inc -I../../../wiring/inc -I../../../communication/inc -I../../../rt-dynalib/inc -I../../../crypto/inc -I../../../third_party/mbedtls/mbedtls/include -I../../../modules/shared/nRF52840/in
    c/system-part1 -I. -MD -MP -MF ../../../build/target/system-part1/platform-13-m/system-part1.elf.d -ffunction-sections -fdata-sections -Wall -Wno-switch -Wno-error=deprecated-declarations -fmessage-length=0 -fno-strict-aliasing -DSPARK=1 -DPARTICLE=1 -Werror=return-ty
    pe -Wundef -DSTART_DFU_FLASHER_SERIAL_SPEED=14400 -DSTART_YMODEM_FLASHER_SERIAL_SPEED=28800 -DUSER_FIRMWARE_IMAGE_SIZE=0x20000 -DUSER_FIRMWARE_IMAGE_LOCATION=0xD4000 -DMODULAR_FIRMWARE=1 -DMODULE_VERSION=2301 -DMODULE_FUNCTION=4 -DMODULE_INDEX=1 -DMODULE_DEPENDENCY=2,
    0,1005 -DMODULE_DEPENDENCY2=8,0,202 -D_GNU_SOURCE ../../../build/target/system-part1/platform-13-m/startup/startup_nrf52840.o ../../../build/target/system-part1/platform-13-m/./src/export_rt.o ../../../build/target/system-part1/platform-13-m/./src/import_user.o ../../
    ../build/target/system-part1/platform-13-m/./src/module_info.o ../../../build/target/system-part1/platform-13-m/./src/export_system.o ../../../build/target/system-part1/platform-13-m/./src/module_system_part1.o --output ../../../build/target/system-part1/platform-13-m
    /system-part1.elf -nostartfiles -Xlinker --gc-sections -fno-use-cxa-atexit -fno-lto -L../../../build/arm/linker/nrf52840 -L../../../build/arm/linker/nrf52840 -L../../../build/target/services/platform-13-m/ -L../../../build/target/platform/platform-13-m/ -L../../../bu
    ild/target/nrf5_sdk/platform-13-m/ -L../../../build/target/littlefs/platform-13-m/ -L../../../build/target/miniz/platform-13-m/ -L../../../build/target/hal/platform-13-m/ -L../../../build/target/freertos/platform-13-m/ -L../../../build/target/lwip/platform-13-m/ -L../
    ../../build/target/wiznet_driver/platform-13-m/ -L../../../build/target/gsm0710muxer/platform-13-m/ -L../../../build/target/system/platform-13-m/ -L../../../build/target/communication/platform-13-m-prod-13/ -L../../../build/target/wiring/platform-13-m/ -L../../../buil
    d/target/crypto/platform-13-m/ -L../../../build/target/wiring_globals/platform-13-m/ -L../../../build/target/newlib_nano/platform-13-m -L../../../build/target/nanopb/platform-13-m -L../../../build/target/nrf5_sdk/platform-13-m -L../../../build/target/littlefs/platform
    -13-m -L../../../build/target/miniz/platform-13-m -L../../../build/target/mbedtls/platform-13-m -L../../../build/arm/linker -Wl,--whole-archive -lservices -lsystem -lwiring -lcommunication -lhal -lplatform -lcrypto -lwiring_globals -lnanopb -llwip -lfreertos -lwiznet_
    driver -lgsm0710muxer -lnrf5_sdk -llittlefs -lminiz -lmbedtls -Wl,--no-whole-archive ../../../third_party/nrf5_sdk/nrf5_sdk/external/nrf_cc310/lib/cort
                                                                                                                                                          | char 8191 ex-m4/hard-float/libnrf_cc310_0.9.12.a ../../../third_party/nrf5_sdk/nrf5_sdk/components/nfc/t2t_lib/nfc_t
    2t_lib_gcc.a --specs=../../../newlib_nano/src/custom-nano.specs -L. -L../../../modules/shared/nRF52840 -L../../../modules/boron/user-part -T./linker.ld -Wl,--defsym,PLATFORM_DFU=0x30000 -Wl,-Map,../../../build/target/system-part1/platform-13-m/system-part1.map -Wl,--d
    efsym, __STACKSIZE__ =2048 -Wl,--defsym,__STACK_SIZE=2048 -u _printf_float -u uxTopUsedPriority

```

---

<div class="post-metadata">

**Author:** ![m\_m](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/m_m/32/18365_2.png) [@m\_m](https://community.particle.io/u/m_m)\
**Post date:** [February 3, 2022, 9:00pm UTC](https://community.particle.io/t/missing-nrf52840-h-compile-error/61969/5 "2022-02-03T21:00:22Z")

</div>

hm. i'm not sure what instructions you are following but when using Particle Workbench, you do not need to manually check out the Device OS source.

these may help:

[![](https://img.youtube.com/vi/_ayljPW98oU/maxresdefault.jpg "Particle 101 - Getting Started with Particle Workbench") ](https://www.youtube.com/watch?v=_ayljPW98oU)

[https://docs.particle.io/tutorials/developer-tools/workbench/#local-build-and-flash](https://docs.particle.io/tutorials/developer-tools/workbench/#local-build-and-flash)

the key thing is to walk thru the steps here: [https://support.particle.io/hc/en-us/articles/1260801313350#running-a-basic-workbench-functionality-check](https://support.particle.io/hc/en-us/articles/1260801313350#running-a-basic-workbench-functionality-check)

...and if you are still having issues, share the _nonsensitive_ output of the `Particle: Audit Environment` command here so folks can better help with additional troubleshooting.

also FYI:

> [@How to report bugs and provide feedback](https://community.particle.io/t/how-to-report-bugs-and-provide-feedback/52361):
>
> Hello Particle Workbench users wave We greatly value your feedback - to help us better diagnose and fix your issue as quickly as possible, here’s what you can do: Search in the community for similar reports - often times your question will have already been asked and answered Create a new topic / thread and include the “[ISSUE]” prefix - this will help us quickly differentiate bug reports from general questions / discussion Verify you are using the latest versions of VSCode & Particle W…

---

<div class="post-metadata">

**Author:** ![gcollins](https://avatars.discourse-cdn.com/v4/letter/g/7ba0ec/32.png) [@gcollins](https://community.particle.io/u/gcollins)\
**Post date:** [February 4, 2022, 2:29pm UTC](https://community.particle.io/t/missing-nrf52840-h-compile-error/61969/6 "2022-02-04T14:29:38Z")

</div>

This issue occurs when running on the terminal, not Workbench or particle-cli.  
I understand Workbench compilation takes care of getting the source.

It’s not an issue with Workbench, it’s npm/nodejs. Apparently Workbench requires particle-cli to function?  
I posted copious amounts of logs/output on a separate thread.

I am able to run make on a terminal, so no longer depend on Workbench or the particle-cli. I am good.

Audit log below.

```nohighlight
{
       "cli": {
        "binpath": "c:\\Users\\collig\\.vscode\\extensions\\particle.particle-vscode-core-1.14.7\\src\\cli\\bin\\windows\\amd64\\particle.exe",
        "ok": true,
        "version": "particle: Installing plugins...npm info it worked if it ends with ok\n
npm verb cli [\nnpm verb cli 'C:\\\\Users\\\\collig\\\\AppData\\\\Local\\\\particle\\\\node-v12.16.1-windows-x64\\\\bin\\\\node.exe',\n
npm verb cli 'C:\\\\Users\\\\collig\\\\AppData\\\\Local\\\\particle\\\\node-v12.16.1-windows-x64\\\\lib\\\\node_modules\\\\npm\\\\bin\\\\npm-cli.js',\n
npm verb cli '--scripts-prepend-node-path=true',\n
npm verb cli 'cache',\n
npm verb cli 'clean'\n
npm verb cli ]\n
npm info using npm@6.13.7\n
npm info using node@v12.16.1\n
npm verb npm-session 3b332839e0cd78a7\n
npm verb stack Error: As of npm@5, the npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid. If you want to make sure everything is consistent, use 'npm cache verify' instead. On the other hand, if you're debugging an issue with the installer, you can use `npm install --cache /tmp/empty-cache` to use a temporary cache instead of nuking the actual one.\nnpm verb stack \nnpm verb stack If you're sure you want to delete the entire cache, rerun this command with --force.\n
npm verb stack at clean (C:\\Users\\collig\\AppData\\Local\\particle\\node-v12.16.1-windows-x64\\lib\\node_modules\\npm\\lib\\cache.js:72:22)\n
npm verb stack at EventEmitter.cache (C:\\Users\\collig\\AppData\\Local\\particle\\node-v12.16.1-windows-x64\\lib\\node_modules\\npm\\lib\\cache.js:47:16)\n
npm verb stack at Object.commandCache.<computed> (C:\\Users\\collig\\AppData\\Local\\particle\\node-v12.16.1-windows-x64\\lib\\node_modules\\npm\\lib\\npm.js:156:13)\n
npm verb stack at EventEmitter.<anonymous> (C:\\Users\\collig\\AppData\\Local\\particle\\node-v12.16.1-windows-x64\\lib\\node_modules\\npm\\bin\\npm-cli.js:131:30)\n
npm verb stack at processTicksAndRejections (internal/process/task_queues.js:79:11)\n
npm verb cwd C:\\Users\\collig\\AppData\\Local\\particle\n
npm verb Windows_NT 10.0.17134\n
npm verb argv \"C:\\\\Users\\\\collig\\\\AppData\\\\Local\\\\particle\\\\node-v12.16.1-windows-x64\\\\bin\\\\node.exe\" \"C:\\\\Users\\\\collig\\\\AppData\\\\Local\\\\particle\\\\node-v12.16.1-windows-x64\\\\lib\\\\node_modules\\\\npm\\\\bin\\\\npm-cli.js\" \"--scripts-prepend-node-path=true\" \"cache\" \"clean\"\n
npm verb node v12.16.1\nnpm verb npm v6.13.7\n
npm ERR! As of npm@5, the npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid. If you want to make sure everything is consistent, use 'npm cache verify' instead. On the other hand, if you're debugging an issue with the installer, you can use `npm install --cache /tmp/empty-cache` to use a temporary cache instead of nuking the actual one.\n
npm ERR! \nnpm ERR! If you're sure you want to delete the entire cache, rerun this command with --force.\n
npm verb exit [1, true]\nnpm timing npm Completed in 925ms\n
\nnpm ERR! A complete log of this run can be found in:\n
npm ERR! C:\\Users\\collig\\AppData\\Local\\particle\\.npm-cache\\_logs\\2022-02-04T13_54_50_371Z-debug.log
\n
\n
 ! exit status 1\n
\rparticle: Installing plugins (retrying)...\n
 ! Error installing package. \n
 ! npm info it worked if it ends with ok\n
 ! npm verb cli [\n
 ! npm verb cli 'C:\\\\Users\\\\collig\\\\AppData\\\\Local\\\\particle\\\\node-v12.16.1-windows-x64\\\\bin\\\\node.exe',\n
 ! npm verb cli 'C:\\\\Users\\\\collig\\\\AppData\\\\Local\\\\particle\\\\node-v12.16.1-windows-x64\\\\lib\\\\node_modules\\\\npm\\\\bin\\\\npm-cli.js',\n
 ! npm verb cli '--scripts-prepend-node-path=true',\n
 ! npm verb cli 'install',\n ! npm verb cli '--force',\n
 ! npm verb cli 'particle-cli'\n ! npm verb cli ]\n
 ! npm info using npm@6.13.7\n ! npm info using node@v12.16.1\n
 ! npm WARN using --force I sure hope you know what you are doing.\n
 ! npm verb npm-session 2946f98f28af4fcf\n
 ! npm sill install loadCurrentTree\n
 ! npm sill install readLocalPackageData\n
 ! npm sill fetchPackageMetaData error for particle-cli@latest request to https://registry.npmjs.org/particle-cli failed, reason: read ECONNRESET\n
 ! npm timing stage:rollbackFailedOptional Completed in 2ms\n
 ! npm timing stage:runTopLevelLifecycles Completed in 251666ms\n
 ! npm verb type system\n
 ! npm verb stack FetchError: request to https://registry.npmjs.org/particle-cli failed, reason: read ECONNRESET\n
 ! npm verb stack at ClientRequest.<anonymous> (C:\\Users\\collig\\AppData\\Local\\particle\\node-v12.16.1-windows-x64\\lib\\node_modules\\npm\\node_modules\\node-fetch-npm\\src\\index.js:68:14)\n
 ! npm verb stack at ClientRequest.emit (events.js:311:20)\n
 ! npm verb stack at TLSSocket.socketErrorListener (_http_client.js:426:9)\n ! npm verb stack at TLSSocket.emit (events.js:311:20)\n
 ! npm verb stack at emitErrorNT (internal/streams/destroy.js:92:8)\n
 ! npm verb stack at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)\n
 ! npm verb stack at processTicksAndRejections (internal/process/task_queues.js:84:21)\n
 ! npm verb cwd C:\\Users\\collig\\AppData\\Local\\particle\n
 ! npm verb Windows_NT 10.0.17134\n
 ! npm verb argv \"C:\\\\Users\\\\collig\\\\AppData\\\\Local\\\\particle\\\\node-v12.16.1-windows-x64\\\\bin\\\\node.exe\" \"C:\\\\Users\\\\collig\\\\AppData\\\\Local\\\\particle\\\\node-v12.16.1-windows-x64\\\\lib\\\\node_modules\\\\npm\\\\bin\\\\npm-cli.js\" \"--scripts-prepend-node-path=true\" \"install\" \"--force\" \"particle-cli\"\n
 ! npm verb node v12.16.1\n
 ! npm verb npm v6.13.7\n
 ! npm ERR! code ECONNRESET\n
 ! npm ERR! errno ECONNRESET\n
 ! npm ERR! network request to https://registry.npmjs.org/particle-cli failed, reason: read ECONNRESET\n
 ! npm ERR! network This is a problem related to network connectivity.\n
 ! npm ERR! network In most cases you are behind a proxy or have bad network settings.\n
 ! npm ERR! network \n
 ! npm ERR! network If you are behind a proxy, please make sure that the\n
 ! npm ERR! network 'proxy' config is set properly. See: 'npm help config'\n
 ! npm verb exit [1, true]\n ! npm timing npm Completed in 252969ms\n
 ! \n ! npm ERR! A complete log of this run can be found in:\n
 ! npm ERR! C:\\Users\\collig\\AppData\\Local\\particle\\.npm-cache\\_logs\\2022-02-04T13_59_03_866Z-debug.log\n ! \n
 ! Try running again with GODE_DEBUG=info to see more output.",
        "installed": 1642601731031
    },
    "localCompiler": {
        "ok": true,
        "dependencies": [
            {
                "id": "deviceOS@3.2.0",
                "ok": true
            },
            {
                "id": "gcc-arm@10.2.1",
                "ok": true
            },
            {
                "id": "buildtools@1.1.1",
                "ok": true
            },
            {
                "id": "buildscripts@1.10.0",
                "ok": true
            },
            {
                "id": "openocd@0.11.2-adhoc6ea4372.0",
                "ok": true
            },
            {
                "id": "deviceOS@3.0.0",
                "ok": true
            },
            {
                "id": "gcc-arm@9.2.1",
                "ok": true
            },
            {
                "id": "deviceOS@2.2.0",
                "ok": true
            }
        ]
    },
    "platform": {
        "os": "windows",
        "type": "Windows_NT",
        "release": "10.0.17134",
        "arch": "x64",
         },
    "env": {
        "ELECTRON_RUN_AS_NODE": "1",
        "OPENSSL_CONF": "C:\\OpenSSL-Win32\\bin\\openssl.cfg",
         "OS": "Windows_NT",
        "PROCESSOR_ARCHITECTURE": "AMD64",
        "PROCESSOR_IDENTIFIER": "Intel64 Family 6 Model 142 Stepping 10, GenuineIntel",
        "PROCESSOR_LEVEL": "6",
        "PROCESSOR_REVISION": "8e0a",
        "SESSIONNAME": "Console",
        "SystemDrive": "C:",
        "SystemRoot": "C:\\WINDOWS",
        "VSCODE_AMD_ENTRYPOINT": "vs/workbench/services/extensions/node/extensionHostProcess",
        "VSCODE_CODE_CACHE_PATH": "C:\\Users\\collig\\AppData\\Roaming\\Code\\CachedData\\899d46d82c4c95423fb7e10e68eba52050e30ba3",
        "VSCODE_CWD": "C:\\Users\\collig\\AppData\\Local\\Programs\\Microsoft VS Code",
        "VSCODE_HANDLES_UNCAUGHT_ERRORS": "true",
        "VSCODE_IPC_HOOK": "\\\\.\\pipe\\852b30daf23e4fd81172222705115a73-1.63.2-main-sock",
        "VSCODE_IPC_HOOK_EXTHOST": "\\\\.\\pipe\\vscode-ipc-0ecc48f9-c022-4cb0-b755-f4890022f2da-sock",
        "VSCODE_LOG_NATIVE": "false",
        "VSCODE_LOG_STACK": "false",
        "VSCODE_NLS_CONFIG": "{\"locale\":\"en-us\",\"availableLanguages\":{},\"_languagePackSupport\":true}",
        "VSCODE_PID": "20032",
        "VSCODE_PIPE_LOGGING": "true",
        "VSCODE_VERBOSE_LOGGING": "true",
    },
    "versions": {
        "node": "14.16.0",
        "v8": "9.1.269.39-electron.0",
        "uv": "1.40.0",
        "zlib": "1.2.11",
        "brotli": "1.0.9",
        "ares": "1.16.1",
        "modules": "89",
        "nghttp2": "1.41.0",
        "napi": "7",
        "llhttp": "2.1.3",
        "openssl": "1.1.1",
        "cldr": "38.0",
        "icu": "68.1",
        "tz": "2021a",
        "unicode": "13.0",
        "electron": "13.5.2",
        "microsoft-build": "10705177"
    },
    "vscode": {
        "appName": "Visual Studio Code",
        "appRoot": "c:\\Users\\collig\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app",
        "machineId": "dcb904236827657214e6ef660d84bec3fd1782146deb279261cafa0a822af6ce",
        "sessionId": "d836e24d-756f-44e6-99fd-dc4b346247491643982483382",
        "version": "1.63.2"
    },
    "extensions": [
        {
            "id": "ms-vscode-remote.remote-wsl-recommender",
            "version": "0.0.12"
        },
        {
            "id": "ms-vscode.js-debug",
            "version": "1.62.0"
        },
        {
            "id": "ms-vscode.js-debug-companion",
            "version": "1.0.15"
        },
        {
            "id": "ms-vscode.references-view",
            "version": "0.0.81"
        },
        {
            "id": "ms-vscode.vscode-js-profile-table",
            "version": "0.0.18"
        },
        {
            "id": "firefox-devtools.vscode-firefox-debug",
            "version": "2.9.6"
        },
        {
            "id": "marus25.cortex-debug",
            "version": "1.2.2"
        },
        {
            "id": "ms-toolsai.jupyter",
            "version": "2021.11.1001550889"
        },
        {
            "id": "ms-toolsai.jupyter-keymap",
            "version": "1.0.0"
        },
        {
            "id": "ms-toolsai.jupyter-renderers",
            "version": "1.0.4"
        },
        {
            "id": "ms-vscode.cpptools",
            "version": "1.8.3"
        },
        {
            "id": "particle.particle-vscode-core",
            "version": "1.14.7"
        },
        {
            "id": "particle.particle-vscode-pack",
            "version": "1.14.7"
        },
        {
            "id": "particle.particle-vscode-snippets",
            "version": "1.14.7"
        },
        {
            "id": "particle.particle-vscode-theme",
            "version": "1.14.7"
        }
    ]
}

```

---

<div class="post-metadata">

**Author:** ![nrobinson2000](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/nrobinson2000/32/15624_2.png) [@nrobinson2000](https://community.particle.io/u/nrobinson2000)\
**Post date:** [February 6, 2022, 10:29pm UTC](https://community.particle.io/t/missing-nrf52840-h-compile-error/61969/7 "2022-02-06T22:29:04Z")

</div>

Nice to see that you got it working.

I maintain a python-based tool called neopo that facilitates a similar setup with some helpful wrapper functions, but I primarily develop it for Linux and macOS. It can work on Windows with a little tweaking.

[https://neopo.xyz/](https://neopo.xyz/)

I hadn’t considered that people could be in a situation where they’re unable to access github via https, so I might add a feature to replicate the workaround you had to do.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/particle/original/3X/3/2/3291e3c9351789fe8620ae5bcec8d3fec67ff221.png) [@system](https://community.particle.io/u/system)\
**Post date:** [March 9, 2022, 8:29am UTC](https://community.particle.io/t/missing-nrf52840-h-compile-error/61969/8 "2022-03-09T08:29:48Z")

</div>

Closed on March 9, 2022, 8:29am UTC

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
