ariya.io About Talks Articles

ChakraCore on Linux

2 min read

The latest version of ChakraCore, an open-source JavaScript engine from Microsoft, finally supports JIT compilation on platforms such as Linux and macOS.

About a year ago, I played with the initial port of ChakraCore to Linux. Back then, nothing really compiled yet. Time flies and since a few months ago, it is finally possible to enjoy the full glory of ChakraCore on Linux.

The safest way to play with Linux ChakraCore is to do it an isolated environment (regardless whether the host machine is macOS or another Linux). My favorite is to use Vagrant:

vagrant init ubuntu/xenial64
vagrant up && vagrant ssh

Note that ChakraCore is officially tested on Ubuntu 16.04, hence the above xenial64 box. If you are using an older version of Ubuntu, do not despair. ChakraCore will still compile, but you might need an updated version of CMake, e.g. for Ubuntu 12.04, follow the instructions in this Stack Overflow post.

chakracore

Once inside the virtual machine, grab a few important packages:

sudo apt-get -y update
sudo apt-get install -y build-essential unzip cmake clang-3.8 libicu-dev libunwind8-dev

Now, it is time get the source code and compile it from source!

curl -o ChakraCore-1.4.zip https://codeload.github.com/Microsoft/ChakraCore/zip/v1.4.0
unzip ChakraCore-1.4.zip && cd ChakraCore-1.4.0
./build.sh --cxx=/usr/bin/clang++-3.8 --cc=/usr/bin/clang-3.8

It will take some time for the build process to complete. Once it finishes, you can try out the simplistic JavaScript shell based on ChakraCore. Create a simple test file name math.js (note the use of the exponentiation operator, a feature of ES2016):

console.log(3 ** 4);

and then run it with ChakraCore shell:

$ BuildLinux/Release/ch math.js
81

There you have it: a completely functional JavaScript engine from Microsoft, running on Linux!

Related posts:

♡ this article? Explore more articles and follow me Twitter.

Share this on Twitter Facebook