knowrob
knowrob copied to clipboard
KnowRob dependency issues
I recommend linking dependencies locally when installing KnowRob. While this is ultimately up to the user, it’s easy to make mistakes with the default setup. Here's the issue:
To install KnowRob, you typically need to install a number of dependencies via apt-get:
apt install -y \
wget gdb g++ clang cmake make doxygen \
libeigen3-dev \
libspdlog-dev \
libraptor2-dev \
librdf0 \
librdf0-dev \
libmongoc-1.0-0 \
libmongoc-dev \
libgtest-dev \
libfmt-dev \
libjsoncpp-dev \
libc++abi1 \
software-properties-common
This approach introduces two major problems:
- Installing
libraptor2-dev,librdf0, andlibrdf0-devcan cause compatibility issues, as discussed in issue #434 - Attempting to remove these libraries breaks other dependencies, leading to a cascade of removals, including LibreOffice components:
sudo apt-get remove libraptor2-dev librdf0 librdf0-dev
...
The following packages will be REMOVED:
libraptor2-dev librasqal3-dev librdf0 librdf0-dev libreoffice-base-core libreoffice-calc libreoffice-core libreoffice-draw libreoffice-gnome libreoffice-gtk3 libreoffice-impress libreoffice-math
libreoffice-ogltrans libreoffice-pdfimport libreoffice-writer python3-uno redland-utils
...
After this operation, 240 MB disk space will be freed.
To avoid these issues, I suggest building all dependencies from source and keeping them local before installing KnowRob, as outlined in this proposal.