Skip to content

copilot-visualizer: Cabal file indicates inconsistent version bounds for copilot #749

Closed

Description

@ivanperez-keera

Description

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:examples
Note: when using a sandbox, all packages are required to have consistent
dependencies. Try reinstalling/unregistering the offending packages or
recreating 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.

Further notes

None.

Activity

  1. added
    CR:Type:BugAdmin only: Change request pertaining to error detected
    CR:Status:InitiatedAdmin only: Change request that has been initiated
    on Aug 23, 2026
  2. ivanperez-keera commented on Aug 23, 2026

    @ivanperez-keera
    MemberAuthor

    Change Manager: Confirmed that the issue exists.

  3. added
    CR:Status:ConfirmedAdmin only: Change request that has been acknowledged by the change manager
    and removed
    CR:Status:InitiatedAdmin only: Change request that has been initiated
    on Aug 23, 2026
  4. ivanperez-keera commented on Aug 23, 2026

    @ivanperez-keera
    MemberAuthor

    Technical Lead: Confirmed that the issue should be addressed.

  5. added
    CR:Status:AcceptedAdmin only: Change request accepted by technical lead
    and removed
    CR:Status:ConfirmedAdmin only: Change request that has been acknowledged by the change manager
    on Aug 23, 2026
  6. ivanperez-keera commented on Aug 23, 2026

    @ivanperez-keera
    MemberAuthor

    Technical Lead: Issue scheduled for fixing in Copilot 4.8.1.

    Fix assigned to: @ivanperez-keera .

  7. added
    CR:Status:ScheduledAdmin only: Change requested scheduled
    and removed
    CR:Status:AcceptedAdmin only: Change request accepted by technical lead
    on Aug 23, 2026
  8. added this to the 4.8.1 milestone on Aug 23, 2026
  9. added
    CR:Status:ImplementationAdmin only: Change request that is currently being implemented
    and removed
    CR:Status:ScheduledAdmin only: Change requested scheduled
    on Aug 23, 2026
  10. ivanperez-keera commented on Sep 8, 2026

    @ivanperez-keera
    MemberAuthor

    Implementor: Solution implemented, review requested.

  11. added
    CR:Status:VerificationAdmin only: Change request that is currently being verified
    and removed
    CR:Status:ImplementationAdmin only: Change request that is currently being implemented
    on Sep 8, 2026
  12. ivanperez-keera commented on Sep 8, 2026

    @ivanperez-keera
    MemberAuthor

    Change Manager: Verified that:

    • Solution is implemented:
      • The code proposed compiles and passes all tests. Details:
        Build log: https://app.travis-ci.com/github/Copilot-Language/copilot/builds/278781583
      • 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):
        $ docker build --build-arg "REPO=https://github.com/ivanperez-keera/copilot" --build-arg "NAME=copilot" --build-arg "GIT_COMMIT=b58fab18c8065aa1311e053809d9f7befe78ab2b" -t copilot-verify-749 -f Dockerfile-verify-749 .
        
    • 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.
  13. ivanperez-keera commented on Sep 8, 2026

    @ivanperez-keera
    MemberAuthor

    Change Manager: Implementation ready to be merged.

  14. added
    CR:Status:ClosedAdmin only: Change request that has been completed
    and removed
    CR:Status:VerificationAdmin only: Change request that is currently being verified
    on Sep 8, 2026
  15. added a commit that references this issue on Sep 8, 2026
    16b57aa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

CR:Status:ClosedAdmin only: Change request that has been completedCR:Type:BugAdmin only: Change request pertaining to error detected

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions