[Issue 20083] New: Dub subdependency conflicts should be expressed more clearly

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Jul 25 12:10:12 UTC 2019


          Issue ID: 20083
           Summary: Dub subdependency conflicts should be expressed more
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: tools
          Assignee: nobody at puremagic.com
          Reporter: miguel.alex.arseneault at gmail.com

I recently tried building an example project that included both derelict-sdl2
and derelict-gl3, and dub was unable to resolve their dependencies because they
didn't match (gl3 wanted >=1.0.3 and sdl2 wanted ~>2.0.4.) Two problems with

First, dub should be able to resolve this dependency. >=1.0.3 and ~>2.0.4
should be able to be resolved to the same version of derelict-util, but for
some reason that doesn't happen.

Second, the error message given was
"Unresolvable dependencies to package derelict-util:
  derelict-gl3 1.0.24 depends on derelict-util >=1.0.3
  derelict-sdl2 2.1.4 depends on derelict-util ~>2.0.4".
This error message doesn't make it clear that the problem is a version
conflict, and doesn't inform the user about how to resolve the problem. A
better error would be something along the lines of "Dependencies to package
derelict-util could not be resolved because the following packages depend on
incompatible versions of it: [LIST OF PACKAGES HERE].

I ended up having to change the dub.json of derelict-gl3 to resolve this issue.


More information about the Digitalmars-d-bugs mailing list