Difference between revisions of "MuJoCo WASM"

From Humanoid Robots Wiki
Jump to: navigation, search
Line 1: Line 1:
== Building ==
+
== 1. Install emscripten ==
 
 
=== 1. Install emscripten ===
 
 
First, you need to install emscripten, which is a compiler toolchain for WebAssembly.
 
First, you need to install emscripten, which is a compiler toolchain for WebAssembly.
  
==== Get the emsdk repo ====
+
=== 1.1. Get the emsdk repo ===
 
<code>
 
<code>
 
git clone https://github.com/emscripten-core/emsdk.git
 
git clone https://github.com/emscripten-core/emsdk.git
 
</code>
 
</code>
  
==== Enter that directory ====
+
=== 1.2. Enter that directory ===
 
<code>
 
<code>
 
cd emsdk
 
cd emsdk
 
</code>
 
</code>
  
==== Download and install the latest SDK tools ====
+
=== 1.3. Download and install the latest SDK tools ===
 
<code>
 
<code>
 
./emsdk install latest
 
./emsdk install latest
 
</code>
 
</code>
  
==== Make the "latest" SDK "active" ====
+
=== 1.4. Make the "latest" SDK "active" ===
 
<code>
 
<code>
 
./emsdk activate latest
 
./emsdk activate latest
 
</code>
 
</code>
  
==== Activate PATH and other environment variables ====
+
=== 1.5. Activate PATH and other environment variables ===
 
<code>
 
<code>
 
source ./emsdk_env.sh
 
source ./emsdk_env.sh
Line 40: Line 38:
 
</code>
 
</code>
  
==== Now just try it! ====
+
=== 1.6. Now just try it! ===
 
<code>
 
<code>
 
emcc
 
emcc
Line 50: Line 48:
 
</code>
 
</code>
  
=== 2. Build the mujoco_wasm Binary ===
+
== 2. Build the mujoco_wasm Binary ==
Next, you'll build the MuJoCo WebAssembly binary.
 
 
 
==== On Linux ====
 
<code>
 
mkdir build
 
cd build
 
emcmake cmake ..
 
make
 
</code>
 
 
 
 
 
 
 
=== 2. Build the mujoco_wasm Binary ===
 
 
Next, you'll build the MuJoCo WebAssembly binary.
 
Next, you'll build the MuJoCo WebAssembly binary.
  
==== On Linux ====
+
=== 2.1. On Linux ===
 
<code>
 
<code>
 
mkdir build
 
mkdir build

Revision as of 19:46, 19 May 2024

1. Install emscripten

First, you need to install emscripten, which is a compiler toolchain for WebAssembly.

1.1. Get the emsdk repo

git clone https://github.com/emscripten-core/emsdk.git

1.2. Enter that directory

cd emsdk

1.3. Download and install the latest SDK tools

./emsdk install latest

1.4. Make the "latest" SDK "active"

./emsdk activate latest

1.5. Activate PATH and other environment variables

source ./emsdk_env.sh

These variables are set for the current terminal. If you want to make it for all terminals, you can add them to any terminal profile. Here they are:

The environment variables: EMSDK = < path to emsdk dir >

EM_CONFIG = ~/.emscripten

EMSDK_NODE = < path to emsdk dir >/node/12.9.1_64bit/bin/node

1.6. Now just try it!

emcc

Tip: If you get an error with "undefined symbol: saveSetjmp/testSetjmp" at the build step, revert to: ./emsdk install 3.1.56 && ./emsdk activate 3.1.56 && source ./emsdk_env.sh

2. Build the mujoco_wasm Binary

Next, you'll build the MuJoCo WebAssembly binary.

2.1. On Linux

mkdir build cd build emcmake cmake .. make