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).
Problem
getting-started.mdcovers 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: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, andpio runfails with an unhelpful error instead of pointing at the real cause:Nothing in that message hints that the fix is
git submodule update --init --recursive.Suggestion
pio runcommand.PackageException: ... not a directorysymlink error as a known symptom of missing submodules, so it's searchable.Environment
CrossInk,freeink-sdksubmodule present in.gitmodulesbut uninitialized (git submodule statusshows a-prefix).