Problem installing any program in KDE neon

Hi, I love KDE neon, and am having some challenges. I’d be so grateful for help solving this:

When I try to install any new program, I’m getting errors. Here’s an example from trying to install Calibre through the command line:

dandelionc@dandelionc-4063gr2:~$ sudo apt install calibre
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Starting pkgProblemResolver with broken count: 1
Starting 2 pkgProblemResolver with broken count: 1
Investigating (0) calibre-bin:amd64 < none -> 5.37.0+dfsg-1build1 @un puN Ib >
Broken calibre-bin:amd64 Depends on libpodofo0.9.7:amd64 < none | 0.9.7+dfsg-3 @un uH > (>= 0.9.7+dfsg)
  Considering libpodofo0.9.7:amd64 0 as a solution to calibre-bin:amd64 -1
  Re-Instated libpodofo0.9.7:amd64
Broken calibre-bin:amd64 Depends on qtbase-abi-5-15-3:amd64 < none @un H >
  Considering libqt5core5a:amd64 3954 as a solution to calibre-bin:amd64 -1
  Considering libqt5core5a:amd64 3954 as a solution to calibre-bin:amd64 -1
Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 calibre-bin : Depends: qtbase-abi-5-15-3
E: Unable to correct problems, you have held broken packages.

When I try to install through Discover, I get:
Dependency resolution failed

When I try to update, I’m told I’m up to date.
How do I fix this?

“You” don’t (fix this).

The problem is with the package qtbase-abi-f-15-3. The maintainer of calibre needs to address this.

Not really the case it can be the Neon they use so much apt pinning in their distribution you do not get a “standard” with the base they work off. When programs are pinned to an exact =version_number any program that depends on it must use the exact same =version_number. This causes situations like the OP sees. Now you could download the source for the program wanted and edit the control file to change the =version_number needed in it, then compile it up in .deb package and the theory is it should install and just work.

Thank you, @Snowhog and @redgreen925 for answering.

I don’t even know what apt pinning is, have never compiled anything before, and have other factors that would make doing this a major learning curve for me.

Are other people having the same issue, or it just me?

Is there anything very simple I could try?

An example below of one of the files used by them in the Neon installed I had until I gave up and went with the Kubuntu using the Ubuntu 24.04 development install as the base to get it. As it has just about the same new versions of KDE installed all that is missing is the QT still at 5.15.10 instead of the 5.15.11 in Neon. Simple to try no not really it involves new install to do it, so you would want a spare drive or partition laying around to test it out and see if it suits you to do it that way.

# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
# SPDX-FileCopyrightText: 2022 Jonathan Esk-Riddell <jr@jriddell.org>

Package: assimp-testmodels
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: assimp-utils
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: cec-utils
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: fuse
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: fuse3
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libassimp5
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libassimp-dev
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libassimp-doc
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libcec6
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libcec-dev
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libfuse3-3
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libfuse3-dev
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libmd4c0
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libmd4c-dev
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libmd4c-html0
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libmd4c-html0-dev
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libqofono-dev
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libqofono-qt5-0
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libseccomp2
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libseccomp-dev
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libxcvt0
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libxcvt-dev
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libyuv-dev
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: python3-cec
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: python3-gpg
Pin: release o=jammy
Pin-Priority: 1100

Package: python3-pyassimp
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: python3-seccomp
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: qml-module-ofono
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: seccomp
Pin: release o=Ubuntu
Pin-Priority: 1100

# Debian ships an unstable higher version kbibtex

Package: kbibtex
Pin: origin "archive.neon.kde.org"
Pin-Priority: 1100

Package: kbibtex-data
Pin: origin "archive.neon.kde.org"
Pin-Priority: 1100

# Neon focal shipped qtfeedback with 5.15 while jammy has 5.0

Package: libqt5feedback5
Pin: release a=jammy
Pin-Priority: 1100

Package: qml-module-qtfeedback
Pin: release a=jammy
Pin-Priority: 1100

Package: qtfeedback5-dev
Pin: release a=jammy
Pin-Priority: 1100

Package: qtfeedback5-examples
Pin: release a=jammy
Pin-Priority: 1100

Package: qt6
Pin: release a=jammy
Pin-Priority: 1100

Package: mygnuhealth
Pin: release a=jammy
Pin-Priority: 1100

# the following packages are pinned to fix the libjpeg-turbo backport debacle

Package: libjpeg-dev
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libjpeg8
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libjpeg8-dev
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libjpeg-turbo8
Pin: release o=jammy
Pin: version 2.*
Pin-Priority: 1100

Package: libjpeg-turbo8-dev
Pin: release o=jammy
Pin: version 2.*
Pin-Priority: 1100

Package: libjpeg-turbo-progs
Pin: release o=jammy
Pin: version 2.*
Pin-Priority: 1100

Package: libturbojpeg
Pin: release o=jammy
Pin: version 2.*
Pin-Priority: 1100

Package: libturbojpeg0-dev
Pin: release o=jammy
Pin: version 2.*
Pin-Priority: 1100

Package: libturbojpeg-java
Pin: release o=jammy
Pin: version 2.*
Pin-Priority: 1100

# the following packages are pinned to fix the harfbuzz backport debacle (it could not be compiled on i386)

Package: libharfbuzz0b
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libharfbuzz-doc
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libharfbuzz-gobject0
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libharfbuzz0b
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: gir1.2-harfbuzz-0.0
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libharfbuzz-icu0
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libharfbuzz-dev
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libharfbuzz-bin
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libharfbuzz-subset0
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libraqm0
Pin: release o=Ubuntu
Pin-Priority: 1100

Package: libraqm-dev
Pin: release o=Ubuntu
Pin-Priority: 1100

Thank you for the instructions. Right now, I’m using an older Lenovo Thinkpad with one drive and this install takes the whole thing.

I tried installing Librewolf through Discover. That worked.

I tried installing Telegram through Discover. That failed with the same error.

Following the link to download Telegram provided by telegramo.org worked, though.

The common thing I noticed when I just looked at Calibre and Telegram in discover, is they are both distributed by ubuntu-jammy-universe

Could that have anything to do with it?

No the problem is here in the control file as I told you it lists specific versions or some packages that are not available to install. Now if the package was rebuilt with a version requirement listed in that file that can be met by the Neon source you have then it will install and possibly work. The universe repository is the non-free in Debians terms I think containing proprietary licensed software. And now I notice it Norbert is listed in that file a fine Debian developer who used to upload some nice backports for KDE built on Debian stable so we could have some up to date software, they chased him out with their politics and infighting they do all the time.

Source: calibre
Section: text
Priority: optional
Build-Depends:
 debhelper-compat (= 13),
 curl,
 dh-buildinfo,
 dh-python,
 fonts-liberation2,
 imagemagick,
 libboost-dev,
 libchm-dev,
 libegl1-mesa-dev,
 libhunspell-dev,
 libhyphen-dev,
 libicu-dev,
 libjpeg-turbo-progs,
 libjxr-tools,
 libmagickwand-dev,
 libmtdev-dev [linux-any],
 libmtp-dev (>= 1.1.5),
 libpodofo-dev (>= 0.8.2),
 libqt5svg5-dev,
 libsqlite3-dev,
 libstemmer-dev,
 libudev-dev [linux-any],
 libusb-1.0-0-dev,
 optipng,
 poppler-utils (>= 0.85.0),
 pyqt5-dev (>= 5.15.0+dfsg-1+exp1~),
 pyqt5-dev-tools,
 python3,
 python3-apsw,
 python3-bs4,
 python3-chardet,
 python3-chm,
 python3-css-parser,
 python3-cssselect,
 python3-cssutils,
 python3-dateutil,
 python3-dev,
 python3-feedparser,
 python3-html2text,
 python3-html5-parser,
 python3-html5lib,
 python3-ipython,
 python3-jeepney,
 python3-lxml,
 python3-markdown,
 python3-mechanize,
 python3-msgpack,
 python3-netifaces,
 python3-openssl,
 python3-pil,
 python3-pkg-resources,
 python3-psutil,
 python3-py7zr,
 python3-pygments,
 python3-pyparsing,
 python3-pyqt5,
 python3-pyqt5.qtsvg,
 python3-pyqt5.qtwebengine (>= 5.12.1-4+b1),
 python3-pyqtbuild,
 python3-regex,
 python3-routes,
 python3-setuptools,
 python3-sipbuild,
 python3-speechd,
 python3-zeroconf,
 qt5-image-formats-plugins,
 qt5-qmake,
 qtbase5-dev (>= 5.12),
 qtbase5-private-dev,
 qtchooser,
 xauth,
 xdg-utils,
 xvfb,
Maintainer: Calibre maintainer team <team+calibre@tracker.debian.org>
Uploaders: Norbert Preining <norbert@preining.info>,
 Martin Pitt <mpitt@debian.org>,
 Nicholas D Steeves <sten@debian.org>,
 YOKOTA Hiroshi <yokota.hgml@gmail.com>

I’m wishing Norbert well, and peace and unity in the community.

I just moved, so it might be a little before I can try that solution. Somewhere in my stuff should be an old, I think it’s an Acer 5738? It has either 2 or 4 gb ram, and 32 gb memory. Do you think that’s powerful enough to work, to try your instructions, since it’s a separate drive/partition?

If it is this below then it appears to be a 2.1ghz Core 2 Duo processor machine. I would think that should be good enough to play around with. Do not expect miracles with the performance as it is rather old but Linux will work with old hardware rather nicely some of the time. Especially if you go with one of the lighter desktops like XFCE.