Pkg.add("CustomGaussQuadrature") ERROR: Unsatisfiable requirements

Resolving package versions…
ERROR: Unsatisfiable requirements detected for package LinearAlgebra [37e2e46d]:
LinearAlgebra [37e2e46d] log:
├─possible versions are: 1.10.9 or uninstalled (package in sysimage!)
└─found to have no compatible versions left with CustomGaussQuadrature [443f1e71]
└─CustomGaussQuadrature [443f1e71] log:
├─possible versions are: 1.0.0 or uninstalled
└─restricted to versions * by an explicit requirement, leaving only versions: 1.0.0

What can I do to overcome this ERROR?

You likely want to loosen this line:

To something like this instead:

LinearAlgebra = "< 0.0.1, 1"

Which is what I recommend as the compat entry for most stdlibs, in most cases.

Many thanks for your help so far.

The Project.toml was organised automatically when I wrote my package CustomGaussQuadrature.

I also successfully submitted this package to Julia General Registry.

Doesn’t this submission to the Julia General Registry check that the Project.toml is OK?

Why do I need to make this change?

What does “compat entry for most stdlibs” mean?

All help greatly appreciated!

I can answer this question.

The submission (i.e. Registrator) reads Project.toml to find uuid, name, version, dependencies, and compat. It does very basic consistency checks on uuid, name, and version against the current registry.

The automerge for the General registry does some additional testing, including checking that all dependencies have bounded compat specifiers and that the package can be loaded. The latter check is limited to the version of Julia running automerge though, which is typically the latest released version.

So no, not all aspects of Project.toml are checked before a new package or a new version is merged to the General registry. There is certainly room for improvements, which will happen if volunteers implement better checks and make pull requests to the RegistryCI package.

1 Like