CNA-BUG-191: cna_configure_vendored_enet tells the user to run 'git submodule update --init third_party/enet', but ENet is committed in the tree, not a submodule
Evidence basis: source-verified at the pinned commit. Claims on this page were checked by reading the CNA source at commit 009d40f5; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.
When third_party/enet/CMakeLists.txt is missing, cmake/ThirdPartyENet.cmake fails with advice to initialise a submodule that does not exist; ENet is ordinary tracked source, so the advice cannot restore it.
- Identifier
CNA-BUG-191- Category
- Bug
- Subsystem
- Build & CI
- Status
- Open
- Verified against
- CNA
009d40f5(009d40f5dd085c4e674d3479675fac84b12b3e0a) - Severity
- Low (a triage suggestion, not a project priority)
- Evidence basis
- Source-verified: read at TARGET, not executed
- Tests touching this area
- None
- Affected contract
- cmake/ThirdPartyENet.cmake cna_configure_vendored_enet (CNA_ENABLE_NET builds): the FATAL_ERROR shown when the vendored ENet source is absent
Expected behaviour
A configure error should tell the user how to restore the missing input. ENet is vendored as ordinary source in third_party/enet, as the input workflow's header and the build pages say.
Actual behaviour at TARGET
cmake/ThirdPartyENet.cmake fails with "CNA: ENet source not found at ... Run: git submodule update --init third_party/enet". In the tree of 009d40f5 third_party/enet is a normal directory (Git mode 040000, not a gitlink), and .gitmodules lists only vendor/googletest, third_party/SDL, third_party/SDL_image, third_party/SDL_mixer and third_party/draco. The advised command has nothing to fetch; the actual causes of a missing ENet are an incomplete export or deleted files, which git checkout -- third_party/enet or a fresh clone repairs.
Source locations
cmake/ThirdPartyENet.cmake— cna_configure_vendored_enet - the missing-source FATAL_ERROR.gitmodules— the five real submodules; no ENet entry
Evidence
Checked by reading at 009d40f5 (the Git tree listing of third_party/ and .gitmodules); the error path was not triggered.
Focused reproduction
No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.
Current tests
None; no configure-message test covers the vendored-ENet check.
Regression test
None applies; correct the message (restore the directory from Git or re-clone).
Blast radius
Only users whose checkout lacks third_party/enet, and only the advice; the check itself is right.
Workaround
Restore the directory with git checkout -- third_party/enet (or re-clone), or configure with CNA_ENABLE_NET=OFF.
Related pages
The same subject is explained at several altitudes. These are the neighbouring pages at each one.
- Architecture
- Build architecture: third-party dependencies
- Internals
- Net module: composition and ENet
- Known issues
- Bug index