Warning: we are in the process of open sourcing knowL/kDB and moving repositories to gitlab.com. This should be completed by mid-June.

lrs-pkg is a package management tool mainly recommended if you intend to do development on the auKsys libraries. For using the libraries, it is recommended to use auksys-build.

Dependencies

auKsys depends on the following libraries:

  • PostgreSQL
  • Qt (Quick, Positioning)
  • eigen
  • fmt

Optional dependencies:

  • Ruby and Ruby rice
  • Python
  • pgpointcloud

Ubuntu 22.04

The following command install all the dependencies for Ubuntu 22.04:

sudo apt-get install postgresql-server-dev-all libpq-dev libgdal-dev postgis git-annex qtbase5-dev qt5-qmake libcunit1-dev postgis ruby postgresql-plpython3-14 libgeographic-dev geographiclib-tools qtpositioning5-dev libeigen3-dev qttools5-dev-tools cmake libfmt-dev qtdeclarative5-private-dev qtbase5-private-dev ruby-dev libyaml-cpp-dev libpaho-mqttpp-dev libpaho-mqtt-dev pybind11-dev
sudo gem install rice

Debian (Testing)

The following command install all the dependencies for Debian, this was tested on testing but it should work on other version of Debian:

sudo apt install postgresql-server-dev-all libpq-dev libgdal-dev postgis  qtbase5-dev qt5-qmake libcunit1-dev postgresql-10 postgresql-10-postgis-2.3 ruby postgresql-plpython3-10 libgeographic-dev geographiclib-tools qtpositioning5-dev ruby-dev libyaml-cpp-dev libpaho-mqttpp-dev libpaho-mqtt-dev
sudo gem install rice

Common to all

Those steps are optional, if the features listed are not required.

GeographicLib geoids

The following is needed for support of altitude computation by the database.

sudo geographiclib-get-geoids egm84-15
sudo geographiclib-get-geoids egm96-5
sudo geographiclib-get-geoids egm2008-1
cd /usr/share/GeographicLib/geoids
sudo ln -s egm2008-1.pgm EGM2008.pgm
sudo ln -s egm96-5.pgm EGM96.pgm
sudo ln -s egm84-15.pgm EGM84.pgm

pgpointcloud

This is needed for support of point cloud in the database. Official packages of pgpointcloud are not supported until upstream decide to integrate the binary protocol patch from this pull request. Manual build is therefor needed:

git clone https://github.com/cyrilleberger/pointcloud pc-src
cd pc-src
git pull https://github.com/cyrilleberger/pointcloud
./autogen.sh
./configure
make
sudo make install

Building

Using lrs-pkg

The first step is to install lrs-pkg following its install instructions.

Then install kDB with:

lrs-pkg get Cartography kDB
lrs-pkg build kDB

To keep the code updated:

lrs-pkg update
lrs-pkg build

To build the ROS package, check the installation instruction of ROS server.