knowrob icon indicating copy to clipboard operation
knowrob copied to clipboard

KnowRob dependency issues

Open HoangGiang93 opened this issue 7 months ago • 0 comments

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:

  1. Installing libraptor2-dev, librdf0, and librdf0-dev can cause compatibility issues, as discussed in issue #434
  2. 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.

HoangGiang93 avatar Apr 30 '25 08:04 HoangGiang93