You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
copilot-visualizer: Cabal file indicates inconsistent version bounds for copilot #749
The cabal file of copilot-visualizer lists inconsistent version bounds for the package copilot. Specifically, it depends on copilot versions from 4.8 to, but not including, 4.9 for the visualizer library, and from 4.7 up to, but not including, 4.8 for the gui-example executable. This prevents the example from being compiled against the same version of the library.
Type
Bug: Cabal file lists incompatible version range for the same dependency.
Additional context
None.
Requester
Ivan Perez.
Method to check presence of bug
Attempting to install the package with the examples enabled results in an error message due to not being able to meet the dependencies.
$ cabal v1-install -fexamples --dry-run copilot-visualizer/
Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] trying: copilot-4.7.1/installed-J7d... (user goal)
[__1] next goal: copilot-visualizer (user goal)
[__1] rejecting: copilot-visualizer-4.8 (conflict:
copilot==4.7.1/installed-J7d..., copilot-visualizer => copilot>=4.8 &&<4.9)
[__1] rejecting: copilot-visualizer-4.7.1, copilot-visualizer-4.7,
copilot-visualizer-4.6.1, copilot-visualizer-4.6, copilot-visualizer-4.5.1,
copilot-visualizer-4.5 (constraint from user target requires ==4.8)
[__1] fail (backjumping, conflict set: copilot, copilot-visualizer)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: copilot-visualizer, copilot,copilot-visualizer:examplesNote: when using a sandbox, all packages are required to have consistentdependencies. Try reinstalling/unregistering the offending packages orrecreating the sandbox.
Expected result
The package can be installed correctly with the examples flag enabled.
Desired result
The package can be installed correctly with the examples flag enabled.
Proposed solution
Bump the version numbers of copilot used in the examples to match the library.
The solution proposed produces the expected result. Details:
The following Dockerfile checks that copilot-visualizer could be installed with the examples enabled, after which it prints the message "Success":
--- Dockerfile-verify-749
FROM ubuntu:jammy
WORKDIR /root
SHELL ["/bin/bash", "-c"]
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update
RUN apt-get install --yes \
libz-dev \
git \
curl \
gcc \
g++ \
make \
libgmp3-dev \
pkg-config \
z3
RUN mkdir -p $HOME/.ghcup/bin
RUN curl https://downloads.haskell.org/~ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 -o $HOME/.ghcup/bin/ghcup
RUN chmod a+x $HOME/.ghcup/bin/ghcup
ENV PATH=$PATH:/root/.ghcup/bin/
ENV PATH=$PATH:/root/.cabal/bin/
RUN ghcup install ghc 9.8.4
RUN ghcup install cabal 3.2
RUN ghcup set ghc 9.8.4
RUN cabal user-config init
RUN sed -i -e "s;-- \(secure.\) True;\1 False;g" /root/.cabal/config
RUN cabal update
ARG GIT_COMMIT=HEAD
ARG NAME=copilot
ARG REPO=https://github.com/copilot-language/copilot
RUN git clone ${REPO} ${NAME}
RUN cd ${NAME} && git checkout ${GIT_COMMIT}
WORKDIR ${NAME}
RUN cabal v1-sandbox init
RUN cabal v1-install -fexamples --dry-run copilot-visualizer/
Command (substitute variables based on new path after merge):
Implementation is documented. Details:
No updates needed; change is to Cabal files and does not alter the code.
Change history is clear.
Commit messages are clear.
Changelogs are updated.
Examples are updated. Details:
No updates needed; change is to Cabal files and does not affect existing examples.
Author is internal or has provided signed CLA.
Required version bumps are evaluated. Details:
Bump not required; change bumps version numbers in dependencies but does not affect code or existing API.
Activity
ivanperez-keera commentedon Aug 23, 2026
Change Manager: Confirmed that the issue exists.
ivanperez-keera commentedon Aug 23, 2026
Technical Lead: Confirmed that the issue should be addressed.
ivanperez-keera commentedon Aug 23, 2026
Technical Lead: Issue scheduled for fixing in Copilot 4.8.1.
Fix assigned to: @ivanperez-keera .
copilot-visualizer: Fix inconsistent version bounds for `copilot` in …
copilot-visualizer: Document changes in CHANGELOG. Refs Copilot-Langu…
copilot-visualizer: Document changes in CHANGELOG. Refs Copilot-Langu…
ivanperez-keera commentedon Sep 8, 2026
Implementor: Solution implemented, review requested.
ivanperez-keera commentedon Sep 8, 2026
Change Manager: Verified that:
Build log: https://app.travis-ci.com/github/Copilot-Language/copilot/builds/278781583
The following
Dockerfilechecks thatcopilot-visualizercould be installed with the examples enabled, after which it prints the message "Success":No updates needed; change is to Cabal files and does not alter the code.
No updates needed; change is to Cabal files and does not affect existing examples.
Bump not required; change bumps version numbers in dependencies but does not affect code or existing API.
ivanperez-keera commentedon Sep 8, 2026
Change Manager: Implementation ready to be merged.
Merge branch 'develop-dependencies-visualizer-copilot'. Close Copilot…