BuildAnubisFromSourcesWindow710

Version 22 (David RENÉ, 08/19/2022 01:31 AM)

1 21 David RENÉ
h1. Build Anubis From Sources on Window 7/10
2 1 Jérémy Larrieu
3 1 Jérémy Larrieu
h2. Requirements
4 1 Jérémy Larrieu
5 1 Jérémy Larrieu
First of all, you'll need to install these requirements:
6 1 Jérémy Larrieu
* MSYS2
7 1 Jérémy Larrieu
* SCons
8 11 Jérémy Larrieu
* make
9 11 Jérémy Larrieu
* gcc
10 11 Jérémy Larrieu
* g++
11 11 Jérémy Larrieu
* libjpeg
12 2 Jérémy Larrieu
13 4 Jérémy Larrieu
Download MSYS2 installer on http://www.msys2.org/:
14 2 Jérémy Larrieu
* 32bits installer for Windows 7/10 32bits
15 2 Jérémy Larrieu
* 64bits installer for Windows 7/10 64bits
16 6 Jérémy Larrieu
17 6 Jérémy Larrieu
Install MSYS2 with the downloaded installer.
18 6 Jérémy Larrieu
19 12 Jérémy Larrieu
Run the *MSYS2 MinGW 32-bits* terminal and run this command to update your installation:
20 6 Jérémy Larrieu
<pre>
21 6 Jérémy Larrieu
pacman -Syuu
22 9 Jérémy Larrieu
</pre>
23 9 Jérémy Larrieu
24 9 Jérémy Larrieu
Close the terminal and repeat the update process until there are no more update available.
25 10 Jérémy Larrieu
26 11 Jérémy Larrieu
Then, to install *scons*, *make*, *gcc*, *g++* and *libjpeg*, launch this command:
27 10 Jérémy Larrieu
<pre>
28 20 David RENÉ
pacman -S scons
29 11 Jérémy Larrieu
pacman -S --needed base-devel mingw-w64-i686-toolchain mingw-w64-i686-libjpeg-turbo
30 10 Jérémy Larrieu
</pre>
31 7 Jérémy Larrieu
32 11 Jérémy Larrieu
Press *Enter* key when it will ask to install all packages in *base-devel* and *mingw-w64-i686-toolchain* groups.
33 11 Jérémy Larrieu
Then, validate the installation.
34 13 Jérémy Larrieu
35 13 Jérémy Larrieu
h2. Get Anubis sources
36 14 Jérémy Larrieu
37 21 David RENÉ
Clone repo from http://gitlab.anubis-lang.com/anubis/anubis.git and checkout ANUBIS_1_19 branch.
38 16 Jérémy Larrieu
39 14 Jérémy Larrieu
h2. Compile Anubis sources
40 14 Jérémy Larrieu
41 16 Jérémy Larrieu
To compile Anubis compiler, goto folder anubis_dev > compiler and execute the following command:
42 16 Jérémy Larrieu
<pre>
43 16 Jérémy Larrieu
scons
44 16 Jérémy Larrieu
</pre>
45 16 Jérémy Larrieu
46 16 Jérémy Larrieu
To compile Anubis vm, go to folder anubis_dev > vm and execute the following command:
47 16 Jérémy Larrieu
<pre>
48 16 Jérémy Larrieu
scons
49 16 Jérémy Larrieu
</pre>
50 16 Jérémy Larrieu
51 14 Jérémy Larrieu
h2. Install Anubis
52 16 Jérémy Larrieu
53 16 Jérémy Larrieu
h2. Customize Anubis vm compilation (SSL, ...)
54 15 Jérémy Larrieu
55 19 David RENÉ
Compiling the openssl library in third_dev dir.
56 19 David RENÉ
57 19 David RENÉ
Here it will be an example for compiling openssl lib 1.1.1i from msys on windows.
58 19 David RENÉ
download the latest source from https://www.openssl.org/source/ into the third_dev folder.   
59 19 David RENÉ
60 19 David RENÉ
<pre>
61 19 David RENÉ
cd third_dev/
62 19 David RENÉ
tar xvf openssl-1.1.1i.tar.gz
63 19 David RENÉ
</pre>
64 19 David RENÉ
65 19 David RENÉ
enter into the folder, configure it for msys with "mingw -m32" argument and make it
66 19 David RENÉ
<pre>
67 19 David RENÉ
cd openssl-1.1.1i/
68 19 David RENÉ
./Configure mingw -m32
69 19 David RENÉ
make 
70 19 David RENÉ
</pre>
71 19 David RENÉ
72 19 David RENÉ
From now you can return to the vm folder to rebuild it with the fresh openssl-1.1.1i library with the following command
73 19 David RENÉ
74 19 David RENÉ
<pre>
75 19 David RENÉ
cd ../../anubis_dev/vm/
76 19 David RENÉ
scons
77 19 David RENÉ
</pre>
78 19 David RENÉ
79 19 David RENÉ
80 15 Jérémy Larrieu
h2. Common errors
81 15 Jérémy Larrieu
82 15 Jérémy Larrieu
<pre>
83 22 David RENÉ
ValueError : unsupported pickle protocol: 5
84 1 Jérémy Larrieu
</pre>
85 22 David RENÉ
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. 
86 22 David RENÉ
solution: Delete the .sconsign.dblite file and run scons again
Redmine Appliance - Powered by TurnKey Linux