www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 20083] New: Dub subdependency conflicts should be expressed

https://issues.dlang.org/show_bug.cgi?id=20083

          Issue ID: 20083
           Summary: Dub subdependency conflicts should be expressed more
                    clearly
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: tools
          Assignee: nobody puremagic.com
          Reporter: miguel.alex.arseneault 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
this:

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.

--
Jul 25 2019