A clean `nimble build` fails
ee7 opened this issue · comments
Example
cd /tmp
git clone https://github.com/crashappsec/cap10
cd cap10
nimble build
Expected behavior
nimble build
succeeds.
Current behavior
If a particular nimutils state was not already installed locally, nimble build
fails and outputs:
Verifying dependencies for cap10@0.3.0
Installing https://github.com/crashappsec/nimutils@#95c0657dd9d150f25ed2b8ef991cb9b9e5b05846
Downloading https://github.com/crashappsec/nimutils using git
Tip: 4 messages have been suppressed, use --verbose to show them.
tools.nim(62) tryDoCmdEx
Error: Execution of 'git -C /tmp/nimble_21368/githubcom_crashappsecnimutils_#95c0657dd9d150f25ed2b8ef991cb9b9e5b05846 checkout --force 95c0657dd9d150f25ed2b8ef991cb9b9e5b05846' failed with an exit code 128.
... Details: fatal: reference is not a tree: 95c0657dd9d150f25ed2b8ef991cb9b9e5b05846
Discussion
The latest cap10 commit (7af7864) bumped the nimutils commit to crashappsec/nimutils@95c0657. At the time of writing, Git can't checkout that commit because it doesn't exist on a branch at https://github.com/crashappsec/nimutils.
nimble build
succeeds if we first checkout the previous cap10 commit, 39a53db.
The nimutils dev branch has a bunch of changes that I guess will merit a nimutils version bump in this repo at some point. I imagine that'll resolve the problem, but let's track it with this issue in the meantime. No rush from me.
Versions
Tool | Version | Date | Notes |
---|---|---|---|
Nim | 2.0.0 | 2023-08-01 | |
Nimble | 0.14.2 | 2023-08-01 | (The version that's shipped with Nim 2.0.0) |
Git | 2.43.0 | 2023-11-20 |
Thanks, just updated for the latest nimutils changes; should be good now. But please verify before I close?
Going to add some tickets for roadmap items now too; will get back to it after the next batch of con4m / chalk work.