A simple but mystifying package conflict message

I thought I had the hang of understanding pkg conflict messages, but this one has me stumped.

I have an env with just one package. That package, NaiveBayes, has this [compat] entry for Distributions:

Distributions = "0.23.12, 0.24, 0.25"

Version 0.25.11 is latest version.

But I cannot lift Distributions version to 0.25 (from 0.24.18). I suppose that there is some issue with an implicit dependency. However, according to the Manifest.toml, the only other package depending on Distributions is KernelDensity, whose compat entry for Distributions is also up to date. So maybe, something more complicated. However, the error message gives no clue:

(junk) pkg> st
      Status `~/Google Drive/Julia/MLJ/MLJModels/src/registry/junk/Project.toml`
  [9bbee03b] NaiveBayes v0.5.1

(junk) pkg> add Distributions@0.25
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package NaiveBayes [9bbee03b]:
 NaiveBayes [9bbee03b] log:
 ├─possible versions are: 0.4.0-0.5.1 or uninstalled
 ├─restricted to versions * by an explicit requirement, leaving only versions 0.4.0-0.5.1
 └─restricted by compatibility requirements with Distributions [31c24e10] to versions: uninstalled — no versions left
   └─Distributions [31c24e10] log:
     ├─possible versions are: 0.16.0-0.25.11 or uninstalled
     └─restricted to versions 0.25 by an explicit requirement, leaving only versions 0.25.0-0.25.11

(junk) pkg> 

In particular, where does the message “restricted by compatibility requirements with Distributions [31c24e10] to versions: uninstalled — no versions left” come from?

In these cases, it can be helpful to look at what the registry says: General/Compat.toml at master · JuliaRegistries/General · GitHub

In this particular case, the NaiveBayes.jl package has not registered a new release since the CompatHelper PR was merged.

5 Likes

@dilumaluthge Thank you indeed!