Skip to content

Document that freeink-sdk submodule must be initialized before first build #629

Description

@brunosabenca

Problem

getting-started.md covers this correctly (git clone --recursive / git submodule update --init --recursive), but the main README's "Build / flash / monitor" section (and the "Nix/NixOS" section right above it) jumps straight to:

pio run -e default --target upload

with no reminder to initialize submodules first, and only a separate link to the getting-started guide. If you clone without --recursive (or an existing clone predates the submodule) and follow the README path directly, freeink-sdk/ is checked out but empty, and pio run fails with an unhelpful error instead of pointing at the real cause:

Library Manager: Installing symlink://freeink-sdk/libs/hardware/BatteryMonitor
PackageException: Can not create a symbolic link for `freeink-sdk/libs/hardware/BatteryMonitor`, not a directory

Nothing in that message hints that the fix is git submodule update --init --recursive.

Suggestion

  • Add a one-line submodule-init reminder directly in the README's Build/flash section (not just in getting-started.md), so it's visible right before the pio run command.
  • Optionally, note the PackageException: ... not a directory symlink error as a known symptom of missing submodules, so it's searchable.

Environment

  • Fresh/moved clone of CrossInk, freeink-sdk submodule present in .gitmodules but uninitialized (git submodule status shows a - prefix).

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions