Hint: "self: import: submanifests": file not found

Whenever I open my workspace or build in VS Code, the Output tab of the bottom pane opens to nRF Connect output where it repeats this many times:

[west]: FATAL ERROR: can't load west manifest: Malformed manifest data
[west]: Schema file: /home/rmulder/ncs/toolchains/b2ecd2435d/usr/local/lib/python3.12/site-packages/west/manifest-schema.yml
[west]: Hint: "self: import: submanifests": file not found

[west]: exited with code 1.

How can I debug this? Which manifest file is it referring to?

Parents
  • can you try to uninstall and reinstall the toolchain using VS Code?

    I have a new computer, so I don't have all the toolchains installed, but I guess you know what toolchain you are trying to use, and you can try to re-install that one in particular.

    Best regards,

    Edvin

  • I tried that, but no change.

    Here's my toolchain info from the Output pane:

    =========== Toolchain validation report for nRF Connect SDK Toolchain v3.1.1 ===========
    📦 Using the nRF Connect SDK v3.1.1 at /home/rmulder/devel/<project root folder name was here>
    No issues were detected with the toolchain.
  • Sorry for the delayed response.

    When I select Manage toolchains -> Uninstall toolchain, it prompts me to remove it with a dialog. Perhaps because I only have one toolchain installed?

  • Try installing a second one, e.g. v3.0.0, just to see the list. 

    BR,
    Edvin

  • Thank you!

    Are you intentionally trying to use the v3.1 branch? Is there any reason why you don't want to check out a tag, e.g. v3.1.1? It is often better to work on stable releases. If so, you can install the SDK by using the "Manage SDKs" button (right below "Manage toolchains").

    If you for some reason want to use the live v3.1-branch, then can you please upload your entire manifest file? Our VS Code team believes there is something else in that file, causing it to be corrupt. At least they tested with this, and that worked without any issues:

    $ cat west.yml 
    manifest:
      projects:
        - name: nrf
          url: https://github.com/nrfconnect/sdk-nrf.git
          revision: v3.1-branch
          import: true
          clone-depth: 1
    ...

    If you can't post it here, feel free to send it to me in a DM here on DevZone.

    Best regards,

    Edvin

  • Yes, I was intentionally using the branch, but I accept your recommendation to use the stable version.

    Still, I prefer to use west to manage the SDK (rather than installing it) to simplify setup for developers and continuous integration.

    The sdk version didn't make a difference, but I do think I stumbled on the problem while experimenting with the different versions.

    My VS Code workspace includes the folder of a library we wrote with a west.yml (or something that nRF Connect is finding). When I remove the folder, the issue clears up.

    Here's my files:

    folder structure:

    MyProject
      my-project.code-workspace
      .west
        config
      my-project
        west.yml
      my-library
        west.yml

    MyProject/my-project.code-workspace:

    {
      "folders": [
        {
          "path": "."
        },
        {
          "path": "my-library"
        }
      ],
      "settings": {
        "nrf-connect.applications": [
          "${workspaceFolder}/my-project"
        ],
        "nrf-connect.boardRoots": [
          "${workspaceFolder}/my-library"
        ]
      }
    }

    MyProject/.west/config

    [manifest]
    path = my-project
    file = west.yml
    
    [zephyr]
    base = zephyr

    MyProject/my-project/west.yml

    manifest:
      projects:
        - name: my-library
          url: [email protected]:my-library.git
          revision: main
          import: west.yml
          clone-depth: 1
      self:
        path: my-project
    

    MyProject/my-library/west.yml

    manifest:
      projects:
        - name: nrf
          url: https://github.com/nrfconnect/sdk-nrf.git
          revision: v3.1.1
          import: true
          clone-depth: 1
    
      self:
        path: my-library
    

    So when I remove this from the folders array in MyProject/my-project.code-workspace, the issue clears up:

        {
          "path": "my-library"
        }

    But, then VS Code won't interact with the code in my-library, which I'm often developing at the same time as my-project.

Reply
  • Yes, I was intentionally using the branch, but I accept your recommendation to use the stable version.

    Still, I prefer to use west to manage the SDK (rather than installing it) to simplify setup for developers and continuous integration.

    The sdk version didn't make a difference, but I do think I stumbled on the problem while experimenting with the different versions.

    My VS Code workspace includes the folder of a library we wrote with a west.yml (or something that nRF Connect is finding). When I remove the folder, the issue clears up.

    Here's my files:

    folder structure:

    MyProject
      my-project.code-workspace
      .west
        config
      my-project
        west.yml
      my-library
        west.yml

    MyProject/my-project.code-workspace:

    {
      "folders": [
        {
          "path": "."
        },
        {
          "path": "my-library"
        }
      ],
      "settings": {
        "nrf-connect.applications": [
          "${workspaceFolder}/my-project"
        ],
        "nrf-connect.boardRoots": [
          "${workspaceFolder}/my-library"
        ]
      }
    }

    MyProject/.west/config

    [manifest]
    path = my-project
    file = west.yml
    
    [zephyr]
    base = zephyr

    MyProject/my-project/west.yml

    manifest:
      projects:
        - name: my-library
          url: [email protected]:my-library.git
          revision: main
          import: west.yml
          clone-depth: 1
      self:
        path: my-project
    

    MyProject/my-library/west.yml

    manifest:
      projects:
        - name: nrf
          url: https://github.com/nrfconnect/sdk-nrf.git
          revision: v3.1.1
          import: true
          clone-depth: 1
    
      self:
        path: my-library
    

    So when I remove this from the folders array in MyProject/my-project.code-workspace, the issue clears up:

        {
          "path": "my-library"
        }

    But, then VS Code won't interact with the code in my-library, which I'm often developing at the same time as my-project.

Children
Related