This page covers the most common issues encountered when installing and running C5-DEC CAD, and how to resolve them.
- Container build failures
- Poetry environment issues
- Doorstop validation errors
- GUI port conflicts
- General tips
Symptom: ./build-c5dec.sh exits with Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
Cause: Docker Engine (Linux) or Docker Desktop (macOS / Windows) is not running.
Fix:
- Linux: start the Docker service with
sudo systemctl start docker. - macOS / Windows: open Docker Desktop and wait for it to report "Engine running".
Symptom: Opening the project folder in VS Code shows no dev container notification.
Cause: The Dev Containers extension is not installed, or Docker Desktop is not running.
Fix:
- Install the Dev Containers extension.
- Make sure Docker Desktop is running.
- Close and reopen the project folder in VS Code, or run Dev Containers: Reopen in Container from the command palette (Cmd/Ctrl+Shift+P).
Symptom: The build stops with Failed to fetch or Could not resolve host.
Cause: A package registry was unreachable during the build (transient network issue).
Fix: Re-run the build. Docker caches layers, so only the failed step and those after it will be retried:
./build-c5dec.shIf the failure recurs on the same layer, check whether the package registry is currently reachable from your network and try again later.
Symptom: The build exits with E: Package '<name>' has no installation candidate.
Cause: The Debian/Ubuntu package index inside the build context is stale.
Fix: Force a full rebuild without using cached layers:
docker build --no-cache -f dev.Dockerfile -t c5dec-dev .Symptom: Running c5dec after opening the dev container terminal returns command not found.
Cause: The Poetry virtual environment has not been activated.
Fix: Activate the environment:
poetry shellThen retry the command. Alternatively, prefix every command with poetry run:
poetry run c5dec -hSymptom: poetry install exits with SolverProblemError: ….
Cause: A pyproject.toml change introduced an incompatible dependency constraint.
Fix:
- Run
poetry checkto identify the invalid constraint. - Review recent changes to
pyproject.toml. - Update the conflicting constraint and re-run
poetry install.
Symptom: VS Code shows import errors for c5dec modules despite the project being open in the dev container.
Cause: VS Code is not using the Poetry-managed Python interpreter.
Fix: Click the light bulb next to a warning and select the Python interpreter installed by Poetry, or open the command palette → Python: Select Interpreter and choose the Poetry environment path (typically .venv/bin/python inside the container).
Symptom: poetry run doorstop exits with unknown parent document.
Cause: A Doorstop document references a parent document that does not exist or has been renamed.
Fix:
- Open the
.doorstop.ymlfile of the affected document. - Verify the
parentfield matches an existing document prefix. - Re-run
poetry run doorstopto confirm the fix.
Symptom: poetry run doorstop lists items with ERR: broken link.
Cause: A requirement item links to an item UID that no longer exists.
Fix: Use the SpecEngine pruning utility to identify and remove orphaned links:
python docs/specs/SpecEngine/prune_bad_links.pyThen re-run poetry run doorstop to confirm all links are valid.
Symptom: doorstop reports yaml.scanner.ScannerError on a specific item file.
Cause: A manual edit introduced invalid YAML syntax in an item .yml file.
Fix: Open the reported file and check for unescaped special characters (colons, brackets, quotes) in the text or ref fields. Wrap affected values in single or double quotes.
Symptom: c5dec -g (or ./c5dec.sh -g) exits immediately with OSError: [Errno 98] Address already in use.
Cause: Another process is already bound to port 5432.
Fix:
- Find the process occupying the port:
lsof -i :5432
- Stop the conflicting process, or use a different port by setting the
C5DEC_GUI_PORTenvironment variable before launching:Then openC5DEC_GUI_PORT=5433 c5dec -g
http://127.0.0.1:5433in your browser.
Symptom: The terminal shows the Flask server starting, but the browser cannot connect to 127.0.0.1:5432.
Cause (dev container): The container port is not mapped to the host.
Fix: In VS Code, check Ports (bottom status bar → Ports tab). If port 5432 is not listed as forwarded, click Forward a Port, enter 5432, then refresh the browser.
- Check the C5-DEC version: run
c5dec --version(or./c5dec.sh --version) to confirm which release you are running before reporting an issue. - Rebuild after a git pull: if behaviour changes unexpectedly after pulling the latest code, rebuild the Docker image with
./build-c5dec.sh(Docker model) or rebuild the dev container by selecting Dev Containers: Rebuild Container from the VS Code command palette. - Consult the full log: many commands support a
--debugor-vflag. Check the command's--helpfor available verbosity options. - Open an issue: if none of the above resolves your problem, open an issue on the GitHub repository with the C5-DEC version, deployment method, steps to reproduce, and any relevant log output.