Description
When building the static shell using the provided scripts/run-with-docker.sh shell script, a license file must be mounted into the container. However, the container's network interface has a different MAC address than the host's. If the mounted license is a node-locked license (tied to the host's MAC address), Vivado fails to recognize it as valid and reports a missing/invalid license error — even though a seemingly valid license file has been mounted.
Workaround
Adding --network host to DOCKER_RUN_ARGS resolves the issue, presumably because it allows the container to use the host's network interface (and therefore its MAC address).
However, it's unclear:
- Why this workaround is necessary (is it documented anywhere?)
- Under what conditions this flag is required (e.g., only for node-locked licenses, or in other scenarios as well)
- Whether there's a more targeted/safer solution than exposing the full host network to the container
Description
When building the static shell using the provided
scripts/run-with-docker.shshell script, a license file must be mounted into the container. However, the container's network interface has a different MAC address than the host's. If the mounted license is a node-locked license (tied to the host's MAC address), Vivado fails to recognize it as valid and reports a missing/invalid license error — even though a seemingly valid license file has been mounted.Workaround
Adding
--network hosttoDOCKER_RUN_ARGSresolves the issue, presumably because it allows the container to use the host's network interface (and therefore its MAC address).However, it's unclear: