MeshCat.jl icon indicating copy to clipboard operation
MeshCat.jl copied to clipboard

Unsatisfiable requirements

Open vaishnavtv opened this issue 5 years ago • 15 comments

Hello, I've been trying to simulate my robot dynamics using the RigidBodyDynamics package, and I'd like to visualise the simulation using MeshCatMechanisms. I tried to add the package MeshCatMechanisms, but I'm getting this error:

ERROR: Unsatisfiable requirements detected for package MeshCat [283c5d60]: MeshCat [283c5d60] log: ├─possible versions are: 0.6.0 or uninstalled ├─MeshCat [283c5d60] is fixed to version 0.6.0 └─found to have no compatible versions left with MeshCatMechanisms [6ad125db] └─MeshCatMechanisms [6ad125db] log: ├─possible versions are: [0.0.1-0.0.6, 0.1.0-0.1.1, 0.2.0-0.2.1] or uninstalled └─restricted to versions * by an explicit requirement, leaving only versions [0.0.1-0.0.6, 0.1.0-0.1.1, 0.2.0-0.2.1]

When I run versioninfo(), I get this: Julia Version 1.0.3 Commit 099e826241 (2018-12-18 01:34 UTC) Platform Info: OS: Linux (x86_64-pc-linux-gnu) CPU: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-6.0.0 (ORCJIT, sandybridge) Environment: JULIA_EDITOR = atom -a JULIA_NUM_THREADS = 4 JULIA_PKG_SERVER = https://pkg.juliacomputing.com/ JULIA_PKG_TOKEN_PATH = /home/vish0908/.juliapro/token.toml

Any help would be appreciated.

vaishnavtv avatar Mar 12 '19 17:03 vaishnavtv

Could you provide your Project.toml and Manifest.toml (e.g. using https://gist.github.com/, or just in a comment).

tkoolen avatar Mar 12 '19 18:03 tkoolen

Check here. I've attached both Project.toml and Manifest.toml.

vaishnavtv avatar Mar 12 '19 18:03 vaishnavtv

It looks like you've deved an older version of MechanismGeometries (v0.1.2+), as well as the latest version of MeshCat (v0.6.0). The latest version of MeshCatMechanisms requires at least v0.2.0 of MechanismGeometries, and older versions of MeshCatMechanisms are incompatible with MeshCat v0.6.0 (https://github.com/JuliaLang/METADATA.jl/pull/20178). So you could either free or update MechanismGeometries (allowing you to use the latest version of MeshCatMechanisms), or free MeshCat (allow it to be downgraded to a version that's compatible with MeshCatMechanisms), or free both (again giving you the latest versions).

tkoolen avatar Mar 12 '19 20:03 tkoolen

When I run rm MechanismGeometries and rm MeshCat to simply install MeshCatMechanisms, I'm getting this error:

ERROR: Unsatisfiable requirements detected for package MeshCat [283c5d60]: MeshCat [283c5d60] log: ├─possible versions are: [0.0.1-0.0.3, 0.1.0-0.1.2, 0.2.0-0.2.3, 0.3.0, 0.4.0, 0.5.0] or uninstalled ├─restricted by compatibility requirements with WebIO [0f1e0344] to versions: 0.0.1-0.0.3 or uninstalled │ └─WebIO [0f1e0344] log: │ ├─possible versions are: 0.7.0 or uninstalled │ └─WebIO [0f1e0344] is fixed to version 0.7.0+ ├─restricted by julia compatibility requirements to versions: [0.1.0-0.1.2, 0.2.0-0.2.3, 0.3.0, 0.4.0, 0.5.0] or uninstalled, leaving only versions: uninstalled └─restricted by compatibility requirements with MeshCatMechanisms [6ad125db] to versions: [0.0.1-0.0.3, 0.1.0-0.1.2, 0.2.0-0.2.3, 0.3.0, 0.4.0, 0.5.0] — no versions left └─MeshCatMechanisms [6ad125db] log: ├─possible versions are: [0.0.1-0.0.6, 0.1.0-0.1.1, 0.2.0-0.2.1] or uninstalled └─restricted to versions * by an explicit requirement, leaving only versions [0.0.1-0.0.6, 0.1.0-0.1.1, 0.2.0-0.2.1]

Also, how do I update MechanismGeometries to v0.2.0? When I execute rm and add, I'm getting v1.2.0+, not 0.2.0, i.e., the same version as before.

vaishnavtv avatar Mar 12 '19 21:03 vaishnavtv

pkg> up? Also be sure to add MeshCatMechanisms instead of add https://github.com/JuliaRobotics/MeshCatMechanisms.jl.

tkoolen avatar Mar 12 '19 21:03 tkoolen

Um, I was messing around with the packages, and somehow I've been able to install the package. I don't know what exactly changed, but I suppose it's working for now. Files from before. If you could tell me what changed, I'd greatly appreciate it, but it's fine if not. Thank you for your patience.

vaishnavtv avatar Mar 12 '19 22:03 vaishnavtv

So, as I understand, the problem seems to disappear if I add the package from my project folder, but persists if I add it directly from my REPL. Does that make sense? Edit: Also, pkg> up and ‘add MeshCatMechanisms’ didn’t work.

vaishnavtv avatar Mar 12 '19 22:03 vaishnavtv

Can you explain what you mean by adding the package from your project folder? Are you using something other than the Julia REPL?

rdeits avatar Mar 12 '19 23:03 rdeits

No, I'm sorry that wasn't clear. When I create a virtual environment using Pkg.activate(@__DIR__), I'm able to add MeshCatMechanisms, but if I do this in the global(?) JuliaPro environment, I get an unsatisfiable requirements error.

(v1.0) pkg> st
    Status `~/.juliapro/JuliaPro_v1.0.3.1/environments/v1.0/Project.toml`
  [c52e3926] Atom v0.7.14
  [49dc2e85] Calculus v0.4.1
  [8f4d0f93] Conda v1.2.0
  [a6e380b2] ControlSystems v0.5.0
  [0c46a032] DifferentialEquations v6.2.0
  [f6369f11] ForwardDiff v0.10.2
  [7073ff75] IJulia v1.16.0
  [4076af6c] JuMP v0.18.5
  [e5e0dc1b] Juno v0.5.4
  [23fbe1c1] Latexify v0.7.0
  [9c8b4983] LightXML v0.8.0
  [0087ddc6] MathOptInterfaceMosek v0.5.1
  [1dea7af3] OrdinaryDiffEq v5.0.0
  [65888b18] ParameterizedFunctions v4.0.0
  [91a5bcdd] Plots v0.23.0
  [438e738f] PyCall v1.18.5
  [d330b81b] PyPlot v2.7.0
  [295af30f] Revise v1.0.2
  [366cf18f] RigidBodyDynamics v1.3.0
  [789caeaf] StochasticDiffEq v6.0.0
  [24249f21] SymPy v0.8.3
  [0f1e0344] WebIO v0.7.0+ [`~/.julia/dev/WebIO`]
  [37e2e46d] LinearAlgebra

(v1.0) pkg> add MeshCatMechanisms
  Updating registry at `~/.juliapro/JuliaPro_v1.0.3.1/registries/JuliaPro`
  Updating git-repo `https://pkg.juliacomputing.com//registry/JuliaPro`
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package MeshCat [283c5d60]:
 MeshCat [283c5d60] log:
 ├─possible versions are: [0.0.1-0.0.3, 0.1.0-0.1.2, 0.2.0-0.2.3, 0.3.0, 0.4.0, 0.5.0] or uninstalled
 ├─restricted by compatibility requirements with WebIO [0f1e0344] to versions: 0.0.1-0.0.3 or uninstalled
 │ └─WebIO [0f1e0344] log:
 │   ├─possible versions are: 0.7.0 or uninstalled
 │   └─WebIO [0f1e0344] is fixed to version 0.7.0+
 ├─restricted by julia compatibility requirements to versions: [0.1.0-0.1.2, 0.2.0-0.2.3, 0.3.0, 0.4.0, 0.5.0] or uninstalled, leaving only versions: uninstalled
 └─restricted by compatibility requirements with MeshCatMechanisms [6ad125db] to versions: [0.0.1-0.0.3, 0.1.0-0.1.2, 0.2.0-0.2.3, 0.3.0, 0.4.0, 0.5.0] — no versions left
   └─MeshCatMechanisms [6ad125db] log:
     ├─possible versions are: [0.0.1-0.0.6, 0.1.0-0.1.1, 0.2.0-0.2.1] or uninstalled
     └─restricted to versions * by an explicit requirement, leaving only versions [0.0.1-0.0.6, 0.1.0-0.1.1, 0.2.0-0.2.1]

julia> Pkg.activate(@__DIR__)
"/home/user/Documents/ModRob/"

(ModRob) pkg> add MeshCatMechanisms
 Resolving package versions...
  Updating `~/Documents/ModRob/Project.toml`
  [6ad125db] + MeshCatMechanisms v0.2.1
  Updating `~/Documents/ModRob/Manifest.toml`
 [no changes]

Does this make sense?

vaishnavtv avatar Mar 13 '19 14:03 vaishnavtv

Just wanted to add, I tried adding MeshCatMechanisms on my Mac. Received the same 'unsatisfiable requirements' there as well.

ERROR: Unsatisfiable requirements detected for package MeshCat [283c5d60]:
 MeshCat [283c5d60] log:
 ├─possible versions are: [0.0.1-0.0.3, 0.1.0-0.1.2, 0.2.0-0.2.3, 0.3.0, 0.4.0, 0.5.0] or uninstalled
 ├─restricted by compatibility requirements with MeshCatMechanisms [6ad125db] to versions: [0.0.1-0.0.3, 0.1.0-0.1.2, 0.2.0-0.2.3, 0.3.0, 0.4.0, 0.5.0]
 │ └─MeshCatMechanisms [6ad125db] log:
 │   ├─possible versions are: [0.0.1-0.0.6, 0.1.0-0.1.1, 0.2.0-0.2.1] or uninstalled
 │   └─restricted to versions * by an explicit requirement, leaving only versions [0.0.1-0.0.6, 0.1.0-0.1.1, 0.2.0-0.2.1]
 ├─restricted by julia compatibility requirements to versions: [0.1.0-0.1.2, 0.2.0-0.2.3, 0.3.0, 0.4.0, 0.5.0] or uninstalled, leaving only versions: [0.1.0-0.1.2, 0.2.0-0.2.3, 0.3.0, 0.4.0, 0.5.0]
 └─restricted by compatibility requirements with WebIO [0f1e0344] to versions: 0.0.1-0.0.3 or uninstalled — no versions left
   └─WebIO [0f1e0344] log:
     ├─possible versions are: [0.1.0-0.1.10, 0.1.12, 0.2.0-0.2.8, 0.3.0-0.3.4, 0.4.0-0.4.2, 0.6.0-0.6.2, 0.7.0] or uninstalled
     └─restricted by compatibility requirements with Atom [c52e3926] to versions: [0.6.0-0.6.2, 0.7.0]
       └─Atom [c52e3926] log:
         ├─possible versions are: [0.1.0-0.1.1, 0.2.0-0.2.1, 0.3.0, 0.4.0-0.4.6, 0.5.0-0.5.10, 0.6.0-0.6.17, 0.7.0-0.7.14] or uninstalled
         └─restricted to versions 0.7.14 by an explicit requirement, leaving only versions 0.7.14

Versioninfo() on the Mac:

Julia Version 1.0.3
Commit 099e826241 (2018-12-18 01:34 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin14.5.0)
  CPU: Intel(R) Core(TM) i7-2640M CPU @ 2.80GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.0 (ORCJIT, sandybridge)
Environment:
  JULIA_EDITOR = atom -a
  JULIA_NUM_THREADS = 2
  JULIA_PKG_SERVER = https://pkg.juliacomputing.com/
  JULIA_PKG_TOKEN_PATH = /Users/Vaishnav/.juliapro/token.toml

Is there something fundamental about the Package library that I'm missing?

vaishnavtv avatar Mar 14 '19 03:03 vaishnavtv

I see in https://github.com/rdeits/MeshCat.jl/issues/95#issuecomment-472453005 for MeshCat: possible versions are: [0.0.1-0.0.3, 0.1.0-0.1.2, 0.2.0-0.2.3, 0.3.0, 0.4.0, 0.5.0] or uninstalled and MeshCatMechanisms: possible versions are: [0.0.1-0.0.6, 0.1.0-0.1.1, 0.2.0-0.2.1] or uninstalled. Version 0.6.0 of MeshCat and version 0.3.0 of MeshCatMechanisms are missing from that list, even though they were released quite a while ago.

I think this may be because you're using JuliaPro. Do you see the same issue with vanilla Julia? You could try the steps here to switch to the 'normal' package registry: https://discourse.julialang.org/t/how-to-switch-juliapro-to-use-the-general-registry/17253/3.

tkoolen avatar Mar 14 '19 04:03 tkoolen

I don't see the same issue with the vanilla Julia as you call it. So you think this might be a problem endemic to the JuliaPro environment?

vaishnavtv avatar Mar 14 '19 15:03 vaishnavtv

Yes. I'm not 100 percent sure, but I think that the JuliaPro package registry is a snapshot of the general package registry that is only updated with each release. That snapshot seems to have been taken at an unfortunate time. @rdeits, do you know for sure how this works?

tkoolen avatar Mar 14 '19 16:03 tkoolen

Ah, yeah, I think that's right. This is not the first time I've seen issues like this with JuliaPro.

Can you manually add the packages with:

pkg> add [email protected]

pkg> add [email protected]

?

Or, if that doesn't work, perhaps you can just add them directly by their github URLs:

pkg> add https://github.com/rdeits/MeshCat.jl#dc2ce73

pkg> add https://github.com/JuliaRobotics/MeshCatMechanisms.jl#56c8ca4

rdeits avatar Mar 15 '19 02:03 rdeits

@rdeits, switching the registries worked for me, do you still want me to try manually adding the packages with version numbers like you suggested?

vaishnavtv avatar Mar 18 '19 15:03 vaishnavtv

Closing this issue due to inactivity and since switching registries worked for the OP.

ferrolho avatar May 22 '23 21:05 ferrolho