From bigfug
Jump to: navigation, search

Compiling Fugio on Arch Linux

This guide will take you through all the steps required to go from a clean Arch install (as of 04-10-2018) to a fully working compiled version of Fugio (based on 3.0.0)

You'll need to be connected to the internet, and be comfortable with basic terminal skills to be able to follow this guide.

Install Build Tools

We need to install the base level of tools for compiling software.

Open a Terminal window and type in:

sudo pacman -Syyu

These commands will make sure your system is up to date.


Install Qt 5

Fugio is based on Qt 5, which is a fantastic cross-platform system for creating C++ based software.

sudo pacman -S qt5-base qt5-websockets qt5-serialport qt5-quickcontrols  qt5-tools

Install Additional Tools

We'll also need to install the following tools:

sudo pacman -S cmake

Download the Fugio source code

Decide where you want to compile Fugio, (here we're going to build it on the Desktop) and do the following:

cd ~/Desktop/
mkdir Fugio
cd Fugio
git clone --recursive -b develop https://github.com/bigfug/Fugio.git
cd Fugio
git submodule init
git submodule update

Important: Note that you should now have two nested directories called Fugio:

~/Desktop/Fugio/Fugio

Dependencies

So far we have installed everything required to compile the core of Fugio however we need to install additional libraries if we want to compile the various plugins.

Plugins are designed to compile with or without the required libraries installed, so you can choose which ones you want.

note1: unlike ubuntu, arch FFmpeg has all the libav deps internally

sudo pacman -S opencv portaudio portmidi ffmpeg fftw lua 

note2: unfortunately libdlib on arch is not part of offical packages, but part of the AUR, so cant be installed using pacman. need to do it manually (or make our own Fugio AUR). i compiled Fugio without it, but im sure it needed down the line

git clone https://aur.archlinux.org/libdlib.git
cd libdlib
makepkg -si

Video Capture

https://github.com/roxlu/video_capture

 sudo apt install cmake libv4l-dev  (cmake already there, v4l part of arch ffmpeg)
 
 git clone https://github.com/roxlu/video_capture
 
 cd video_capture/build

At this point, I had to modify the CMakeLists.txt and include the line:

 set(CMAKE_POSITION_INDEPENDENT_CODE ON)

and then compile with:

 ./release_x86.sh 64

note: above release script will try to open a webcam upon build complete, if none is connected to your machine it will throw an error, its ok.

Building Fugio

We can build Fugio visually, using Qt Creator, or via the command line

Building Fugio by command line

If you'd rather build Fugio in your terminal, use the following steps:

cd ~/Desktop/Fugio

mkdir build-release

cd build-release

cmake ../Fugio

cmake --build .

Fugio will be built into ~/Desktop/Fugio/build-release

To install Fugio on your system, use:

sudo cmake --build . --target install

Building Fugio using Qt Creator

Qt Creator is a visual editor for creating Qt projects. If you want to use it to compile Fugio, it's a simple procedure:

  1. Run Qt Creator
  2. Open the ~/Desktop/Fugio/Fugio/CMakeLists.txt project
  3. Choose the default build options
  4. Build and run the project