1

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)?

17
  • 2
    Why are you downloading packages manually7 Run sudo apt install build-essential and all dependencies will be installed. Or install at lease cmake.
    – Pilot6
    Oct 29, 2021 at 15:48
  • @Pilot6: This output is from installing cmake_3.18.4-2_amd64.deb. So, should I proceed or is it hopeless? Oct 29, 2021 at 15:55
  • @Pilot6: And by the way, I have installed build-essential... Oct 29, 2021 at 15:56
  • 1
    Since you installed build-essential, try rmadison. Example: rmadison cmake will tell you versions and matching releases of Ubuntu. rmadison -u debian cmake will tell you the same for Debian.
    – user535733
    Oct 29, 2021 at 16:11
  • 2
    It's fuzzy because we have not tested what you are doing. You are off the marked path. My opinion is that you will destroy your system trying to install bleeding-edge software into a 3-year-old Debian-based system. You won't be able to reconcile all of the dependency conflicts that you will create. However, I have not tested that. I might be flat wrong.
    – user535733
    Oct 29, 2021 at 16:32

2 Answers 2

2

You can't compile very new software on not-so-very old system because of dependencies. Manual installation of new dependencies on old system will break it.

As not-harmful alternative you can use Okular 21.08.2 flatpak from KDE instead on your Ubuntu 18.04 LTS. Install it with:

sudo add-apt-repository ppa:flatpak/stable
sudo apt update
sudo apt install flatpak

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

flatpak install flathub org.kde.okular

And to start it use

flatpak run org.kde.okular

or find relevant icon in your desktop environment.

2
  • 1
    ...and to start it: flatpak run org.kde.okular Oct 29, 2021 at 17:31
  • So: flatpak or snap? Somehow your comment, N0rbert, was deleted... Oct 30, 2021 at 12:45
-1

KDE already solved this problem with the Okular Snap.

https://snapcraft.io/okular

The Snap is sandboxed from the rest of your system, and will auto-update whenever the author (KDE) pushes an update.

The current snap (version 20.12.3) should be fully compatible with your 18.04 system.

  • For additional information: snap list okular
  • To install: sudo snap install okular
  • It's independent of Ubuntu (or Debian) versions. If you discover that the snap is stale, simply ping KDE directly -- they're the author, and they can update it anytime.
0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .