Unsatisfiable requirements

I tried to add ApproxBayes to Julia@v1.11 and received an ERROR: Unsatisfiable requirements detected for package StatsBase [2913bbd2] message. I retrograded StatsBase to a version within the compatibility window 0.24.0 - 0.33.21 using
pkg> add StatsBase@0.33.21
but got the same error when I tried to add ApproxBayes again. Does anyone have additional information about how to handle this issue? Thanks and here is the whole command and error message:

(@v1.11) pkg> add ApproxBayes
Resolving package versions…
ERROR: Unsatisfiable requirements detected for package StatsBase [2913bbd2]:
StatsBase [2913bbd2] log:
├─possible versions are: 0.24.0 - 0.34.4 or uninstalled
├─restricted by compatibility requirements with ApproxBayes [f5f396d3] to versions: 0.24.0 - 0.33.21
│ └─ApproxBayes [f5f396d3] log:
│ ├─possible versions are: 0.1.0 - 0.3.2 or uninstalled
│ ├─restricted to versions * by an explicit requirement, leaving only versions: 0.1.0 - 0.3.2
│ └─restricted by compatibility requirements with DataFrames [a93c6f00] to versions: 0.2.0 - 0.3.2 or uninstalled, leaving only versions: 0.2.0 - 0.3.2
│ └─DataFrames [a93c6f00] log:
│ ├─possible versions are: 0.11.7 - 1.7.0 or uninstalled
│ └─restricted by compatibility requirements with SortingAlgorithms [a2af1166] to versions: 1.0.0 - 1.7.0 or uninstalled
│ └─SortingAlgorithms [a2af1166] log:
│ ├─possible versions are: 0.3.0 - 1.2.1 or uninstalled
│ ├─restricted by julia compatibility requirements to versions: 1.1.0 - 1.2.1 or uninstalled
├─restricted by compatibility requirements with SortingAlgorithms [a2af1166] to versions: 0.33.7 - 0.34.4 or uninstalled, leaving only versions: 0.33.7 - 0.33.21
│ └─SortingAlgorithms [a2af1166] log: see above
└─restricted by compatibility requirements with Distributions [31c24e10] to versions: 0.24.0 - 0.32.2 — no versions left
└─Distributions [31c24e10] log:
├─possible versions are: 0.16.0 - 0.25.117 or uninstalled
├─restricted to versions * by project [fd7fef89], leaving only versions: 0.16.0 - 0.25.117
│ └─project [fd7fef89] log:
│ ├─possible versions are: 0.0.0 or uninstalled
│ └─project [fd7fef89] is fixed to version 0.0.0
├─restricted by compatibility requirements with ApproxBayes [f5f396d3] to versions: 0.16.0 - 0.23.12
│ └─ApproxBayes [f5f396d3] log: see above
└─restricted by compatibility requirements with FillArrays [1a297f60] to versions: [0.16.0 - 0.21.9, 0.25.49 - 0.25.117] or uninstalled, leaving only versions: 0.16.0 - 0.21.9
└─FillArrays [1a297f60] log:
├─possible versions are: 0.2.0 - 1.13.0 or uninstalled
└─restricted by julia compatibility requirements to versions: 0.13.8 - 1.13.0 or uninstalled

That’s really odd. I tried the same in an empty project, and got a different error for Distributions.jl, but the net result is the same.

What’s odd about the quoted line is that there is no compatiblity setting in the Project.toml file of ApproxBayes.jl which restricts StatsBase.jl to versions below 0.33.21. A newer version would work just fine.

The same thing happens with Distributions.jl for me: it restricts it below 0.23.12, but the dependencies work just fine with the newest 0.25.117.

ApproxBayes.jl hasn’t been updated for a while, but that shouldn’t be an issue.

Furthermore, if you run pkg> dev ApproxBayes, it adds the dependency just fine.

Update: apparently, the master version on github is slightly different from the registered 0.3.2 version, in that it has a few compat entries. I don’t see how adding some restrictions solves the problem, but apparently it does.

Update 2: Okay, found it. The problematic compatibility values come from the registry itself. It’s the registry entry of ApproxBayes.jl which limits the versions of StatsBase.jl as <= 0.33 and Distributions.jl as <= 0.23. The package should be bumped and reregistered.

More specifically, it was this commit that added these restrictions using RetroCap.jl.

I reported the problem to the package maintainer, HTH.