As neon upgrades Qt packages to a version newer than what is in Ubuntu, a small number of the packages in the “Universe” section (imported directly from Debian as opposed to being rebuilt by Ubuntu) won’t install in neon. These have hard, specific Qt package dependencies baked in to the package.
For Calibre, it is better to use a different source, or use a Snap/Flatpak, as it is quite old anyway.
It appears to want to install here from the xtradebs repository.
root@9600k:~# apt-cache policy calibre
calibre:
Installed: (none)
Candidate: 6.29.0+ds-1~xtradeb3
Version table:
6.29.0+ds-1~xtradeb3 500
500 https://ppa.launchpadcontent.net/xtradeb/apps/ubuntu jammy/main amd64 Packages
500 https://ppa.launchpadcontent.net/xtradeb/apps/ubuntu jammy/main i386 Packages
5.37.0+dfsg-1build1 500
500 http://ca.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
500 http://ca.archive.ubuntu.com/ubuntu jammy/universe i386 Packages
root@9600k:~# apt -s install calibre
Reading package lists... Done
Building dependency tree... Done
Reading state information... 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 resolve the situation:
The following packages have unmet dependencies:
calibre-bin : Depends: qt6-base-abi (= 6.2.4)
Recommends: qt6-image-formats-plugins
python3-pyqt6 : Depends: qt6-base-abi (= 6.2.4)
E: Unable to correct problems, you have held broken packages.
root@9600k:~# apt -s install calibre qt6-base-abi=6.2.4
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'libqt6core6' instead of 'qt6-base-abi'
Selected version '6.2.4+dfsg-10~xtradeb2' (xtradeb applications:22.04/jammy [amd64]) for 'libqt6core6'
The following additional packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu blt calibre-bin
firebird3.0-common firebird3.0-common-doc fonts-lyx freeglut3 g++ g++-11 gcc
In order to install the ppa for it to install packages from there you will needs to makes two changes to tell the system you are running Ubuntu not Neon. In the /etc/os-release and /etc/lsb-release files.
Well here it is in black and white from my install notes I always make with every install I do to track my changes to the system that I make.
root@8400:~# add-apt-repository ppa:xtradeb/apps
Repository: 'deb https://ppa.launchpadcontent.net/xtradeb/apps/ubuntu/ jammy main'
Description:
Unofficial Ubuntu application packages maintained by xtradeb.
Error: could not find a distribution template for Neon/jammy
To fix the error needed to edit /etc/os-release and /etc/lsb-release files to tell it the machine was Ubuntu.
I tested on two machines just to be sure I wasn’t wrong, and it worked just fine, as it always has for me since 2016. it should not be necessary, The only thing that could cause an issue is a PPA not supporting Jammy, and throwing errors, the same is it would on Ubuntu proper.
Here is a third one:
$ sudo add-apt-repository ppa:xtradeb/apps
[sudo] password for claydoh:
Repository: 'deb https://ppa.launchpadcontent.net/xtradeb/apps/ubuntu/ jammy main'
Description:
Unofficial Ubuntu application packages maintained by xtradeb.
You may request additional packages by filing a bug here: https://launchpad.net/xtradeb.
You can find more information in our website: https://xtradeb.net.
More info: https://launchpad.net/~xtradeb/+archive/ubuntu/apps
Adding repository.
Press [ENTER] to continue or Ctrl-c to cancel.
Adding deb entry to /etc/apt/sources.list.d/xtradeb-ubuntu-apps-jammy.list
Adding disabled deb-src entry to /etc/apt/sources.list.d/xtradeb-ubuntu-apps-jammy.list
Adding key to /etc/apt/trusted.gpg.d/xtradeb-ubuntu-apps.gpg with fingerprint 5301FA4FD93244FBC6F6149982BB6851C64F6880
Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Hit:2 http://archive.ubuntu.com/ubuntu jammy InRelease
Hit:3 https://dl.google.com/linux/chrome/deb stable InRelease
Get:4 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
Hit:5 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy InRelease
Get:6 http://archive.neon.kde.org/unstable jammy InRelease [195 kB]
Get:7 https://ppa.launchpadcontent.net/xtradeb/apps/ubuntu jammy InRelease [18.1 kB]
Get:8 https://ppa.launchpadcontent.net/xtradeb/apps/ubuntu jammy/main amd64 Packages [54.2 kB]
Fetched 496 kB in 2s (314 kB/s)
Reading package lists... Done
claydoh@ittybitty:~$ apt policy calibre
calibre:
Installed: (none)
Candidate: 6.29.0+ds-1~xtradeb3
Version table:
6.29.0+ds-1~xtradeb3 500
500 https://ppa.launchpadcontent.net/xtradeb/apps/ubuntu jammy/main amd64 Packages
5.37.0+dfsg-1build1 500
500 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
There is no template error, but calibre won’t install.
the offending package is the virtual one called qt6-base-abi, which is fulfilled by libqt6core6, but the calibre package is looking for one for Qt 6.2.4, while Neon provides 6.6.1. Changing the distro release doesn’t fix this. I checked this as well.
There was a PPA in the past that provided a package that didn’t have this oddball virtual package as a dependency, but its owner stopped updating it some years ago.
Probably because I run unique system then, a Kubuntu 22.04.3 base with the Neon sources for the Desktop. Which certainly does give that error, I lived it, and got the output that I put in my file along with the solution I figured out was needed to eliminate it.
And now I check I know where the file(s) came from and why the base-files was replaced by the Neon one at some point. Time to downgrade that package to the Ubuntu provided and mark it as a hold with apt-mark so it does not happen again.
It appears both of us have the right answer for our own situations, mine only applies to my unique install probably the only one on the planet using it this way. Oh well as I have heard said many times, this is Linux if you break it you get to fix it and the every popular if you have itch scratch it. Which is what I did, I wanted a stable base with the neon packages on it without the changes to the base, tried compiling it up on Debian but that was failing miserably. Now I think about it should have used the bullseye not bookworm as the base as the files would have been more compatible with a 22.04 based system. Anyway you live and learn…
May I ask why, out of curiosity? Since Kubuntu is an Ubuntu base with Plasma sourced directly from Ubuntu’s repositories (created by the Kubuntu team for sure), this seems like an unnecessary source of complication, mostly due to a good potential for packaging conflicts. This has been my experience testing this out over the years, though admittedly I have not done so since the switch to the 22.04 base (my own itches were well-scratched by then ). These aren’t necessarily hard to fix, mind you, but there isn’t really a benefit I can see. Which I may be overlooking.
Neon will have the same exact same base OS, kernel, and driver packages that Ubuntu and Kubuntu share. It will lack the complete set of software that Kubuntu provides in a default full install, but one can easily add what they need after the fact, including the Software Sources/Driver Manager tool and Muon
And to be clear, modifying /etc/os-release and /etc/lsb-release (at least temporarily) isn’t really harmful, and may be needed for a small number of things that actively look at those files, such as manually installing hplip-gui.
May I ask why, out of curiosity? Since Kubuntu is an Ubuntu base with Plasma sourced directly from Ubuntu’s repositories (created by the Kubuntu team for sure), this seems like an unnecessary source of complication, mostly due to a good potential for packaging conflicts.
[/quote]
No way to get the totally up to date KDE with Kubuntu and I can get almost as close if not better with the software I had installed in Debian 12, 5.27.5, 103.0 for frameworks, 5.15.8 for the QT. In the Debian 12 the KDE Gear was stuck at 22.12.3 with some farther behind. Doing it this way I have 5.27.10, 103.0, 5.15.11and 23.08.4. A totally up to date system that is working flawlessly in my few day of testing. Couple more days of that and I turn on my crontab scripts for root and home users that use rsync to backup my live running install every 2 hours. It actually works for the purpose unlike any of those other tools like Time Shift which claim to backup and restore I have tested but never complete a proper re-install of grub, unlike my tested restore script which does exactly that. I choose the date and time I want and it restores it to that point.
Sure, but what you are doing is quite literally just a longer and more complicated way of installing neon. Not saying you should reinstall or anything, but if it became necessary, installing neon gets you to the exact same OS and Plasma/Frameworks/KDE Gear/Qt as what you have now, without the extra steps (outside of extra software choices above a minimal install.)
And to muddy things even more, you can now get a lot closer to this on Kubuntu 22.04 proper with their recent Kubuntu Backports Extra PPA.
If you want to keep up-to-date with which KDE components are available in some of the Debian/Ubuntu-based distributions (also taking the Kubuntu Backports into consideration) see Overview: Kubuntu, its parent and some of its siblings
Installing neon also gets you that pkcon warning when using apt to install packages. I never use graphical installers and am not interested in anything but apt to install with. I kept Debian on my box for years using a testing/unstable setup with some experimental thrown in for good measure with apt-pinning. Now I had to come up with some damn long install lines with exact version numbers for the packages to get things to work at times but I kept it running without needing to reinstall for ages. I do believe I used that back port one before in my testing out things. With it they could not be bothered to update the KDE Gear to the latest so you end up with the 21.12.3 versions installed. Just fired up my install USB and checked it again after adding the ppa to it and sure enough my memory was correct. I tried installing the up to date 23.08.03 Gear from the neon as source but gave up after a few package building failures of the packages. Then I stripped it back a Kubuntu install to nothing from KDE or QT installed and did the install I have now suing the neon user as the source for that. As I say it works flawlessly and if it breaks I get to fix it as with all of Linux. Worse case I fire up my old Debian 12 install which I will keep laying around for months as a backup to this install and use it. Only the /home directory is the really important one to have anyways as that is where all you personal settings and files are. I have that backed up in many places. It works no matter the distro installed to use its partition. Except for some weirdness the Manjaro people seem to have done with a few of the applications for the icon locations and starting apps from them. I had to relaunch and pin a new icon to the taskbar for it to work properly for some, anyone else I tried it just worked. They have the truly up to date versions of what I want too but no apt…
So ignore the warning/strong suggestion, and just use apt. This is what pkcon on the cli and Discover on the GUI are actually using (on Debian/*buntu systems). You will only see that warning when using apt incorrectly for the setting - a set of packages that are very frequently updated and can often involve package removals at times. Just use apt full-upgrade instead of upgrade. You’d want to do this on Kubuntu using any Backports PPAs as well. Yes, it is unfortunate that they chose to promote pkcon, but apt works just fine, and most of us with any experience use it instead.
The plus side of pkcon , I guess, is that the same commands can used on any sort of distro that uses Discover/Gnome Software/Packagekit, as these are all just wrappers for whatever native packaging system that distro is using.
tl;dr, if you do decide to reinstall/rebuild, just skip all the extraneous extra steps and just install neon.
Ah ok that was my main concern with it. I will give it until next month before a new install I think. I will wait until the 114 frameworks are released in the user install. Then use that version, do you known if the user system will stay at them versions old versions once they start releasing the KDE6 stuff?
I don’t know. I haven’t asked them though. Usually, I’d assume that Plasma 6 will come down the chute when it is officially released, in User, same as any other version upgrade.
Unstable is where Plasma 6 is found for neon, currently. I am positive some sort of upgrade testing for User will be done beforehand , and I will take part.
Alright, damn I miss Norbert he was a Debian developer before their stupid politics forced him out. He always did some great backports of the up to date KDE stuff for the current Debian stable.
Just for fun I tried to install Calibre both in KDE neon and in TUXEDO OS 2 (--dry-run).
In KDE neon I got the error:
The following packages have unmet dependencies:
calibre-bin : Depends: qtbase-abi-5-15-3
E: Unable to correct problems, you have held broken packages.
In TUXEDO OS 2 (despite it uses lots of KDE neon stuff and also is on Plasma 5.27.10, Frameworks 5.113 and Qt 5.15.11 atm) I would have been able to install Calibre without problems!
“Please do not use your distribution provided calibre package, as those are often buggy/outdated. Instead use the Binary install described below.”
So you can:
install binaries with the command given on this page. for a clean install in /opt: sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin install_dir=/opt