Reporting here because rollback to 1.3.1 helps. However it could be berkshelf's bug.
Berkshelf stuck on resolution with the latest version. Looks like it's not using dep-selector-libgecode and using ruby solver instead which is being stuck on circual dependencies.
With only 1.3.5 installed DEBUG_RESOLVER=1 berks install -d shows something like User-requested dependencies … solver=#<Solve::RubySolver:…> in the output.
With only 1.3.1 or both 1.3.1 and 1.3.5 installed DEBUG_RESOLVER=1 berks install -d doesn't show this record and immediatelly goes to downloading dependencies.
Version:
Affected – 1.3.5.
Rollback to 1.3.1 fixes the issue.
Having both 1.3.5 and 1.3.1 also works.
Environment: [Details about the environment such as the Operating System, cookbook details, etc...]
Traceback (most recent call last):
30: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:24:in `<main>'
29: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:24:in `eval'
28: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/bin/berks:23:in `<main>'
27: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/bin/berks:23:in `load'
26: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/bin/berks:5:in `<top (required)>'
25: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/cli.rb:23:in `execute!'
24: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/thor-1.0.1/lib/thor/base.rb:485:in `start'
23: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/cli.rb:47:in `dispatch'
22: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch'
21: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command'
20: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/thor-1.0.1/lib/thor/command.rb:27:in `run'
19: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/cli.rb:131:in `install'
18: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/berksfile.rb:405:in `install'
17: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/installer.rb:43:in `run'
16: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/installer.rb:181:in `install_from_universe'
15: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/resolver.rb:78:in `resolve'
14: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/solve-4.0.3/lib/solve.rb:64:in `it!'
13: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/solve-4.0.3/lib/solve/ruby_solver.rb:76:in `resolve'
12: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/solve-4.0.3/lib/solve/ruby_solver.rb:260:in `resolve_with_error_wrapping'
11: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolver.rb:43:in `resolve'
10: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:182:in `resolve'
9: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:254:in `process_topmost_state'
8: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:686:in `attempt_to_activate'
7: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:729:in `activate_new_spec'
6: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:739:in `require_nested_dependencies_for'
5: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:739:in `each'
4: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:740:in `block in require_nested_dependencies_for'
3: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/dependency_graph.rb:150:in `add_child_vertex'
2: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/dependency_graph.rb:150:in `each'
1: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/dependency_graph.rb:152:in `block in add_child_vertex'
/Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/dependency_graph.rb:193:in `add_edge': There is a circular dependency between XXX and YYY (Molinillo::CircularDependencyError)
27: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:24:in `<main>'
26: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/bin/ruby_executable_hooks:24:in `eval'
25: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/bin/berks:23:in `<main>'
24: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/bin/berks:23:in `load'
23: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/bin/berks:5:in `<top (required)>'
22: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/cli.rb:23:in `execute!'
21: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/thor-1.0.1/lib/thor/base.rb:485:in `start'
20: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/cli.rb:47:in `dispatch'
19: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch'
18: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command'
17: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/thor-1.0.1/lib/thor/command.rb:27:in `run'
16: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/cli.rb:131:in `install'
15: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/berksfile.rb:405:in `install'
14: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/installer.rb:43:in `run'
13: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/installer.rb:181:in `install_from_universe'
12: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/berkshelf-7.0.9/lib/berkshelf/resolver.rb:78:in `resolve'
11: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/solve-4.0.3/lib/solve.rb:64:in `it!'
10: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/solve-4.0.3/lib/solve/ruby_solver.rb:76:in `resolve'
9: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/solve-4.0.3/lib/solve/ruby_solver.rb:260:in `resolve_with_error_wrapping'
8: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolver.rb:43:in `resolve'
7: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:182:in `resolve'
6: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:252:in `process_topmost_state'
5: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:261:in `rescue in process_topmost_state'
4: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:305:in `unwind_for_conflict'
3: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:343:in `build_details_for_unwind'
2: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:343:in `select'
1: from /Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:345:in `block in build_details_for_unwind'
/Users/ilarionov/.rvm/gems/ruby-2.6.5/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:345:in `&': Interrupt
Reporting here because rollback to 1.3.1 helps. However it could be berkshelf's bug.
Berkshelf stuck on resolution with the latest version. Looks like it's not using
dep-selector-libgecode
and using ruby solver instead which is being stuck on circual dependencies.With only 1.3.5 installed
DEBUG_RESOLVER=1 berks install -d
shows something likeUser-requested dependencies … solver=#<Solve::RubySolver:…>
in the output. With only 1.3.1 or both 1.3.1 and 1.3.5 installedDEBUG_RESOLVER=1 berks install -d
doesn't show this record and immediatelly goes to downloading dependencies.Version:
Affected – 1.3.5. Rollback to 1.3.1 fixes the issue. Having both 1.3.5 and 1.3.1 also works.
Environment: [Details about the environment such as the Operating System, cookbook details, etc...]
gem install chef-dk rubocop test-kitchen kitchen-sync pry nokogiri berkshelf dep-selector-libgecode dep_selector
gem update && gem clean
Scenario:
Trying to install or update dependencies. There're cookbooks with circural dependencies.
Steps to Reproduce:
Expected Result:
Dependencies installed and
Berksfile.lock
generated.Actual Result:
Berkshelf stuck on the following:
Ctrl+C shows: