After you’ve installed the SDK or built an Emscripten development environment from sources, the compiler should just work! This section shows how to verify that the environment has been set up correctly, and how to troubleshoot installation problems when they do occur.
The first step in verifying the environment is to run Emscripten with the version command (
-v). The command prints out information about the toolchain and runs some basic sanity tests to check that the required tools are available.
On Windows, invoke the tool with emsdk instead of ./emsdk.
emcc (Emscripten GCC-like replacement + linker emulating GNU ld ) 1.21.0 clang version 3.3 Target: x86_64-pc-win32 Thread model: posix INFO root: (Emscripten: Running sanity checks) WARNING root: java does not seem to exist, required for closure compiler. -O2 and above will fail. You need to define JAVA in ~/.emscripten
At this point you need to Install and activate any missing components. When everything is set up properly,
./emcc -v should give no warnings, and if you just enter
./emcc (without any input files), it should only give the following warning:
WARNING root: no input files
The next test is to actually build some code! On the command prompt navigate to the Emscripten directory for the current SDK and try to build the hello_world.cpp test code:
cd emscripten/<version of emscripten you installed> ./emcc tests/hello_world.cpp
If compiling succeeds, you’re ready for the Emscripten Tutorial. If not, check out the troubleshooting instructions below.
./emcc -v and examine the output to find missing components. You can also try
./emcc --clear-cache to empty the compiler’s internal cache and reset it to a known good state.
Missing tools can often be added using the Emscripten SDK (emsdk). For example, to fix a warning that Java is missing, locate it in the repository, install it, and then set it as active:
#List all the components. Look for the missing component (in this case "java-7.45-64bit") ./emsdk list #Install the missing component ./emsdk install java-7.45-64bit #Set the component as active ./emsdk activate java-7.45-64bit
If you’re building Emscripten manually from source, see that link for information on how to obtain all dependencies.
Other common problems to check for are:
- Errors in the paths in .emscripten. These are less likely if you update the file using emsdk.
- Using older versions of LLVM. The correct versions come with the SDK, but if you’re building the environment from source see LLVM Backend (“Fastcomp”) for the proper repos for LLVM and Clang.
If none of the above is helpful, then please contact us for help.