/
Linux - Building and Packaging (old)

Linux - Building and Packaging (old)

Introduction

This page describes how to setup a build environment, using a Ubuntu 14.04.3 LTS 64 bit (Trusty Tahr). The same method can apply to others GNU/Linux dist like Debian or Fedora.


Since Qt5.6, Qt do not provides the Linux32 prebuild binaries or Linux32 Qt installer. See Linux32(i686) Qt5.6 issue part.

In this page
 

Setup a build environment

Install all tools, dependencies, compiler and more which are needed for building:

sudo apt-get install build-essential \
curl \
gdb \
wget \
debhelper \
p7zip-full \
unzip \
flex \
bison \
libsdl1.2-dev \
libudev-dev \
libusb-1.0-0-dev \
git-core \
git-doc \
gitk \
ccache \
cmake \
libzip-dev \
libpng-dev \
libjpeg-dev \
libtiff5-dev \
libcurl4-openssl-dev \
libgeos++-dev \
libgdal-dev

For x86_64 architecture you still need libc6 32bits compatible for ARM toolchain use or it fails silently!

sudo apt-get install libc6-i386

Linux32 (i686) - Qt5.6 issue

Qt5.6 is not available for download anymore, you can use the Qt5.6 packages that comes from you system:

sudo add-apt-repository ppa:librepilot/tools -y
sudo apt-get update -q
sudo apt-get install -y libudev-dev \
libusb-1.0-0-dev \
libsdl1.2-dev \
python \
libopenscenegraph-dev \
qt56-meta-minimal \
qt56svg \
qt56script \
qt56serialport \
qt56multimedia \
qt56translations \
qt56tools \
qt56quickcontrols

make  arm_sdk_install

source /opt/qt56/bin/qt56-env.sh
make opfw_resource
make gcs GCS_EXTRA_CONF=osg

./build/librepilot-gcs_release/bin/librepilot-gcs




Get the code using Git

Choose/create a dir where you want LibrePilot code:

mkdir -p ~/code
cd ~/code

Checkout code :

git clone https://bitbucket.org/librepilot/librepilot.git

Change current directory to ~/code/librepilot:

cd ~/code/librepilot

Now you can checkout code from remote Git server:

git checkout next

Dev Tools Installation

Install development libraries and tools, these will be downloaded and automatically installed using root Makefile:

make all_sdk_install

After you have run  make all_sdk_install, make sure you run the next two commands to make sure everything was installed.

make osg_install
make osgearth_install



Connecting your hardware

If you don't install a package previously you cannot access the hardware connected to Usb port as a normal user because access rights are missing.

Copy the udev rules file to the right place and add your current user to the plugdev group. May need a new terminal session to be taken in account.

sudo cp package/linux/45-uav.rules /etc/udev/rules.d/45-uav.rules
sudo udevadm control --reload-rules
sudo usermod -a -G plugdev your_username


Build - Run software locally

make opfw_resource
make gcs
./build/librepilot-gcs_release/bin/librepilot-gcs

Take also a look to the Make Basics page.


Build package

Build a .deb package:

Tip: set after make -j(numbers of cores/threads)

example: make -j4 package  ( for 4 cores/threads)

make package

Updating your local source of Librepilot

Go to the location where you have your source files ( if its the same as above it will be ~/code/librepilot )

The first command will get the new changes

The second command will rebuild 

git pull
make package





Related content

Linux - Building and Packaging
Linux - Building and Packaging
More like this
Make basics
More like this
Windows Building and Packaging
Windows Building and Packaging
More like this
UAVObjects
More like this
Git Workflow
Read with this
Windows Building and Packaging (old)
Windows Building and Packaging (old)
More like this