Skip to content
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

Dependency convergence errors #5741

Closed
pzygielo opened this issue May 22, 2019 · 6 comments
Closed

Dependency convergence errors #5741

pzygielo opened this issue May 22, 2019 · 6 comments
Milestone

Comments

@pzygielo
Copy link
Contributor

@pzygielo pzygielo commented May 22, 2019

Environment

  • JRuby version: 9.2.7.0
  • Operating system and platform: Ubuntu 14.04.5 LTS + maven

Other relevant info you may wish to add:

  • Installed or activated gems: none
  • Application/framework version (e.g. Rails, Sinatra): none
  • Environment variables: none

Expected Behavior

Actual Behavior

Build of project with dependency to jruby fails with few violations like

Dependency convergence error for com.github.jnr:jnr-posix:3.0.46 paths to dependency are:
+-pzrep:jruby-convergence:1-SNAPSHOT
  +-org.jruby:jruby:9.2.7.0
    +-org.jruby:jruby-core:9.2.7.0
      +-com.github.jnr:jnr-unixsocket:0.20
        +-com.github.jnr:jnr-posix:3.0.46
and
+-pzrep:jruby-convergence:1-SNAPSHOT
  +-org.jruby:jruby:9.2.7.0
    +-org.jruby:jruby-core:9.2.7.0
      +-com.github.jnr:jnr-posix:3.0.49
@headius
Copy link
Member

@headius headius commented May 28, 2019

So the main issue here is that there are some transitive dependencies that don't all resolve to the same version, is that correct?

Loading

@headius headius added this to the JRuby 9.2.8.0 milestone May 28, 2019
@enebo
Copy link
Member

@enebo enebo commented May 28, 2019

@headius I think this shows our issue:

system ~/work/jruby master * 2283% mvn dependency:tree -Dverbose
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] JRuby                                                              [pom]
[INFO] JRuby Core                                                         [jar]
[INFO] JRuby Lib Setup                                                    [jar]
[INFO] 
[INFO] -----------------------< org.jruby:jruby-parent >-----------------------
[INFO] Building JRuby 9.2.8.0-SNAPSHOT                                    [1/3]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ jruby-parent ---
[INFO] org.jruby:jruby-parent:pom:9.2.8.0-SNAPSHOT
[INFO] 
[INFO] ------------------------< org.jruby:jruby-core >------------------------
[INFO] Building JRuby Core 9.2.8.0-SNAPSHOT                               [2/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ jruby-core ---
[INFO] org.jruby:jruby-core:jar:9.2.8.0-SNAPSHOT
[INFO] +- org.ow2.asm:asm:jar:6.2.1:compile
[INFO] +- org.ow2.asm:asm-commons:jar:6.2.1:compile
[INFO] |  +- (org.ow2.asm:asm:jar:6.2.1:compile - omitted for duplicate)
[INFO] |  +- org.ow2.asm:asm-tree:jar:6.2.1:compile
[INFO] |  |  \- (org.ow2.asm:asm:jar:6.2.1:compile - omitted for duplicate)
[INFO] |  \- org.ow2.asm:asm-analysis:jar:6.2.1:compile
[INFO] |     \- (org.ow2.asm:asm-tree:jar:6.2.1:compile - omitted for duplicate)
[INFO] +- org.ow2.asm:asm-util:jar:6.2.1:compile
[INFO] |  +- (org.ow2.asm:asm:jar:6.2.1:compile - omitted for duplicate)
[INFO] |  +- (org.ow2.asm:asm-tree:jar:6.2.1:compile - omitted for duplicate)
[INFO] |  \- (org.ow2.asm:asm-analysis:jar:6.2.1:compile - omitted for duplicate)
[INFO] +- com.github.jnr:jnr-netdb:jar:1.1.6:compile
[INFO] +- com.github.jnr:jnr-enxio:jar:0.19:compile
[INFO] |  \- (com.github.jnr:jnr-constants:jar:0.9.11:compile - omitted for conflict with 0.9.12)
[INFO] +- com.github.jnr:jnr-unixsocket:jar:0.20:compile
[INFO] |  +- (com.github.jnr:jnr-constants:jar:0.9.11:compile - omitted for duplicate)
[INFO] |  +- (com.github.jnr:jnr-enxio:jar:0.18:compile - omitted for conflict with 0.19)
[INFO] |  \- (com.github.jnr:jnr-posix:jar:3.0.46:compile - omitted for conflict with 3.0.49)
[INFO] +- com.github.jnr:jnr-posix:jar:3.0.49:compile
[INFO] |  \- (com.github.jnr:jnr-constants:jar:0.9.9:compile - omitted for conflict with 0.9.11)
[INFO] +- com.github.jnr:jnr-constants:jar:0.9.12:compile
[INFO] +- com.github.jnr:jnr-ffi:jar:2.1.9:compile
[INFO] |  +- (com.github.jnr:jffi:jar:1.2.17:compile - omitted for conflict with 1.2.18)
[INFO] |  +- (com.github.jnr:jffi:jar:native:1.2.16:runtime - omitted for conflict with 1.2.18)
[INFO] |  +- (org.ow2.asm:asm:jar:5.0.3:compile - omitted for conflict with 6.2.1)
[INFO] |  +- (org.ow2.asm:asm-commons:jar:5.0.3:compile - omitted for conflict with 6.2.1)
[INFO] |  +- (org.ow2.asm:asm-analysis:jar:5.0.3:compile - omitted for conflict with 6.2.1)
[INFO] |  +- (org.ow2.asm:asm-tree:jar:5.0.3:compile - omitted for conflict with 6.2.1)
[INFO] |  +- (org.ow2.asm:asm-util:jar:5.0.3:compile - omitted for conflict with 6.2.1)
[INFO] |  +- com.github.jnr:jnr-a64asm:jar:1.0.0:compile
[INFO] |  \- com.github.jnr:jnr-x86asm:jar:1.0.2:compile
[INFO] +- com.github.jnr:jffi:jar:1.2.18:compile
[INFO] +- com.github.jnr:jffi:jar:native:1.2.18:compile
[INFO] +- org.jruby.joni:joni:jar:2.1.28:compile
[INFO] |  \- (org.jruby.jcodings:jcodings:jar:1.0.43:compile - omitted for conflict with 1.0.44)
[INFO] +- org.jruby.jcodings:jcodings:jar:1.0.44:compile
[INFO] +- org.jruby:dirgra:jar:0.3:compile
[INFO] +- com.headius:invokebinder:jar:1.11:compile
[INFO] +- com.headius:options:jar:1.4:compile
[INFO] +- bsf:bsf:jar:2.4.0:provided
[INFO] |  \- commons-logging:commons-logging:jar:1.0.4:provided
[INFO] +- com.jcraft:jzlib:jar:1.1.3:compile
[INFO] +- com.martiansoftware:nailgun-server:jar:0.9.1:compile
[INFO] +- junit:junit:jar:4.12:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.apache.ant:ant:jar:1.9.8:provided
[INFO] |  \- org.apache.ant:ant-launcher:jar:1.9.8:provided
[INFO] +- org.osgi:org.osgi.core:jar:5.0.0:provided
[INFO] +- org.jruby:joda-timezones:jar:2013d:provided
[INFO] |  \- (joda-time:joda-time:jar:2.2:provided - omitted for conflict with 2.10.1)
[INFO] +- joda-time:joda-time:jar:2.10.1:compile
[INFO] +- org.slf4j:slf4j-api:jar:1.7.12:provided
[INFO] +- org.slf4j:slf4j-simple:jar:1.7.12:test
[INFO] |  \- (org.slf4j:slf4j-api:jar:1.7.12:test - omitted for duplicate)
[INFO] +- me.qmx.jitescript:jitescript:jar:0.4.1:compile
[INFO] +- com.headius:backport9:jar:1.3:compile
[INFO] \- javax.annotation:javax.annotation-api:jar:1.3.1:compile
[INFO] 
[INFO] -----------------------< org.jruby:jruby-stdlib >-----------------------
[INFO] Building JRuby Lib Setup 9.2.8.0-SNAPSHOT                          [3/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ jruby-stdlib ---
[INFO] artifact rubygems:power_assert: checking for updates from mavengems
[INFO] artifact rubygems:power_assert: checking for updates from central
[INFO] org.jruby:jruby-stdlib:jar:9.2.8.0-SNAPSHOT
[INFO] +- org.jruby:jruby-core:jar:9.2.8.0-SNAPSHOT:test
[INFO] |  +- org.ow2.asm:asm:jar:6.2.1:test
[INFO] |  +- org.ow2.asm:asm-commons:jar:6.2.1:test
[INFO] |  |  +- (org.ow2.asm:asm:jar:6.2.1:test - omitted for duplicate)
[INFO] |  |  +- org.ow2.asm:asm-tree:jar:6.2.1:test
[INFO] |  |  |  \- (org.ow2.asm:asm:jar:6.2.1:test - omitted for duplicate)
[INFO] |  |  \- org.ow2.asm:asm-analysis:jar:6.2.1:test
[INFO] |  |     \- (org.ow2.asm:asm-tree:jar:6.2.1:test - omitted for duplicate)
[INFO] |  +- org.ow2.asm:asm-util:jar:6.2.1:test
[INFO] |  |  +- (org.ow2.asm:asm:jar:6.2.1:test - omitted for duplicate)
[INFO] |  |  +- (org.ow2.asm:asm-tree:jar:6.2.1:test - omitted for duplicate)
[INFO] |  |  \- (org.ow2.asm:asm-analysis:jar:6.2.1:test - omitted for duplicate)
[INFO] |  +- com.github.jnr:jnr-netdb:jar:1.1.6:test
[INFO] |  +- com.github.jnr:jnr-enxio:jar:0.19:test
[INFO] |  |  \- (com.github.jnr:jnr-constants:jar:0.9.11:test - omitted for conflict with 0.9.12)
[INFO] |  +- com.github.jnr:jnr-unixsocket:jar:0.20:test
[INFO] |  |  +- (com.github.jnr:jnr-constants:jar:0.9.11:test - omitted for duplicate)
[INFO] |  |  +- (com.github.jnr:jnr-enxio:jar:0.18:test - omitted for conflict with 0.19)
[INFO] |  |  \- (com.github.jnr:jnr-posix:jar:3.0.46:test - omitted for conflict with 3.0.49)
[INFO] |  +- com.github.jnr:jnr-posix:jar:3.0.49:test
[INFO] |  |  \- (com.github.jnr:jnr-constants:jar:0.9.9:test - omitted for conflict with 0.9.11)
[INFO] |  +- com.github.jnr:jnr-constants:jar:0.9.12:test
[INFO] |  +- com.github.jnr:jnr-ffi:jar:2.1.9:test
[INFO] |  |  +- (com.github.jnr:jffi:jar:1.2.17:test - omitted for conflict with 1.2.18)
[INFO] |  |  +- (com.github.jnr:jffi:jar:native:1.2.16:test - omitted for conflict with 1.2.18)
[INFO] |  |  +- (org.ow2.asm:asm:jar:5.0.3:test - omitted for conflict with 6.2.1)
[INFO] |  |  +- (org.ow2.asm:asm-commons:jar:5.0.3:test - omitted for conflict with 6.2.1)
[INFO] |  |  +- (org.ow2.asm:asm-analysis:jar:5.0.3:test - omitted for conflict with 6.2.1)
[INFO] |  |  +- (org.ow2.asm:asm-tree:jar:5.0.3:test - omitted for conflict with 6.2.1)
[INFO] |  |  +- (org.ow2.asm:asm-util:jar:5.0.3:test - omitted for conflict with 6.2.1)
[INFO] |  |  +- com.github.jnr:jnr-a64asm:jar:1.0.0:test
[INFO] |  |  \- com.github.jnr:jnr-x86asm:jar:1.0.2:test
[INFO] |  +- com.github.jnr:jffi:jar:1.2.18:test
[INFO] |  +- com.github.jnr:jffi:jar:native:1.2.18:test
[INFO] |  +- org.jruby.joni:joni:jar:2.1.28:test
[INFO] |  |  \- (org.jruby.jcodings:jcodings:jar:1.0.43:test - omitted for conflict with 1.0.44)
[INFO] |  +- org.jruby.jcodings:jcodings:jar:1.0.44:test
[INFO] |  +- org.jruby:dirgra:jar:0.3:test
[INFO] |  +- com.headius:invokebinder:jar:1.11:test
[INFO] |  +- com.headius:options:jar:1.4:test
[INFO] |  +- com.jcraft:jzlib:jar:1.1.3:test
[INFO] |  +- com.martiansoftware:nailgun-server:jar:0.9.1:test
[INFO] |  +- joda-time:joda-time:jar:2.10.1:test
[INFO] |  +- me.qmx.jitescript:jitescript:jar:0.4.1:test
[INFO] |  +- com.headius:backport9:jar:1.3:test
[INFO] |  \- javax.annotation:javax.annotation-api:jar:1.3.1:test
[INFO] +- rubygems:cmath:gem:1.0.0:provided
[INFO] +- rubygems:csv:gem:1.0.0:provided
[INFO] +- rubygems:fileutils:gem:1.1.0:provided
[INFO] +- rubygems:ipaddr:gem:1.2.0:provided
[INFO] +- rubygems:jar-dependencies:gem:0.4.0:provided
[INFO] +- rubygems:jruby-readline:gem:1.3.7:provided
[INFO] |  \- jline:jline:jar:2.14.6:provided
[INFO] +- rubygems:jruby-openssl:gem:0.10.2:provided
[INFO] |  +- org.bouncycastle:bcprov-jdk15on:jar:1.61:provided
[INFO] |  +- org.bouncycastle:bcpkix-jdk15on:jar:1.61:provided
[INFO] |  |  \- (org.bouncycastle:bcprov-jdk15on:jar:1.61:provided - omitted for duplicate)
[INFO] |  \- org.bouncycastle:bctls-jdk15on:jar:1.61:provided
[INFO] |     \- (org.bouncycastle:bcprov-jdk15on:jar:1.61:provided - omitted for duplicate)
[INFO] +- rubygems:json:gem:2.2.0:provided
[INFO] +- rubygems:psych:gem:3.1.0:provided
[INFO] |  \- org.yaml:snakeyaml:jar:1.23:provided
[INFO] +- rubygems:rake-ant:gem:1.0.4:provided
[INFO] +- rubygems:rdoc:gem:6.0.1:provided
[INFO] +- rubygems:scanf:gem:1.0.0:provided
[INFO] +- rubygems:webrick:gem:1.4.2:provided
[INFO] +- rubygems:did_you_mean:gem:1.2.0:provided
[INFO] +- rubygems:minitest:gem:5.10.3:provided
[INFO] +- rubygems:net-telnet:gem:0.1.1:provided
[INFO] +- rubygems:power_assert:gem:1.1.3:provided
[INFO] +- rubygems:rake:gem:12.3.2:provided
[INFO] +- rubygems:test-unit:gem:3.2.8:provided
[INFO] |  \- (rubygems:power_assert:gem:1.1.3:provided - omitted for duplicate)
[INFO] \- rubygems:xmlrpc:gem:0.3.0:provided
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] JRuby 9.2.8.0-SNAPSHOT ............................. SUCCESS [  0.457 s]
[INFO] JRuby Core ......................................... SUCCESS [  0.463 s]
[INFO] JRuby Lib Setup 9.2.8.0-SNAPSHOT ................... SUCCESS [  6.242 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10.299 s
[INFO] Finished at: 2019-05-28T16:51:16-05:00
[INFO] ------------------------------------------------------------------------

Loading

@headius
Copy link
Member

@headius headius commented Jun 7, 2019

I have released the following libs to eliminate all conflicts:

  • joni, for jcodings conflict
  • jffi, jnr-ffi, jnr-posix, jnr-enxio, and jnr-unixsocket for various conflicts

The mvn_conflicts branch has these changes and can be merged when green.

Loading

@headius headius closed this in 43073cd Jun 7, 2019
@mkristian
Copy link
Member

@mkristian mkristian commented Jun 11, 2019

this we had before and will have again as jnr:** jars depend on each and updates happen on one jar and dependent jars are forgotten ! but good to resolve them from time to time.

Loading

@pzygielo
Copy link
Contributor Author

@pzygielo pzygielo commented Jun 15, 2019

I have successfully tested
✔️ 9.2.8.0-20190613.152418-48.
Thank you.

Loading

@pzygielo
Copy link
Contributor Author

@pzygielo pzygielo commented Aug 23, 2019

@headius FYI - for current snapshot:

Dependency convergence error for com.github.jnr:jnr-enxio:0.22 paths to dependency are:
+-csi.in:jruby.rb:6-SNAPSHOT
  +-org.jruby:jruby:9.2.9.0-20190822.194011-18
    +-org.jruby:jruby-core:9.2.9.0-SNAPSHOT
      +-com.github.jnr:jnr-enxio:0.22
and
+-csi.in:jruby.rb:6-SNAPSHOT
  +-org.jruby:jruby:9.2.9.0-20190822.194011-18
    +-org.jruby:jruby-core:9.2.9.0-SNAPSHOT
      +-com.github.jnr:jnr-unixsocket:0.23
        +-com.github.jnr:jnr-enxio:0.21

Loading

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants