Leviathan game engine

Required Software


These programs are needed for all platforms:

  • Ruby (It is recommended to use RubyInstaller on Windows, version 2.4 or newer)
  • Ruby gems (check below for details)
  • git
  • git lfs (version 2.8.0 and up)
  • svn
  • mercurial
  • cmake
  • boost libraries 1.66 or newer is required on windows, older versions work on linux. (On linux the setup script will automatically use the package manager to install this. For Windows see Windows)
  • Perl (On linux the setup script will automatically use the package manager to install this)
  • 7zip
  • GNU tar with LZMA support (.tar.xz file support)
  • Vulkan SDK (On linux the setup script will automatically use the package manager to install this)

You can check whether a program is in PATH by opening a command prompt/terminal and running the program by typing its name. For example ruby -v this shouldn't print an error instead you should get something like this:

ruby 2.4.1p111


  • Visual Studio 2017 Community (make sure to enable c++ support when installing) and install to the default path in C:/Program Files (x86)/Microsoft Visual Studio/2017/Community otherwise the setup won't find it.
  • Visual c++ 2010 runtime (This is required for yasm)
  • Visual c++ 2015 runtime (CEF uses this, users also need this)
  • Cygwin64. When Cygwin asks for which packages to install make sure the at least the following are selected (and to save space don't install the debug variants):

    • tar (with gzip and LZMA support)

    Though cmake and git are available through cygwin, those versions don't work, you need the official Windows versions. Subversion and mercurial also have to be the Windows versions. I used SlickSVN and TortoiseHG. TortoiseSVN should also work if you select the option to add svn to PATH while installing it.

    After installing cygwin add C:\cygwin64\bin to the system PATH to make everything visible to the script. You may want to make cygwin the first thing in your PATH as you may have conflicting program names in PATH that can mess up the setup.

    If you have issues with not getting everything installed you can reference these images (that have additional packages installed, but also all the required ones, these screenshots are a bit outdated now): cygwin list 1, cygwin list 2, cygwin list 3, cygwin list 4, cygwin list 5.

    It is possible to install perl on Windows with Cygwin.

    After installing tar, check that tar --version outputs something like this:

    tar (GNU tar) 1.29
    Packaged by Cygwin (1.29-1)

    If you get something totally different it will not work. For example bsdtar does not work!

  • Install Perl with the installer from http://strawberryperl.com/
  • Install Git with the official installer from: https://git-scm.com/download/win You can use this installer to also install git lfs for you. Just don't forget to run git lfs install in command prompt afterwards.
  • After compiling Boost make sure to set an environment variable BOOST_ROOT to the folder where you compiled boost (for example C:\projects\boost). This is different from path, you can create new environment variables from the same place where you edit the PATH environment variable. And compile shared versions and use 64 bit build.

    If you have multiple visual studio versions installed, you need to specify the correct one (--toolset=msvc-VERSION). Visual studio 2017 has the version number 14.1

    Additional tip: when running b2 make sure you specify the toolset, bitness, type and the number of cores to use for compiling like this:

    .\b2 --toolset=msvc-14.1 link=shared,static address-model=64 --with-system --with-filesystem --with-program_options -j numberofcores. Note: replace numberofcores with how many cores you have for optimal compilation time. Also if you plan on using boost with other projects as well remove the --with- options to compile all of the components, which takes a long time.

    If msvc isn't detected correctly, open "Developer Command Prompt for Visual Studio 2017" and run again in that. Just make sure to use the 64 bit version and with that you might have to add architecture=x86 as an extra parameter to b2 for it to build correctly. That should make boost detect visual studio.

    official boost guide

  • Vulkan SDK (use the installer) After installing you need to setup an environment variable called VULKAN_SDK pointing to the install path (for example: C:\VulkanSDK\
  • 7zip. Download the official installer release and then once installed add the installed folder (where 7z.exe is) to path. Confirm by running 7z.exe in cmd.exe or powershell, it should print 7zip version info and command line usage.
  • If you used a recent official Git installer, it should have already installed Git LFS if you left the option enabled. If you didn't install Git LFS with it you can install Git LFS with the Windows installer from here: https://github.com/git-lfs/git-lfs/releases After installing remember to run git lfs install

    Note: version 2.8.0 or newer is required, old versions do not work.

    If you previously had Git installed through cygwin, you must uninstall that and install the official Windows version of Git. You may also have to deleted all your cloned folders to avoid errors, and reboot your computer to have everything detect that Git is now in a different place.

  • Install subversion with the SlickSVN client installer.
  • Install mercurial with TortoiseHG installer. When installing make sure to keep the option of adding mercurial to PATH.


  • lsb_release
  • GCC 7+ or clang 5+ (clang is untested, but probably works...)
  • 7zip. Use your package manager to install, it is probably named p7zip.
  • Git lfs is likely available as a package named (git-lfs). If it is not install it manually. After installing remember to run git lfs install

    Note: Git LFS 2.9.0 is known to be broken! Use version 2.8.0 instead. If your package manager only provides the broken version you need to manually install!

  • tar. You probably will have GNU tar by default installed. You might need to install xz-utils package to get LZMA support installed. Note: depending on your distribution the xz package might also be named just xz.

Ruby Gems

  • os
  • colorize
  • rubyzip
  • json
  • sha3

These can be installed by running gem install os colorize rubyzip json sha3. Running with sudo is probably not required. If you get errors installing the gems you should try updating your ruby version.

If you have trouble installing sha3 on windows: make sure you have ruby 2.4 or newer installed with ruby installer for windows. Then run ridk install and try all of the options. The third option at least should reinstall all the ruby development tools, including gmp, which is needed for sha3. After that your ruby native extension build tools should be installed and the gem installation should work.

If it still doesn't work run ridk exec pacman -S gmp-devel and then run ridk install again.

If you are a developer and want to use the Breakpad symbol uploader you additionally need the gem httparty.


To compile Leviathan see Compiling Leviathan


Require file not found

Make sure you have installed all of the ruby gems.

This is one of the potential errors (the 'os' here is the missing gem):

C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require`: cannot load such file -- os (LoadError)

Boost libraries not found

On Windows you need to make sure that you have compiled the needed boost libraries on the exact same compiler version.

For Visual Studio 2017 libraries with the suffix -vc141-mt-gd-x64 needs to be in boost/stage/lib folder. Otherwise boost has not been correctly compiled.