Failed to install Interact, DiffEqFlux & Symbolics on 1.7.2

Three packages that did not install for v1.7.2 (out of a long list):

  • Interact
  • DiffEqFlux
  • Symbolics

Anyone with similar experience? [Windows 11, 64bit, latest version.]

Being more specific about the issue, for example by providing a full error message + stacktrace, may help pinning down the culprit. Best done in a new thread.

Here is the error message when trying to add pkg. Symbolics… on a Surface Book 2 with NVIDIA GPU:

> Pkg.add("Symbolics")
    Updating registry at `C:\Users\User_Name\.julia\registries\General`
    Updating git-repo `https://github.com/JuliaRegistries/General.git`
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package CUDA [052768ef]:
 CUDA [052768ef] log:
 ├─possible versions are: 0.1.0-3.8.0 or uninstalled
 ├─restricted by julia compatibility requirements to versions: [2.3.0, 2.5.0-3.8.0] or uninstalled
 ├─restricted by compatibility requirements with LLVM [929cbde3] to versions: 3.3.3-3.8.0 or uninstalled
 │ └─LLVM [929cbde3] log:
 │   ├─possible versions are: 0.9.0-4.7.1 or uninstalled
 │   └─restricted by julia compatibility requirements to versions: 4.0.0-4.7.1 or uninstalled
 ├─restricted by compatibility requirements with Flux [587475ba] to versions: 3.0.0-3.8.0, leaving only versions: 3.3.3-3.8.0
 │ └─Flux [587475ba] log:
 │   ├─possible versions are: 0.4.1-0.12.9 or uninstalled
 │   ├─restricted to versions * by an explicit requirement, leaving only versions 0.4.1-0.12.9
 │   ├─restricted by compatibility requirements with CUDAapi [3895d2a7] to versions: [0.4.1-0.8.3, 0.10.0-0.12.9] or uninstalled, leaving only versions: [0.4.1-0.8.3, 0.10.0-0.12.9]
 │   │ └─CUDAapi [3895d2a7] log:
 │   │   ├─possible versions are: 0.5.0-4.0.0 or uninstalled
 │   │   └─restricted by julia compatibility requirements to versions: uninstalled
 │   ├─restricted by compatibility requirements with CuArrays [3a865a2d] to versions: [0.4.1-0.8.3, 0.11.0-0.12.9] or uninstalled, leaving only versions: [0.4.1-0.8.3, 0.11.0-0.12.9]
 │   │ └─CuArrays [3a865a2d] log:
 │   │   ├─possible versions are: 0.2.1-2.2.2 or uninstalled
 │   │   └─restricted by julia compatibility requirements to versions: uninstalled
 │   ├─restricted by compatibility requirements with Tracker [9f7883ad] to versions: [0.4.1-0.8.0, 0.8.3-0.12.9] or uninstalled, leaving only versions: [0.4.1-0.8.0, 0.8.3, 0.11.0-0.12.9]
 │   │ └─Tracker [9f7883ad] log:
 │   │   ├─possible versions are: 0.1.0-0.2.18 or uninstalled
 │   │   ├─restricted by compatibility requirements with DiffRules [b552c78f] to versions: [0.1.0-0.2.3, 0.2.5-0.2.18] or uninstalled
 │   │   │ └─DiffRules [b552c78f] log:
 │   │   │   ├─possible versions are: 0.0.8-1.9.1 or uninstalled
 │   │   │   ├─restricted by compatibility requirements with ModelingToolkit [961ee093] to versions: 0.0.8-1.9.1
 │   │   │   │ └─ModelingToolkit [961ee093] log:
 │   │   │   │   ├─possible versions are: 0.0.1-8.3.2 or uninstalled
 │   │   │   │   ├─restricted to versions * by an explicit requirement, leaving only versions 0.0.1-8.3.2
 │   │   │   │   ├─restricted by compatibility requirements with DataDrivenDiffEq [2445eb08] to versions: [0.9.0-1.4.3, 3.0.0-8.3.2]
 │   │   │   │   │ └─DataDrivenDiffEq [2445eb08] log:
 │   │   │   │   │   ├─possible versions are: 0.1.0-0.7.0 or uninstalled
 │   │   │   │   │   ├─restricted to versions * by an explicit requirement, leaving only versions 0.1.0-0.7.0
 │   │   │   │   │   └─restricted by compatibility requirements with ModelingToolkit [961ee093] to versions: [0.1.1-0.3.1, 0.5.3-0.7.0] or uninstalled, leaving only versions: [0.1.1-0.3.1, 0.5.3-0.7.0]
 │   │   │   │   │     └─ModelingToolkit [961ee093] log: see above
 │   │   │   │   ├─restricted by compatibility requirements with RuntimeGeneratedFunctions [7e49a35a] to versions: [0.0.1-3.21.0, 4.5.0-8.3.2] or uninstalled, leaving only versions: [0.9.0-1.4.3, 3.0.0-3.21.0, 4.5.0-8.3.2]
 │   │   │   │   │ └─RuntimeGeneratedFunctions [7e49a35a] log:
 │   │   │   │   │   ├─possible versions are: 0.1.0-0.5.3 or uninstalled
 │   │   │   │   │   └─restricted by compatibility requirements with Symbolics [0c5d862f] to versions: 0.5.0-0.5.3
 │   │   │   │   │     └─Symbolics [0c5d862f] log:
 │   │   │   │   │       ├─possible versions are: 0.1.0-4.3.0 or uninstalled
 │   │   │   │   │       └─restricted to versions * by an explicit requirement, leaving only versions 0.1.0-4.3.0
 │   │   │   │   ├─restricted by compatibility requirements with SpecialFunctions [276daf66] to versions: [0.0.1-0.2.0, 1.0.0-8.3.2] or uninstalled, leaving only versions: [1.0.0-1.4.3, 3.0.0-3.21.0, 4.5.0-8.3.2]
 │   │   │   │   │ └─SpecialFunctions [276daf66] log:
 │   │   │   │   │   ├─possible versions are: 0.7.0-2.1.2 or uninstalled
 │   │   │   │   │   ├─restricted to versions * by an explicit requirement, leaving only versions 0.7.0-2.1.2
 │   │   │   │   │   ├─restricted by compatibility requirements with SpecialPolynomials [a25cea48] to versions: 0.9.0-1.8.1
 │   │   │   │   │   │ └─SpecialPolynomials [a25cea48] log:
 │   │   │   │   │   │   ├─possible versions are: 0.1.0-0.2.7 or uninstalled
 │   │   │   │   │   │   └─restricted to versions * by an explicit requirement, leaving only versions 0.1.0-0.2.7
 │   │   │   │   │   ├─restricted by compatibility requirements with SymbolicUtils [d1185830] to versions: 0.10.0-2.1.2, leaving only versions: 0.10.0-1.8.1
 │   │   │   │   │   │ └─SymbolicUtils [d1185830] log:
 │   │   │   │   │   │   ├─possible versions are: 0.1.0-0.19.7 or uninstalled
 │   │   │   │   │   │   └─restricted by compatibility requirements with Symbolics [0c5d862f] to versions: [0.8.4-0.13.5, 0.15.1-0.19.7]
 │   │   │   │   │   │     └─Symbolics [0c5d862f] log: see above
 │   │   │   │   │   └─restricted by compatibility requirements with Turing [fce5fe82] to versions: 0.7.2-0.10.3, leaving only versions: 0.10.0-0.10.3
 │   │   │   │   │     └─Turing [fce5fe82] log:
 │   │   │   │   │       ├─possible versions are: 0.5.0-0.20.0 or uninstalled
 │   │   │   │   │       ├─restricted to versions * by an explicit requirement, leaving only versions 0.5.0-0.20.0
 │   │   │   │   │       ├─restricted by compatibility requirements with DiffEqBayes [ebbdde9d] to versions: 0.5.0-0.16.6
 │   │   │   │   │       │ └─DiffEqBayes [ebbdde9d] log:
 │   │   │   │   │       │   ├─possible versions are: 0.8.0-2.26.0 or uninstalled
 │   │   │   │   │       │   ├─restricted to versions * by an explicit requirement, leaving only versions 0.8.0-2.26.0
 │   │   │   │   │       │   ├─restricted by compatibility requirements with Distributions [31c24e10] to versions: 2.6.0-2.26.0 or uninstalled, leaving only versions: 2.6.0-2.26.0
 │   │   │   │   │       │   │ └─Distributions [31c24e10] log:
 │   │   │   │   │       │   │   ├─possible versions are: 0.16.0-0.25.46 or uninstalled
 │   │   │   │   │       │   │   ├─restricted to versions * by an explicit requirement, leaving only versions 0.16.0-0.25.46
 │   │   │   │   │       │   │   ├─restricted by compatibility requirements with Symbolics [0c5d862f] to versions: 0.23.0-0.25.46
 │   │   │   │   │       │   │   │ └─Symbolics [0c5d862f] log: see above
 │   │   │   │   │       │   │   └─restricted by compatibility requirements with Turing [fce5fe82] to versions: 0.22.0-0.24.18, leaving only versions: 0.23.0-0.24.18
 │   │   │   │   │       │   │     └─Turing [fce5fe82] log: see above
 │   │   │   │   │       │   └─restricted by compatibility requirements with Turing [fce5fe82] to versions: 2.7.0-2.26.0 or uninstalled, leaving only versions: 2.7.0-2.26.0
 │   │   │   │   │       │     └─Turing [fce5fe82] log: see above
 │   │   │   │   │       ├─restricted by compatibility requirements with Distributions [31c24e10] to versions: [0.9.1, 0.10.0-0.20.0] or uninstalled, leaving only versions: [0.9.1, 0.10.0-0.16.6]
 │   │   │   │   │       │ └─Distributions [31c24e10] log: see above
 │   │   │   │   │       └─restricted by compatibility requirements with AdvancedPS [576499cb] to versions: 0.5.0-0.15.1 or uninstalled, leaving only versions: [0.9.1, 0.10.0-0.15.1]
 │   │   │   │   │         └─AdvancedPS [576499cb] log:
 │   │   │   │   │           ├─possible versions are: 0.1.0-0.3.3 or uninstalled
 │   │   │   │   │           └─restricted by compatibility requirements with Libtask [6f1fad26] to versions: uninstalled
 │   │   │   │   │             └─Libtask [6f1fad26] log:
 │   │   │   │   │               ├─possible versions are: 0.1.1-0.6.6 or uninstalled
 │   │   │   │   │               ├─restricted by compatibility requirements with Turing [fce5fe82] to versions: [0.1.1-0.5.3, 0.6.6]
 │   │   │   │   │               │ └─Turing [fce5fe82] log: see above
 │   │   │   │   │               ├─restricted by compatibility requirements with Libtask_jll [3ae2931a] to versions: [0.1.1-0.4.2, 0.6.0-0.6.6] or uninstalled, leaving only versions: [0.1.1-0.4.2, 0.6.6]
 │   │   │   │   │               │ └─Libtask_jll [3ae2931a] log:
 │   │   │   │   │               │   ├─possible versions are: 0.3.0-0.5.1 or uninstalled
 │   │   │   │   │               │   └─restricted by julia compatibility requirements to versions: [0.3.0-0.3.2, 0.5.0-0.5.1] or uninstalled
 │   │   │   │   │               └─restricted by compatibility requirements with Turing [fce5fe82] to versions: 0.3.1-0.5.3, leaving only versions: 0.3.1-0.4.2
 │   │   │   │   │                 └─Turing [fce5fe82] log: see above
 │   │   │   │   ├─restricted by compatibility requirements with SymbolicUtils [d1185830] to versions: [0.0.1-3.1.1, 5.2.1-8.3.2] or uninstalled, leaving only versions: [1.0.0-1.4.3, 3.0.0-3.1.1, 5.2.1-8.3.2]
 │   │   │   │   │ └─SymbolicUtils [d1185830] log: see above
 │   │   │   │   ├─restricted by compatibility requirements with SpecialFunctions [276daf66] to versions: 1.1.3-8.3.2 or uninstalled, leaving only versions: [1.1.3-1.4.3, 3.0.0-3.1.1, 5.2.1-8.3.2]
 │   │   │   │   │ └─SpecialFunctions [276daf66] log: see above
 │   │   │   │   └─restricted by compatibility requirements with DiffEqBayes [ebbdde9d] to versions: [1.4.2-4.5.0, 5.6.0-5.26.0], leaving only versions: [1.4.2-1.4.3, 3.0.0-3.1.1, 5.6.0-5.26.0]
 │   │   │   │     └─DiffEqBayes [ebbdde9d] log: see above
 │   │   │   ├─restricted by compatibility requirements with Symbolics [0c5d862f] to versions: 0.1.0-1.9.1
 │   │   │   │ └─Symbolics [0c5d862f] log: see above
 │   │   │   ├─restricted by compatibility requirements with ForwardDiff [f6369f11] to versions: [0.0.8-1.0.2, 1.2.1-1.9.1], leaving only versions: [0.1.0-1.0.2, 1.2.1-1.9.1]
 │   │   │   │ └─ForwardDiff [f6369f11] log:
 │   │   │   │   ├─possible versions are: 0.9.0-0.10.25 or uninstalled
 │   │   │   │   ├─restricted to versions * by an explicit requirement, leaving only versions 0.9.0-0.10.25
 │   │   │   │   ├─restricted by compatibility requirements with DiffRules [b552c78f] to versions: 0.10.6-0.10.25 or uninstalled, leaving only versions: 0.10.6-0.10.25
 │   │   │   │   │ └─DiffRules [b552c78f] log: see above
 │   │   │   │   └─restricted by compatibility requirements with SpecialFunctions [276daf66] to versions: 0.10.9-0.10.25 or uninstalled, leaving only versions: 0.10.9-0.10.25
 │   │   │   │     └─SpecialFunctions [276daf66] log: see above
 │   │   │   └─restricted by compatibility requirements with SpecialFunctions [276daf66] to versions: [0.0.8-0.0.10, 1.0.1-1.9.1] or uninstalled, leaving only versions: [1.0.1-1.0.2, 1.2.1-1.9.1]
 │   │   │     └─SpecialFunctions [276daf66] log: see above
 │   │   └─restricted by compatibility requirements with Turing [fce5fe82] to versions: 0.2.3-0.2.18, leaving only versions: [0.2.3, 0.2.5-0.2.18]
 │   │     └─Turing [fce5fe82] log: see above
 │   ├─restricted by compatibility requirements with CUDA [052768ef] to versions: [0.4.1-0.10.4, 0.12.2-0.12.9] or uninstalled, leaving only versions: [0.4.1-0.8.0, 0.8.3, 0.12.2-0.12.9]
 │   │ └─CUDA [052768ef] log: see above
 │   ├─restricted by compatibility requirements with AbstractTrees [1520ce14] to versions: [0.4.1, 0.10.1-0.12.9] or uninstalled, leaving only versions: [0.4.1, 0.12.2-0.12.9]
 │   │ └─AbstractTrees [1520ce14] log:
 │   │   ├─possible versions are: 0.2.0-0.3.4 or uninstalled
 │   │   └─restricted by compatibility requirements with SymbolicUtils [d1185830] to versions: 0.3.0-0.3.4
 │   │     └─SymbolicUtils [d1185830] log: see above
 │   └─restricted by compatibility requirements with NNlib [872c559c] to versions: 0.8.3-0.12.9 or uninstalled, leaving only versions: 0.12.2-0.12.9
 │     └─NNlib [872c559c] log:
 │       ├─possible versions are: 0.3.2-0.8.1 or uninstalled
 │       ├─restricted by compatibility requirements with Flux [587475ba] to versions: 0.3.2-0.8.1
 │       │ └─Flux [587475ba] log: see above
 │       ├─restricted by compatibility requirements with Tracker [9f7883ad] to versions: 0.6.0-0.8.1
 │       │ └─Tracker [9f7883ad] log: see above
 │       ├─restricted by compatibility requirements with LoopVectorization [bdcacae8] to versions: [0.3.2-0.7.1, 0.7.4-0.8.1] or uninstalled, leaving only versions: [0.6.0-0.7.1, 0.7.4-0.8.1]
 │       │ └─LoopVectorization [bdcacae8] log:
 │       │   ├─possible versions are: 0.1.0-0.12.101 or uninstalled
 │       │   ├─restricted by julia compatibility requirements to versions: 0.9.0-0.12.101 or uninstalled
 │       │   └─restricted by compatibility requirements with VectorizationBase [3d5dd08c] to versions: 0.12.19-0.12.101 or uninstalled
 │       │     └─VectorizationBase [3d5dd08c] log:
 │       │       ├─possible versions are: 0.1.0-0.21.24 or uninstalled
 │       │       └─restricted by julia compatibility requirements to versions: 0.20.8-0.21.24 or uninstalled
 │       ├─restricted by compatibility requirements with Flux [587475ba] to versions: 0.7.14-0.8.1
 │       │ └─Flux [587475ba] log: see above
 │       └─restricted by compatibility requirements with NNlibCUDA [a00861dc] to versions: 0.7.21-0.8.1
 │         └─NNlibCUDA [a00861dc] log:
 │           ├─possible versions are: 0.1.0-0.2.1 or uninstalled
 │           ├─restricted by compatibility requirements with CUDA [052768ef] to versions: 0.1.4-0.2.1 or uninstalled
 │           │ └─CUDA [052768ef] log: see above
 │           └─restricted by compatibility requirements with Flux [587475ba] to versions: 0.1.0-0.2.1, leaving only versions: 0.1.4-0.2.1
 │             └─Flux [587475ba] log: see above
 └─restricted by compatibility requirements with SpecialFunctions [276daf66] to versions: 0.1.0-2.6.3 or uninstalled — no versions left
   └─SpecialFunctions [276daf66] log: see above
Stacktrace:
  [1] propagate_constraints!(graph::Pkg.Resolve.Graph, sources::Set{Int64}; log_events::Bool)
    @ Pkg.Resolve C:\Users\User_Name\.julia\juliaup\julia-1.7.2+0~x64\share\julia\stdlib\v1.7\Pkg\src\Resolve\graphtype.jl:1063
  [2] propagate_constraints! (repeats 2 times)
    @ C:\Users\User_Name\.julia\juliaup\julia-1.7.2+0~x64\share\julia\stdlib\v1.7\Pkg\src\Resolve\graphtype.jl:1000 [inlined]
  [3] simplify_graph!(graph::Pkg.Resolve.Graph, sources::Set{Int64}; clean_graph::Bool)
    @ Pkg.Resolve C:\Users\User_Name\.julia\juliaup\julia-1.7.2+0~x64\share\julia\stdlib\v1.7\Pkg\src\Resolve\graphtype.jl:1519
  [4] simplify_graph! (repeats 2 times)
    @ C:\Users\User_Name\.julia\juliaup\julia-1.7.2+0~x64\share\julia\stdlib\v1.7\Pkg\src\Resolve\graphtype.jl:1519 [inlined]
  [5] resolve_versions!(env::Pkg.Types.EnvCache, registries::Vector{Pkg.Registry.RegistryInstance}, pkgs::Vector{Pkg.Types.PackageSpec}, julia_version::VersionNumber)
    @ Pkg.Operations C:\Users\User_Name\.julia\juliaup\julia-1.7.2+0~x64\share\julia\stdlib\v1.7\Pkg\src\Operations.jl:335
  [6] targeted_resolve(env::Pkg.Types.EnvCache, registries::Vector{Pkg.Registry.RegistryInstance}, pkgs::Vector{Pkg.Types.PackageSpec}, preserve::Pkg.Types.PreserveLevel, julia_version::VersionNumber)
    @ Pkg.Operations C:\Users\User_Name\.julia\juliaup\julia-1.7.2+0~x64\share\julia\stdlib\v1.7\Pkg\src\Operations.jl:1154
  [7] tiered_resolve(env::Pkg.Types.EnvCache, registries::Vector{Pkg.Registry.RegistryInstance}, pkgs::Vector{Pkg.Types.PackageSpec}, julia_version::VersionNumber)
    @ Pkg.Operations C:\Users\User_Name\.julia\juliaup\julia-1.7.2+0~x64\share\julia\stdlib\v1.7\Pkg\src\Operations.jl:1139
  [8] _resolve(io::Base.TTY, env::Pkg.Types.EnvCache, registries::Vector{Pkg.Registry.RegistryInstance}, pkgs::Vector{Pkg.Types.PackageSpec}, preserve::Pkg.Types.PreserveLevel, julia_version::VersionNumber)
    @ Pkg.Operations C:\Users\User_Name\.julia\juliaup\julia-1.7.2+0~x64\share\julia\stdlib\v1.7\Pkg\src\Operations.jl:1160
  [9] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, new_git::Set{Base.UUID}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform)
    @ Pkg.Operations C:\Users\User_Name\.julia\juliaup\julia-1.7.2+0~x64\share\julia\stdlib\v1.7\Pkg\src\Operations.jl:1176
 [10] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, kwargs::Base.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}})
    @ Pkg.API C:\Users\User_Name\.julia\juliaup\julia-1.7.2+0~x64\share\julia\stdlib\v1.7\Pkg\src\API.jl:268
 [11] add(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Pkg.API C:\Users\User_Name\.julia\juliaup\julia-1.7.2+0~x64\share\julia\stdlib\v1.7\Pkg\src\API.jl:149
 [12] add(pkgs::Vector{Pkg.Types.PackageSpec})
    @ Pkg.API C:\Users\User_Name\.julia\juliaup\julia-1.7.2+0~x64\share\julia\stdlib\v1.7\Pkg\src\API.jl:144
 [13] #add#27
    @ C:\Users\User_Name\.julia\juliaup\julia-1.7.2+0~x64\share\julia\stdlib\v1.7\Pkg\src\API.jl:142 [inlined]
 [14] add
    @ C:\Users\User_Name\.julia\juliaup\julia-1.7.2+0~x64\share\julia\stdlib\v1.7\Pkg\src\API.jl:142 [inlined]
 [15] #add#26
    @ C:\Users\User_Name\.julia\juliaup\julia-1.7.2+0~x64\share\julia\stdlib\v1.7\Pkg\src\API.jl:141 [inlined]
 [16] add(pkg::String)
    @ Pkg.API C:\Users\User_Name\.julia\juliaup\julia-1.7.2+0~x64\share\julia\stdlib\v1.7\Pkg\src\API.jl:141
 [17] top-level scope
    @ REPL[2]:1

Just tried Interact and Symbolics, works fine for me - aren’t you just showing package compatility issues?

1 Like

Isn’t the issue just that Turing.jl isn’t updated for v1.7?

1 Like

Could be. Turing seemed to install. I could try to remove it, and then install Symbolics.

Turing will install just fine, albeit it will install the last version that didn’t have a Julia version restriction, which at this point is quite outdated. Are you by any chance dumping all of your packages into the default environment? I should really write this package management PSA at some point…

1 Like

Yeah, I’m just adding all packages to Julia. I’ve never had time to learn about versions and environments, etc., and switching between environments. As Julia gets more users, realistically there will be more users of “my type*”. If someone would make a tutorial video (or notebook) for “dummies”, I think that would be very useful.

I have removed Turing, but the problem with Symbolics persists. The first error message relates to CUDA.

julia> Pkg.add("Symbolics")
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package CUDA [052768ef]:
 CUDA [052768ef] log:
 ├─possible versions are: 0.1.0-3.8.0 or uninstalled
 ├─restricted by julia compatibility requirements to versions: [2.3.0, 2.5.0-3.8.0] or uninstalled
 ├─restricted by compatibility requirements with LLVM [929cbde3] to versions: 3.3.3-3.8.0 or uninstalled
 │ └─LLVM [929cbde3] log:
 │   ├─possible versions are: 0.9.0-4.7.1 or uninstalled
 │   └─restricted by julia compatibility requirements to versions: 4.0.0-4.7.1 or uninstalled
 ├─restricted by compatibility requirements with Flux [587475ba] to versions: 3.0.0-3.8.0, leaving only versions: 3.3.3-

I have not installed CUDA, but if I try, I get a similar error message.

Does Symbolics require CUDA? If not, why this error message about “Unsatisfiable requirements” for CUDA?

Symbolics does not require CUDA

1 Like

Hm. The problem seems to be with Flux. I removed Flux, and now both Symbolics and Interact install. [I assume that `DiffEqFlux` will not install…]

… and if I try to install Flux again, after having installed Symbolics and Interact, I get an error message related to Turing – which is not installed now (I removed it…):

julia> Pkg.add("Flux")
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package Turing [fce5fe82]:
 Turing [fce5fe82] log:
 ├─possible versions are: 0.5.0-0.20.1 or uninstalled
 ├─restricted by compatibility requirements with DiffEqBayes [ebbdde9d] to versions: 0.5.0-0.16.6
 │ └─DiffEqBayes [ebbdde9d] log:
 │   ├─possible versions are: 0.8.0-2.26.0 or uninstalled
 │   ├─restricted to versions * by an explicit requirement, leaving on

…and that’s why you should work in project environments. It’s unlikely that you’ll find many people willing to debug a crowded default environment, when the solution is just create a project environment and only add the packages you need. If you then run into an issue people will probably be happy to help.

2 Likes

I realize that people don’t have time to debug my error messages. At the same time, I don’t find the description of environments in the documentation very “tutorial”, and I haven’t seen any tutorials on this. So if you know of such a tutorial intro to environments, I’d appreciate a link.

Unfortunately I don’t know anything better than the Pkg docs itself, but I fail to see how more is required?

https://pkgdocs.julialang.org/dev/environments/

It’s just three lines of code:

julia> mkdir("MyProject")

julia> cd("MyProject")
/Users/kristoffer/MyProject

# we can now use "." instead of a longer relative or full path:
(v1.0) pkg> activate .

or only two lines (if you already have the directory you want to save your environment in) or only one line (if you also start Julia in that directory).

Is there anything else you’re missing?

For diagnosing the kinds of issues you’re seeing it’s also helpful to do ] activate --temp to create a temp environment, then add the packages you are having trouble with one by one and see when it breaks.

1 Like

This was helpful. But it is not intuitive to me that Pkg.jl is where to go. I searched the Julia docs:

… and didn’t find the text there very illuminating with my background (I learned BASIC programming in high school on an Altair computer with 4 kB RAM, and FORTRAN 4 at university…)

Yes that’s a fair shout, maybe a docs PR is in order to link to Pkg from the library section on environments!

I’ve now read the first 4 sections of the Pkg.jl documentation, and it is very well written/illuminating.

Three things are not entirely clear to me.

  1. How do I use a specific version of Julia, e.g., v1.6?
  • Should I use, e.g., juliaup and make sure I have the relevant Julia version on my computer?
  • And then start this version of Julia + build up the environment of packages?
  • Will the Project.toml + Manifest.toml files contain info on the Julia version?
  • Or is there another way of ensuring that I use the desired Julia version?
  1. The documentation refers to cloning a Project.toml and Manifest.toml file using git. Does this assume that I have already installed git on my computer, or is git installed automatically on my computer when I install Julia? [I’m a `git` beginner…]

  2. Is it alternatively possible to share Project.toml and Manifest.toml files as attachment to an e-mail, and have the recipient manually store these files in the chosen directory?

What happens if my Project.toml and Manifest.toml files assume a certain Julia version, and the recipient of my e-mail does not have that version of Julia installed?

Will the correct Julia version [see question 1] automatically be installed or will the user be prompted to do so manually?