Leviathan  0.8.0.0
Leviathan game engine
Prerequisites

Required Software

Common

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
  • 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)
  • 7zip (required in latest versions)

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

Windows

  • 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 according to ffmpeg setup guide)
  • 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):

    • coreutils
    • make
    • bash
    • tar (with gzip support)

    You can also optionally install git with cygwin. But cmake has to be the Windows version, otherwise it won't properly generate visual studio project files. Also subversion and mercurial has 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.

    Then add C:\cygwin64\bin to the system path to make everything visible to the script

    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): cygwin list 1, cygwin list 2, cygwin list 3, cygwin list 4, cygwin list 5.

    Additionally if you have a lot of entires in your system path there may be conflicting names with executables from cygwin. This results in weird errors during ffmpeg compilation with the install etc. commands not accepting the parameters they are given. This can be fixed in two ways: either delete the conflicting programs OR make cygwin be the first thing in your path to let it override other programs if they have the same name.

  • 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.

    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 link=shared,static address-model=64 --with-system --with-filesystem -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

  • 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.

Linux

  • 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.

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.

Next

To compile Leviathan see Compiling Leviathan

Troubleshooting

Linux previously installed libraries

Old versions of Ogre (pre 2.0) are known to cause issues compiling or running Leviathan. So uninstall these old versions before starting if possible, or you (might) have a bad time.

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)