Caltech-AMBER / obelisk

A stable generic robot control interface.
https://caltech-amber.github.io/obelisk/
MIT License
5 stars 0 forks source link

Mujoco Dependency and Dev Contrainer Setup #34

Closed Zolkin1 closed 2 months ago

Zolkin1 commented 2 months ago

There are a number of open questions with regards to the best way to use system level dependencies. Specifically we need to decide how to handle Mujoco.

There are two sides to the issue: (1) how do we deal with it from a development perspective, and (2) how do we interface with it once Obelisk is installed.

In both cases the we must have the following installed:

I think it is very reasonable to expect that the user (or dev) have Mujoco installed on their local machine. The next question is: should we install it for them, or should they install it? "Installing" Mujoco is very easy in the sense that you can download the pre-compiled binaries, and put them anywhere.

Once Mujoco is installed, we need to know where it is so we can link against it. On the dev side, in addition to this, we need to be able to volume mount Mujoco into the container. There are two ways to do this: (1) we can just set a standard where everyone installs Mujoco in a set location (i.e. ~/mujoco/mujoco-x.y.z), or we can somehow set a MUJOCO_DIR environment variable and use that.

Installing GLFW is a simple single command.

When in the dev container we currently get an error (that doesn't seem to effect the visuals...) : error: XDG_RUNTIME_DIR is invalid or not set in the environment. This can be solved with the command XDG_RUNTIME_DIR=/run/user/<uid> and should most likely be added to the Dockerfile.

Other system level deps (not related to Mujoco) that need to be installed:

TODOs:

alberthli commented 2 months ago

Closed by #27