Hi Ralf and all, Quoting Ralf Treinen (2016-11-03 16:51:43) > It works with dose-builddebcheck, so I assume it also works with > apt-cudf, but I couldn't check it. yes, dose-builddebcheck is able to find a solution, or otherwise wanna-build would not have triggered the build. But that does not mean that the cudf encoding is correct as dose-builddebcheck might've found a wrong solution. Another possibility is, that the cudf encoding is incorrect and thus aspcud finds a solution which apt is then not able to install because it represents an impossible situation. I fear the latter might be the case... Consider the following EDSP input which represents the core of the situation we are talking about: --%<-------------------------------------------------- Request: EDSP 0.5 Install: sbuild-build-depends-ocamlbuild-dummy:amd64 Strict-Pinning: no Package: sbuild-build-depends-ocamlbuild-dummy Architecture: amd64 Version: 0.invalid.0 APT-ID: 52830 APT-Pin: 500 Depends: ocaml-best-compilers (>= 4.03.0) Package: ocaml-native-compilers Architecture: amd64 Version: 4.03.0-5 APT-ID: 53875 APT-Pin: 1 Provides: ocaml-best-compilers (= 4.03.0-5) Package: ocaml-native-compilers Architecture: amd64 Version: 4.02.3-7+b1 APT-ID: 34663 APT-Pin: 500 Provides: ocaml-best-compilers -->%-------------------------------------------------- With the above in /tmp/dump.edsp I get: $ apt-cudf -v --solver=aspcud -c "-removed,-changed,-new" /tmp/dump.edsp Install: 34663 Package: ocaml-native-compilers Version: 4.02.3-7+b1 Architecture: amd64 Install: 52830 Package: sbuild-build-depends-ocamlbuild-dummy Version: 0.invalid.0 Architecture: amd64 Notice, that apscud somehow seems to think that ocaml-native-compilers (= 4.02.3-7+b1) is able to satisfy the dependency on "ocaml-best-compilers (>= 4.03.0)" even though that version of ocaml-native-compilers does not provide a specific version of ocaml-best-compilers and should thus not be considered for possibly providing a versioned dependency. Looking at the Cudf encoding of the above EDSP request, the reason for this problem becomes clear (only mentioning the relevant parts for brevity): --%<-------------------------------------------------- package: ocaml-native-compilers%3aamd64 version: 5 provides: ocaml-native-compilers , --virtual-ocaml-best-compilers%3aamd64 = 5 , ocaml-best-compilers%3aamd64 = 5 number: 4.03.0-5 package: sbuild-build-depends-ocamlbuild-dummy%3aamd64 version: 2 depends: --virtual-ocaml-best-compilers%3aamd64 = 2147483647 | --virtual-ocaml-best-compilers%3aamd64 >= 4 number: 0.invalid.0 package: ocaml-native-compilers%3aamd64 version: 3 provides: ocaml-native-compilers , --virtual-ocaml-best-compilers%3aamd64 = 2147483646 number: 4.02.3-7+b1 -->%-------------------------------------------------- So since the Cudf representation of ocaml-native-compilers (= 4.02.3-7+b1) provides "--virtual-ocaml-best-compilers%3aamd64 = 2147483646" it is able to satisfy the dependency relationship of sbuild-build-depends-ocamlbuild-dummy. Thanks! cheers, josch
Attachment:
signature.asc
Description: signature