SSL Proxy Errors When Installing Toolchain Manager

I'm trying to install the toolchain manager on a new work computer and I'm running into issues that I think are related to my work's proxy.

I've tried following the steps from this QA but haven't had any luck.

How to use nRF Connect v2.0 behind corporate SSL proxy? - Nordic Q&A - Nordic DevZone - Nordic DevZone (nordicsemi.com)

I've set the correct cafile path for yarn and I've tried disabling the "strict-ssl" setting all together and no luck.

Here is a copy of the error message that I get regardless of what settings I change.

I'm able to copy and paste that link into a browser and download the tar file without issue so I'm not sure why the nRF connect desktop isn't able to grab it. I have certificates registered with my OS, browser, nodejs, yarn, etc.

Anyone have suggestions on how to resolve the error?

  • Hi Zachary,

    NCS/Zephyr is setting up an isolated environment for its own usage, so it avoid to install software tools into your system direclty.

    Is installing thorugh a home network/mobile phone hotspot/VPN to bypass your proxy a possible solution?

    Otherwise, I think it is very challenge to do this without knowing you Proxy setting, you may need to get help from your IT administrator. 

    Best regards,

    Charlie 

  • Thanks for the suggestion Charlie.

    I did some digging last night inside the isolated environments and found I was able to add my certs to the mingw64 environment that it had setup. I dropped my company's custom cert file in the `mingw64/ssl/certs` folder. This allowed the `git-bash` environment launched from that toolchain to work with the proxy and download the files.

    However I am running into a new issue when running `west init -m github.com/.../sdk-nrf --mr v2.7.0`. I have tried with my modified cert environment as well as installing a fresh toolchain install off my company's network and downloading a new SDK and I get the same problem in both scenarios.

    Everything pulls and downloads correctly but get the following permissions/access denied error:

    (v2.7.0) C:\Users\brongzr1\ncs> mkdir v2.7.0
    
    (v2.7.0) C:\Users\brongzr1\ncs> cd v2.7.0
    
    (v2.7.0) C:\Users\brongzr1\ncs\v2.7.0> west init -m https://github.com/nrfconnect/sdk-nrf --mr v2.7.0
    === Initializing in C:\Users\brongzr1\ncs\v2.7.0
    --- Cloning manifest repository from https://github.com/nrfconnect/sdk-nrf, rev. v2.7.0
    Cloning into 'C:\Users\brongzr1\ncs\v2.7.0\.west\manifest-tmp'...
    remote: Enumerating objects: 268858, done.
    remote: Counting objects: 100% (1480/1480), done.
    remote: Compressing objects: 100% (837/837), done.
    Receiving objects: 100% (268858/268858), 160.23 MiB | 4.34 MiB/s, done.67378 (from 1)
    
    Resolving deltas: 100% (200877/200877), done.
    Note: switching to '5cb85570ca43bc344d3145c2338128eacf4b48ec'.
    
    You are in 'detached HEAD' state. You can look around, make experimental
    changes and commit them, and you can discard any commits you make in this
    state without impacting any branches by switching back to a branch.
    
    If you want to create a new branch to retain commits you create, you may
    do so (now or later) by using -c with the switch command. Example:
    
      git switch -c <new-branch-name>
    
    Or undo this operation with:
    
      git switch -
    
    Turn off this advice by setting config variable advice.detachedHead to false
    
    Updating files: 100% (10431/10431), done.
    Traceback (most recent call last):
      File "shutil.py", line 825, in move
    PermissionError: [WinError 5] Access is denied: 'C:\\Users\\brongzr1\\ncs\\v2.7.0\\.west\\manifest-tmp' -> 'C:\\Users\\brongzr1\\ncs\\v2.7.0\\nrf'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "runpy.py", line 197, in _run_module_as_main
      File "runpy.py", line 87, in _run_code
      File "C:\Users\brongzr1\ncs\toolchains\ce3b5ff664\opt\bin\Scripts\west.exe\__main__.py", line 7, in <module>
      File "C:\Users\brongzr1\ncs\toolchains\ce3b5ff664\opt\bin\Lib\site-packages\west\app\main.py", line 1085, in main
        app.run(argv or sys.argv[1:])
      File "C:\Users\brongzr1\ncs\toolchains\ce3b5ff664\opt\bin\Lib\site-packages\west\app\main.py", line 244, in run
        self.run_command(argv, early_args)
      File "C:\Users\brongzr1\ncs\toolchains\ce3b5ff664\opt\bin\Lib\site-packages\west\app\main.py", line 503, in run_command
        self.run_builtin(args, unknown)
      File "C:\Users\brongzr1\ncs\toolchains\ce3b5ff664\opt\bin\Lib\site-packages\west\app\main.py", line 611, in run_builtin
        self.cmd.run(args, unknown, self.topdir,
      File "C:\Users\brongzr1\ncs\toolchains\ce3b5ff664\opt\bin\Lib\site-packages\west\commands.py", line 194, in run
        self.do_run(args, unknown)
      File "C:\Users\brongzr1\ncs\toolchains\ce3b5ff664\opt\bin\Lib\site-packages\west\app\project.py", line 224, in do_run
        topdir = self.bootstrap(args)
      File "C:\Users\brongzr1\ncs\toolchains\ce3b5ff664\opt\bin\Lib\site-packages\west\app\project.py", line 339, in bootstrap
        shutil.move(os.fspath(tempdir), os.fspath(manifest_abspath))
      File "shutil.py", line 843, in move
      File "shutil.py", line 759, in rmtree
      File "shutil.py", line 624, in _rmtree_unsafe
      File "shutil.py", line 624, in _rmtree_unsafe
      File "shutil.py", line 624, in _rmtree_unsafe
      File "shutil.py", line 629, in _rmtree_unsafe
      File "shutil.py", line 627, in _rmtree_unsafe
    PermissionError: [WinError 5] Access is denied: 'C:\\Users\\brongzr1\\ncs\\v2.7.0\\.west\\manifest-tmp\\.git\\objects\\pack\\pack-b8d43ed5239dadf3615ddfc6b5e63dc0d90dfac1.idx'
    
    (v2.7.0) C:\Users\brongzr1\ncs\v2.7.0>

    I think this is separate from the proxy error so I can make a new ticket if you would like. Have you ever seen this and do you have any suggestions?

  • Hi Zachary,

    Did you try to run the terminal as administrator? or do you has this kind of administrator permission to your PC?

    Best regards,

    Charlie

  • The root cause of the "access denied" error was the IT backup software attempting to back up the files while west was trying to move or delete them which caused the permission issue. Temporarily disabling the backup software allowed for a clean installation.

    Summary of answers:

    • Follow your company's internal documentation on adding the proxy certificates and settings to the host OS.
      • Try adding the custom certificates to the mingw64 folder "mingw64/ssl/certs" and launching from the "git-bash" application for that toolchain
    • Attempt to use a non-proxy controlled network when downloading/installing the repo
    • Make sure the folder the toolchain and SDKs are installing to are under your control and you have full permissions
    • Make sure antivirus or backup software is not actively uploading or inspecting the installation directory while west is installing
    • If VSCode or the GUI struggles to download the toolchain-manager attempt to use the nrfutil to install them.
Related