Difference between revisions of "MuJoCo WASM"
Line 1: | Line 1: | ||
− | + | == 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. | ||
− | === | + | === 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> | ||
− | === | + | === 1.2. Enter that directory === |
<code> | <code> | ||
cd emsdk | cd emsdk | ||
</code> | </code> | ||
− | === | + | === 1.3. Download and install the latest SDK tools === |
<code> | <code> | ||
./emsdk install latest | ./emsdk install latest | ||
</code> | </code> | ||
− | === | + | === 1.4. Make the "latest" SDK "active" === |
<code> | <code> | ||
./emsdk activate latest | ./emsdk activate latest | ||
</code> | </code> | ||
− | === | + | === 1.5. Activate PATH and other environment variables === |
<code> | <code> | ||
source ./emsdk_env.sh | source ./emsdk_env.sh | ||
Line 40: | Line 38: | ||
</code> | </code> | ||
− | === | + | === 1.6. Now just try it! === |
<code> | <code> | ||
emcc | emcc | ||
Line 50: | Line 48: | ||
</code> | </code> | ||
− | + | == 2. Build the mujoco_wasm Binary == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Next, you'll build the MuJoCo WebAssembly binary. | Next, you'll build the MuJoCo WebAssembly binary. | ||
− | === | + | === 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