Unsatisfiable requirement for CUDAnative

I am getting this error when installing CUDAnative. Any idea on how to solve these dependencies?

(@v1.5) pkg> add CUDAnative
   Updating registry at `~/.julia/registries/General`
######################################################################## 100,0%
  Resolving package versions...
ERROR: Unsatisfiable requirements detected for package LLVM [929cbde3]:
 LLVM [929cbde3] log:
 ├─possible versions are: [0.9.0-0.9.15, 1.0.0, 1.1.0-1.1.1, 1.2.0, 1.3.0-1.3.4, 1.4.0-1.4.1, 1.5.0-1.5.2, 1.6.0, 1.7.0, 2.0.0, 3.0.0, 3.1.0, 3.2.0, 3.3.0, 3.4.0, 3.5.0-3.5.1] or uninstalled
Complete log
(@v1.5) pkg> add CUDAnative
   Updating registry at `~/.julia/registries/General`
######################################################################## 100,0%
  Resolving package versions...
ERROR: Unsatisfiable requirements detected for package LLVM [929cbde3]:
 LLVM [929cbde3] log:
 ├─possible versions are: [0.9.0-0.9.15, 1.0.0, 1.1.0-1.1.1, 1.2.0, 1.3.0-1.3.4, 1.4.0-1.4.1, 1.5.0-1.5.2, 1.6.0, 1.7.0, 2.0.0, 3.0.0, 3.1.0, 3.2.0, 3.3.0, 3.4.0, 3.5.0-3.5.1] or uninstalled
 ├─restricted by compatibility requirements with CUDA [052768ef] to versions: [1.5.0-1.5.2, 1.6.0, 1.7.0, 2.0.0, 3.0.0, 3.1.0, 3.2.0, 3.3.0, 3.4.0, 3.5.0-3.5.1]
 │ └─CUDA [052768ef] log:
 │   ├─possible versions are: [0.1.0, 1.0.0-1.0.2, 1.1.0, 1.2.0-1.2.1, 1.3.0-1.3.3, 2.0.0-2.0.2, 2.1.0, 2.2.0-2.2.1, 2.3.0] or uninstalled
 │   ├─restricted to versions * by an explicit requirement, leaving only versions [0.1.0, 1.0.0-1.0.2, 1.1.0, 1.2.0-1.2.1, 1.3.0-1.3.3, 2.0.0-2.0.2, 2.1.0, 2.2.0-2.2.1, 2.3.0]
 │   ├─restricted by julia compatibility requirements to versions: [1.0.0-1.0.2, 1.1.0, 1.2.0-1.2.1, 1.3.0-1.3.3, 2.0.0-2.0.2, 2.1.0, 2.2.0-2.2.1, 2.3.0] or uninstalled, leaving only versions: [1.0.0-1.0.2, 1.1.0, 1.2.0-1.2.1, 1.3.0-1.3.3, 2.0.0-2.0.2, 2.1.0, 2.2.0-2.2.1, 2.3.0]
 │   └─restricted by compatibility requirements with FoldsCUDA [6cd66ae4] to versions: [2.0.0-2.0.2, 2.1.0, 2.2.0-2.2.1, 2.3.0]
 │     └─FoldsCUDA [6cd66ae4] log:
 │       ├─possible versions are: 0.1.0-0.1.1 or uninstalled
 │       └─restricted to versions * by an explicit requirement, leaving only versions 0.1.0-0.1.1
 ├─restricted by compatibility requirements with CUDAnative [be33ccc6] to versions: [0.9.6-0.9.15, 1.0.0, 1.1.0-1.1.1, 1.2.0, 1.3.0-1.3.4, 1.4.0-1.4.1, 1.5.0-1.5.2, 1.6.0, 1.7.0], leaving only versions: [1.5.0-1.5.2, 1.6.0, 1.7.0]
 │ └─CUDAnative [be33ccc6] log:
 │   ├─possible versions are: [0.7.0, 0.8.0-0.8.10, 0.9.0-0.9.1, 0.10.0-0.10.1, 1.0.0-1.0.1, 2.0.0-2.0.1, 2.1.0-2.1.3, 2.2.0-2.2.1, 2.3.0-2.3.1, 2.4.0, 2.5.0-2.5.5, 2.6.0, 2.7.0, 2.8.0-2.8.1, 2.9.0-2.9.1, 2.10.0-2.10.2, 3.0.0-3.0.4, 3.1.0, 3.2.0] or uninstalled
 │   ├─restricted to versions * by an explicit requirement, leaving only versions [0.7.0, 0.8.0-0.8.10, 0.9.0-0.9.1, 0.10.0-0.10.1, 1.0.0-1.0.1, 2.0.0-2.0.1, 2.1.0-2.1.3, 2.2.0-2.2.1, 2.3.0-2.3.1, 2.4.0, 2.5.0-2.5.5, 2.6.0, 2.7.0, 2.8.0-2.8.1, 2.9.0-2.9.1, 2.10.0-2.10.2, 3.0.0-3.0.4, 3.1.0, 3.2.0]
 │   ├─restricted by compatibility requirements with Adapt [79e6a3ab] to versions: [0.7.0, 0.8.0-0.8.10, 0.9.0-0.9.1, 2.2.1, 2.3.0-2.3.1, 2.4.0, 2.5.0-2.5.5, 2.6.0, 2.7.0, 2.8.0-2.8.1, 2.9.0-2.9.1, 2.10.0-2.10.2, 3.0.0-3.0.4, 3.1.0, 3.2.0] or uninstalled, leaving only versions: [0.7.0, 0.8.0-0.8.10, 0.9.0-0.9.1, 2.2.1, 2.3.0-2.3.1, 2.4.0, 2.5.0-2.5.5, 2.6.0, 2.7.0, 2.8.0-2.8.1, 2.9.0-2.9.1, 2.10.0-2.10.2, 3.0.0-3.0.4, 3.1.0, 3.2.0]
 │   │ └─Adapt [79e6a3ab] log:
 │   │   ├─possible versions are: [0.3.0-0.3.1, 0.4.0-0.4.2, 1.0.0-1.0.1, 1.1.0, 2.0.0-2.0.2, 2.1.0, 2.2.0, 2.3.0] or uninstalled
 │   │   ├─restricted by compatibility requirements with CUDA [052768ef] to versions: [1.0.0-1.0.1, 1.1.0, 2.0.0-2.0.2, 2.1.0, 2.2.0, 2.3.0]
 │   │   │ └─CUDA [052768ef] log: see above
 │   │   ├─restricted by compatibility requirements with GPUArrays [0c68f7d7] to versions: [2.0.0-2.0.2, 2.1.0, 2.2.0, 2.3.0]
 │   │   │ └─GPUArrays [0c68f7d7] log:
 │   │   │   ├─possible versions are: [0.3.0-0.3.4, 0.4.0-0.4.2, 0.5.0, 0.6.0-0.6.1, 0.7.0-0.7.2, 1.0.0-1.0.4, 2.0.0-2.0.1, 3.0.0-3.0.1, 3.1.0, 3.2.0, 3.3.0, 3.4.0-3.4.1, 4.0.0-4.0.1, 5.0.0, 5.1.0, 5.2.0-5.2.1, 6.0.0-6.0.1, 6.1.0-6.1.2] or uninstalled
 │   │   │   ├─restricted to versions * by an explicit requirement, leaving only versions [0.3.0-0.3.4, 0.4.0-0.4.2, 0.5.0, 0.6.0-0.6.1, 0.7.0-0.7.2, 1.0.0-1.0.4, 2.0.0-2.0.1, 3.0.0-3.0.1, 3.1.0, 3.2.0, 3.3.0, 3.4.0-3.4.1, 4.0.0-4.0.1, 5.0.0, 5.1.0, 5.2.0-5.2.1, 6.0.0-6.0.1, 6.1.0-6.1.2]
 │   │   │   ├─restricted by compatibility requirements with CUDA [052768ef] to versions: [3.4.0-3.4.1, 4.0.0-4.0.1, 5.0.0, 5.1.0, 5.2.0-5.2.1, 6.0.1, 6.1.0-6.1.2]
 │   │   │   │ └─CUDA [052768ef] log: see above
 │   │   │   └─restricted by compatibility requirements with FoldsCUDA [6cd66ae4] to versions: [6.0.0-6.0.1, 6.1.0-6.1.2], leaving only versions: [6.0.1, 6.1.0-6.1.2]
 │   │   │     └─FoldsCUDA [6cd66ae4] log: see above
 │   │   └─restricted by compatibility requirements with CUDA [052768ef] to versions: [2.2.0, 2.3.0]
 │   │     └─CUDA [052768ef] log: see above
 │   └─restricted by compatibility requirements with GPUCompiler [61eb1bfa] to versions: [0.7.0, 0.8.0-0.8.10, 0.9.0-0.9.1, 0.10.0-0.10.1, 1.0.0-1.0.1, 2.0.0-2.0.1, 2.1.0-2.1.3, 2.2.0-2.2.1, 2.3.0-2.3.1, 2.4.0, 2.5.0-2.5.5, 2.6.0, 2.7.0, 2.8.0-2.8.1, 2.9.0-2.9.1, 2.10.0-2.10.2, 3.0.0-3.0.4] or uninstalled, leaving only versions: [0.7.0, 0.8.0-0.8.10, 0.9.0-0.9.1, 2.2.1, 2.3.0-2.3.1, 2.4.0, 2.5.0-2.5.5, 2.6.0, 2.7.0, 2.8.0-2.8.1, 2.9.0-2.9.1, 2.10.0-2.10.2, 3.0.0-3.0.4]
 │     └─GPUCompiler [61eb1bfa] log:
 │       ├─possible versions are: [0.1.0, 0.2.0, 0.3.0, 0.4.0-0.4.1, 0.5.0-0.5.5, 0.6.0-0.6.1, 0.7.0-0.7.3, 0.8.0-0.8.3, 0.9.0] or uninstalled
 │       ├─restricted by compatibility requirements with CUDA [052768ef] to versions: [0.3.0, 0.4.0-0.4.1, 0.5.0-0.5.5, 0.6.0-0.6.1, 0.7.0-0.7.3, 0.8.1-0.8.3]
 │       │ └─CUDA [052768ef] log: see above
 │       └─restricted by compatibility requirements with CUDA [052768ef] to versions: [0.7.0-0.7.3, 0.8.1-0.8.3]
 │         └─CUDA [052768ef] log: see above
 └─restricted by compatibility requirements with CUDA [052768ef] to versions: [3.0.0, 3.1.0, 3.2.0, 3.3.0, 3.4.0, 3.5.0-3.5.1] — no versions left
   └─CUDA [052768ef] log: see above



Noticed now that CUDAnative was deprecated in favor of CUDA. I have to use an older Julia version or update the package I am testing.

Would it be possible to throw an error message informing the user that such package is deprecated for that version in favor of something else, instead of that dependency error?

The dependency issue is unrelated to the deprecation; the packages should just still work on Julia 1.5 or below. So adding deprecation messages there is going to be bad for people who expect things to keep working.

But should the package work in Julia 1.5.3?

Because I installed CUDA just fine, but that one I could not.

CUDAnative works just fine on Julia 1.5, but you can’t have it installed together with CUDA.jl (because of conflicting requirements on dependencies).

Thanks. I do not remember having it installed, but it is not impossible that I have done it some day. Anyway, CUDA installed without errors and changing the code to use that instead of CUDAnative and CuArrays was simple. Thank you.