New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

protoc_plugin pub install fails with a version solving error #176

Closed
dave opened this Issue Jan 9, 2019 · 3 comments

Comments

Projects
None yet
3 participants
@dave
Copy link

dave commented Jan 9, 2019

I'm trying to install the protoc_plugin in the google/dart docker image... It's failing with a version solving error:

$ docker run -it google/dart /bin/bash -c "/usr/bin/git clone https://github.com/dart-lang/protobuf.git && cd protobuf/protoc_plugin && /usr/lib/dart/bin/pub install && /bin/bash"
Cloning into 'protobuf'...
remote: Enumerating objects: 134, done.
remote: Counting objects: 100% (134/134), done.
remote: Compressing objects: 100% (95/95), done.
remote: Total 3645 (delta 61), reused 55 (delta 34), pack-reused 3511
Receiving objects: 100% (3645/3645), 1.43 MiB | 204.00 KiB/s, done.
Resolving deltas: 100% (2477/2477), done.
Checking connectivity... done.
Resolving dependencies... (16.4s)
The current Dart SDK version is 2.1.0.

Because bazel_worker >=0.1.1 <0.1.12 requires SDK version >=1.8.0 <2.0.0 or >=2.0.0-dev.17.0 <2.0.0 and bazel_worker >=0.1.12 <0.1.13
  depends on protobuf >=0.8.0 <0.10.0, bazel_worker >=0.1.1 <0.1.13 requires protobuf >=0.8.0 <0.10.0.
And because bazel_worker >=0.1.13 <0.1.15 depends on protobuf >=0.8.0 <0.11.0 and bazel_worker >=0.1.15 depends on protobuf ^0.10.4,
  bazel_worker >=0.1.1 requires protobuf >=0.8.0 <0.11.0.
Because build_web_compilers >=0.2.0 <0.4.1 requires SDK version >=1.22.1 <2.0.0 or >=2.0.0-dev.9 <2.0.0 and build_web_compilers >=0.4.1
  depends on bazel_worker ^0.1.4, build_web_compilers >=0.2.0 requires bazel_worker ^0.1.4.
Thus, build_web_compilers >=0.2.0 requires protobuf >=0.8.0 <0.11.0.
So, because protoc_plugin depends on both protobuf ^0.11.0 and build_web_compilers ^0.4.0, version solving failed.

Any ideas how to proceed?

@dave

This comment has been minimized.

Copy link

dave commented Jan 9, 2019

Hey @sigurdm @rakudrama @szakarias it looks like this was introduced by 49345f4 in #145... Previous to this commit it works fine:

$ docker run -it google/dart /bin/bash -c "/usr/bin/git clone https://github.com/dart-lang/protobuf.git && cd protobuf && /usr/bin/git checkout 2f6fa9f97384ae4749e4f414d7d00d4b79f8fb01 && cd protoc_plugin && /usr/lib/dart/bin/pub install && /bin/bash"
[...]
Resolving dependencies... (19.3s)
+ analyzer 0.34.1
+ archive 2.0.5
[...]

@dave dave changed the title pub install fails protoc_plugin pub install fails with a version solving error Jan 9, 2019

@jonasfj

This comment has been minimized.

Copy link
Contributor

jonasfj commented Jan 9, 2019

It looks like we have cyclic dev_dependency... it looks like build_web_compilers is used for benchmarks.
I suggest we consider moving the benchmarks out of the protoc_plugin/ folder and into a different top-level folder in this project.

Otherwise, we'll likely to have to convince bazel_worker to update whenever we update protobuf:
https://github.com/dart-lang/bazel_worker/blob/master/pubspec.yaml
(note bazel_worker is a dependency of build_web_compilers which is a dev_dependency used in benchmarks).

@sigurdm

This comment has been minimized.

Copy link
Contributor

sigurdm commented Jan 10, 2019

@jonasfj I think you are spot on in your diagnosis.

I wanted to move the benchmark out of there at some point anyway.

Thanks for reporting, and thanks for figuring this out.

Also I made a PR to bazel_worker with regenerated protos.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment