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 · 5 comments

Comments

@pzygielo
Copy link
Contributor

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

This comment has been minimized.

Copy link
Member

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?

@headius headius added this to the JRuby 9.2.8.0 milestone May 28, 2019

@enebo

This comment has been minimized.

Copy link
Member

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] ------------------------------------------------------------------------
@headius

This comment has been minimized.

Copy link
Member

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.

@headius headius closed this in 43073cd Jun 7, 2019

@mkristian

This comment has been minimized.

Copy link
Member

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.

@pzygielo

This comment has been minimized.

Copy link
Contributor Author

commented Jun 15, 2019

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.