[Linux] Compiling Canary Sources

This tutorial was created with /home/user. If you are using root user change for a normal user.

Create the user:

  • sudo adduser NAME

Give privileges to the created user:

  • sudo usermod -aG sudo NAME

Change in the Linux Terminal from root to the created user:

  • sudo su - NAME

1 - Download Bitvise:

https://www.bitvise.com/ssh-client-download

1.1 - Bitvise Tutorial:

https://www.bitvise.com/getting-started-install-ssh-client

2 - Compiling Canary Sources:

Debian
sudo apt update && sudo apt upgrade -y
sudo apt install git cmake build-essential autoconf libtool ca-certificates curl zip unzip tar pkg-config ninja-build ccache linux-headers-$(uname -r) -y

Update cmake:

sudo apt remove --purge cmake -y
hash -r
sudo apt install snapd -y
sudo snap install cmake --classic
cmake --version

Update gcc:

- Edit repository file: 
sudo nano /etc/apt/sources.list

- Append these lines to the end:
deb http://deb.debian.org/debian testing main contrib non-free
deb-src http://deb.debian.org/debian testing main contrib non-free
- Save the file.

sudo apt update
sudo apt install gcc-14 -t testing && sudo apt install g++-14 -t testing
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 14 
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 14
gcc-14 --version
g++-14 --version

-

sudo apt install acl
cd ~

git clone https://github.com/microsoft/vcpkg
cd vcpkg
./bootstrap-vcpkg.sh
cd ~

git clone --depth 1 https://github.com/opentibiabr/canary.git
sudo setfacl -R -m g:www-data:rx /home/$USER/
sudo setfacl -R -m g:www-data:rx /home/$USER/canary
cd canary
mv config.lua.dist config.lua
mkdir build && cd build

cmake -DCMAKE_TOOLCHAIN_FILE=~/vcpkg/scripts/buildsystems/vcpkg.cmake .. --preset linux-release -DTOGGLE_BIN_FOLDER=ON
cmake --build linux-release

cd ~
cd canary
cp -r build/linux-release/bin/canary .
sudo chmod +x canary
Ubuntu 20.04

Update cmake:

Update gcc:

-

Ubuntu 20.04 ARM

Update cmake:

Update gcc:

-

Ubuntu 22.04

Update cmake:

Update gcc:

-

Ubuntu 22.04 ARM

Update cmake:

Update gcc:

-

Ubuntu 24.04

Update cmake:

Update gcc:

-

How to update vcpkg:

If you already have vcpkg installed

To update vcpkg installation, run the commands below:

  • cd vcpkg

  • git pull

  • ./vcpkg upgrade

  • ./vcpkg upgrade --no-dry-run

  • ./bootstrap-vcpkg.sh

Observations:

Before compiling Canary in ARM, comment these lines in the CMakeLists.txt.

The file CMakeLists.txt is located on Canary main folder.

-- Running vcpkg install

This step will take a long time on the first run, as it needs to download and install all the dependencies, so be patient!

3 - Installation Nginx + MariaDB + MyAAC:

  • After compiling Canary sources, follow the tutorial below to install Nginx + MariaDB + MyAAC:

4 - Credits:

  • Majesty (Tutorial Compiling Canary Sources)

Last updated