Build Anubis From Sources on Window 7/10

Requirements

First of all, you'll need to install these requirements:
  • MSYS2
  • SCons
  • make
  • gcc
  • g++
  • libjpeg
Download MSYS2 installer on http://www.msys2.org/:
  • 32bits installer for Windows 7/10 32bits
  • 64bits installer for Windows 7/10 64bits

Install MSYS2 with the downloaded installer.

Run the MSYS2 MinGW 32-bits terminal and run this command to update your installation:

pacman -Syuu

Close the terminal and repeat the update process until there are no more update available.

Then, to install scons, make, gcc, g++ and libjpeg, launch this command:

pacman -S scons
pacman -S --needed base-devel mingw-w64-i686-toolchain mingw-w64-i686-libjpeg-turbo

Press Enter key when it will ask to install all packages in base-devel and mingw-w64-i686-toolchain groups.
Then, validate the installation.

Get Anubis sources

Clone repo from http://gitlab.anubis-lang.com/anubis/anubis.git and checkout ANUBIS_1_19 branch.

Compile Anubis sources

To compile Anubis compiler, goto folder anubis_dev > compiler and execute the following command:

scons

To compile Anubis vm, go to folder anubis_dev > vm and execute the following command:

scons

Install Anubis

Customize Anubis vm compilation (SSL, ...)

Compiling the openssl library in third_dev dir.

Here it will be an example for compiling openssl lib 1.1.1i from msys on windows.
download the latest source from https://www.openssl.org/source/ into the third_dev folder.

cd third_dev/
tar xvf openssl-1.1.1i.tar.gz

enter into the folder, configure it for msys with "mingw -m32" argument and make it

cd openssl-1.1.1i/
./Configure mingw -m32
make 

From now you can return to the vm folder to rebuild it with the fresh openssl-1.1.1i library with the following command

cd ../../anubis_dev/vm/
scons

Common errors

ValueError : unsupported pickle protocol: 5

This error is due of use a different python in previous building, and after an update of scons/python the pickle protocol is in different version which is not compatible.
solution: Delete the .sconsign.dblite file and run scons again
Redmine Appliance - Powered by TurnKey Linux