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 LTS. Say I want to build Okular from the source to have the latest features [ okular from source ]. There are some related questions on this topic, see Q1, Q2, 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)?
sudo apt install build-essential
and all dependencies will be installed. Or install at leasecmake
.cmake_3.18.4-2_amd64.deb
. So, should I proceed or is it hopeless?build-essential
...rmadison
. Example:rmadison cmake
will tell you versions and matching releases of Ubuntu.rmadison -u debian cmake
will tell you the same for Debian.