I have a basic question concerning packages and the possibility to build a program in Ubuntu. To make it concrete: I'm using *Ubuntu 18.04.6 LT*S. Say I want to build Okular from the source to have the latest features [ [okular from source](https://okular.kde.org/build-it/) ]. There are some related questions on this topic, see [Q1](https://askubuntu.com/questions/120996/how-do-i-install-the-latest-version-of-okular), [Q2](https://askubuntu.com/questions/162166/freetype-notfound-error-when-trying-to-build-okular-from-source), but what I would like to know is: When starting downloading the needed dependencies (e.g. I need *cmake\_3.18.4-2\_amd64.deb*, and this needs *libarchive13\_3.4.3-2+b1\_amd64.deb* and so on...) how can I check if, at some point, I need an newer kernel? Because this would be the ultimate end, right (since at this point I should really directly install a never OS)? I'm not sure to which extend `apt` is doing this job. Does `apt`'s output

```
 ...
     cmake : Depends: libarchive13 (>= 3.3.3) but 3.2.2-3.1ubuntu0.7 is to be installed
     Depends: libgcc-s1 (>= 3.0) but it is not installable
     Depends: libjsoncpp24 (>= 1.9.4) but it is not installable
     Depends: libstdc++6 (>= 9) but 8.4.0-1ubuntu1~18.04 is to be installed

 ...

```

mean exactly this, namely that it is hopeless to install all the needed dependencies to succeed? I don't dread a lot of work but I would like to know in advance if it is a waste of time to build the package by myself. What is the best procedure here (except from a system update)?