Build auKsys using lrs-pkg
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.