Difference between revisions of "MuJoCo WASM"

From Humanoid Robots Wiki
Jump to: navigation, search
m (Reorg)
Line 43: Line 43:
 
</code>
 
</code>
  
'''Tip:''' If you get an error with "undefined symbol: saveSetjmp/testSetjmp" at the build step, revert to:
+
 
<code>
 
./emsdk install 3.1.56 && ./emsdk activate 3.1.56 && source ./emsdk_env.sh
 
</code>
 
  
 
== Build the mujoco_wasm Binary ==
 
== Build the mujoco_wasm Binary ==
 
Next, you'll build the MuJoCo WebAssembly binary.
 
Next, you'll build the MuJoCo WebAssembly binary.
  
=== On Linux ===
 
 
<code>
 
<code>
 
mkdir build
 
mkdir build
Line 57: Line 53:
 
emcmake cmake ..
 
emcmake cmake ..
 
make
 
make
 +
</code>
 +
 +
'''Tip:''' If you get an error with "undefined symbol: saveSetjmp/testSetjmp" at the build step, revert to:
 +
<code>
 +
./emsdk install 3.1.56 && ./emsdk activate 3.1.56 && source ./emsdk_env.sh
 
</code>
 
</code>

Revision as of 19:49, 19 May 2024

Install emscripten

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

Get the emsdk repo

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

Enter that directory

cd emsdk

Download and install the latest SDK tools

./emsdk install latest

Make the "latest" SDK "active"

./emsdk activate latest

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

Now just try it!

emcc


Build the mujoco_wasm Binary

Next, you'll build the MuJoCo WebAssembly binary.

mkdir build cd build emcmake cmake .. make

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