Use standalone MuJoCo 3.3.6 and jrl-cmakemodules v2#98
Draft
arntanguy wants to merge 19 commits into
Draft
Conversation
Collaborator
Author
|
I can confirm that building and running |
This was referenced Mar 22, 2026
arntanguy
force-pushed
the
topic/nix-and-upgrade
branch
from
March 22, 2026 15:36
7a5d68a to
45b3fe8
Compare
arntanguy
force-pushed
the
topic/nix-and-upgrade
branch
from
March 24, 2026 15:31
c4bdaab to
a43b2af
Compare
Builds and run against mujoco 3.3.6 in nix
This relies on uitools.h deprecated since MuJoco 2.x, we will never use it again and it makes code messy.
Significant changes around use of glfw target use, I am not sure I fully understand the use-case for the complicated logic that used to exist before (i.e merging static libraries), so this might need to be revisited later on should issues arise.
Allow robot descriptions installed in an external path.
arntanguy
force-pushed
the
topic/nix-and-upgrade
branch
from
June 15, 2026 08:20
48f15b5 to
1d17567
Compare
feat(boost): replace bfs::unique_path -> mc_rtc::unique_path
arntanguy
force-pushed
the
topic/nix-and-upgrade
branch
from
July 14, 2026 14:39
3e5ce7e to
1624553
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
MuJoCo 3.3.6. Why3.3.6? It's the version available in my current efforts in getting the framework in nixpkgs, and also happens to be the latestMuJoCoversion I managed to build inUbuntu 22.04using the officialcmakescripts.jrl-cmakemodules v2from Introduce JRL CMake Modules v2 jrl-umi3218/jrl-cmakemodules#798 (unifies how projects are defined and exported)Now this is essentially a rewrite of the existing cmake scripts, and it has some implications:
MuJoCoofficially exported with the official cmake scripts and consumed through a regularfind_package(mujoco ...)uitoolsand related unused codepaths. This is unavailable sinceMuJoCo 2.x.MuJoCo 3.0. However, for some strange reason, the mujoco team did not see fit to export thesimulate/component containing a working adapter implementation. In the current version, we rely on building source files gathered directly fromMuJoCo's source tree. This is both unavailable with the installed version (sources are not installed and the find_package does not report where the source tree lives), and not straightforward to do in Nix (each package is built in its own separated sandbox there). Thus I bundled the necessary files from thesimulate/folder ofMuJoCo 3.3.6into this repository. Not ideal as we will need to keep them in sync manually with future releases.src/CMakeLists.txtis doing a lot of odd things here. I tried cleaning it up by linking against "sensible" targets, this works in Nix. However, so far I have been unable to make it work in myUbuntu 22.04devcontainer (running within NixOS), it segfaults at0x0, never a great sign. This might however be due to my specific setup, further investigations needed.**. Considering the very specific linking step in the existing cmake files, I suspect there is some deeper incompatibilities going on there.Leaving this as a WIP until I can look deeper into this.
@ThomasDuvinage if you wish to try, it requires mc-rtc/superbuild-extensions#5 to build (install MuJoCo as a regular cmake project)