# apt full-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Error!
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:
plasma-workspace : Depends: gdb-minimal but it is not going to be installed or
gdb
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
I've seen other users are experimenting the same issue: https://groups.google.com/g/linux.debian.user/c/7gpQImSH-Cs
I don't know why plasma-workspace depends on gdb
This problem isn't because of apt, the problem is that gdb-minimal/gdbare
dependencies cannot be satified. A full-upgrade is the equivalent of a
dist-upgrade which will remove packages to resolve the dependencies. The problem you are facing is the t64 transition[1][2] where not all packages
transitioned.
I haven't detected any "gdb | gdb-minimal dependencies that can't be satisfied at this point. Everything seems to be OK with those packages.
My advice to you is: don't expect full-upgrade to work until thetransitioning
is done.
You nail it here! I have managed to upgrade package by package but it is a tedious process until the whole transition is completed.
But "apt upgrade"
should not remove any packages according to its documentation (man apt)
On Sun, Mar 10, 2024 at 02:13:34PM +0100, Miguel Angel wrote:
# apt full-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Error!
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:
Why is this t64 upgrade working then as it is removing deprecated packages for *t64 packages?
This seems to be an more of an actual issue where dependencies aredeclared but
apt doing something weird. But that is an issue on bookworm where wearen't
getting poluted results because of a transitioning.
I'm glad you were able to replicate in bookworm (stable) it but I don't
think (at least in this case) it is related to the t64 transition. Same errors on both distributions and I checked that gdb dependencies were satisfied in unstable (I don't have a system running stable).
Appreciate your support.
I do not know, at times I'm also wondering why it doesn't do it, but Ididn't
take time to look at the code to understand what the resolver is doing.Also,
it was sort of expected. I think we can probably solve this is a more controlled manner. With the current t64 transitioning in unstable it is difficult to track down. Many updates so the situation now may differfrom the
situation in an hour from now.
Yes, it is confusing for me too. Without considering this t64 migration, “apt upgrade” should *NOT* remove any package (just upgrading a package to
a newer version or install new dependencies). But it is removing packages right now! i.e. again, with this t64 migration, it makes the old libraries
to be uninstalled and install the new *t64 version.
Any thoughts why “apt upgrade” is removing packages even when documentation
says it shouldn’t? or is it a bug?
Yes, it is confusing for me too. Without considering this t64 migration, “apt upgrade” should *NOT* remove any package (just upgrading a package to
a newer version or install new dependencies). But it is removing packages right now! i.e. again, with this t64 migration, it makes the old libraries
to be uninstalled and install the new *t64 version.
Any thoughts why “apt upgrade” is removing packages even when documentation
says it shouldn’t? or is it a bug?
Hi Wesley, David,
You keep saying `apt upgrade' yet your command was `apt full-upgrade'.
Yes, maybe it didn't express itself properly. After your suggestion about
not using "apt full-upgrade" during this t64 migration, I followed your advice and used only "apt upgrade" for individual upgrades. I was referring to this comment you made below:
Now, If I type"apt upgrade" doesn't give me any option to update anything:
But, in some situations, as you mentioned, individual package upgrades can work and remove some problems. So what I did was to try some "apt upgrade"
on individual packages from that list. This time I try the ppp package:
# apt upgrade ppp
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
linux-headers-6.6.15-amd64 linux-headers-6.6.15-common linux-image-6.6.15-amd64 linux-kbuild-6.6.15
Use 'apt autoremove' to remove them.
The following packages will be REMOVED: <------- PACKAGE TO BE REMOVED
libpcap0.8
The following NEW packages will be installed:
libpcap0.8t64
[snip]
The following packages will be upgraded:
ppp
1 upgraded, 1 newly installed, 1 to remove and 22 not upgraded.
Need to get 511 kB of archives.
After this operation, 15.4 kB disk space will be freed.
,
As you can see here, I'm typing "apt upgrade ppp" and it removes a package
in this case: libpcap0.8 (sometimes more packages are removed).
Which is good, because libpcap0.8 is replaced by libpcap0.8t64 (as expected in this t64 migration) but "apt upgrade ppp" is REMOVING a package (which contradicts the specification).
I see. It looks like `apt upgrade <package>' behaves as `apt install <package>'. Which (to me) is unexpected behaviour, as the man page isquite
clear on its behaviour (man 8 apt-get):
Well, clearly it shouldn’t. To begin with, “apt install” should mark a package as manual installed while “apt upgrade” shouldn’t (my assumption).
And you’re right that “apt install” can remove a package if needed to satisfy dependencies.
On top of that, documentation clearly states that “apt upgrade” should not
remove any package, but it does when you specify an individual package to upgrade.
If this is not the expected behavior, maybe this is a bug (unless I am missing something here).
On Mon, Mar 11, 2024 at 10:12:33PM -0400, Wesley Schwengle wrote:
I do not know what the bug here is, it could be one of these options:
1) apt-get/apt upgrade accepts packages to upgrade where the docs state it
doesn't. The behaviour needs to change to not accept packages.
2) apt-get/apt upgrade accepts packages and removes packages to satisfy deps
where the docs state it doesn't. The behaviour need to change to not remove
any packages. There is a small edge case where you can say: `apt upgrade foo
bar-'. Technically, it shouldn't remove packages, yet you want and instruct
it to remove bar.
The behavior is correct if potentially unexpected, but it should be documented better.
FWIW, aptitude does not remove packages where you call `aptitude safe-upgrade
foo'. It does remove packages when you call `aptitude full-upgrade foo'. It also removes bar when you run `aptitude safe-upgrade foo bar-'.
That is an entirely different command; `aptitude safe-upgrade foo`
upgrades (only) `foo`, whereas `apt upgrade foo` first does the normal install argument handling and then runs an upgrade, so `foo` could also
be a new package that is not currently installed to hint the solver if
it is unable to find a solution.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 300 |
Nodes: | 16 (2 / 14) |
Uptime: | 06:17:19 |
Calls: | 6,706 |
Files: | 12,236 |
Messages: | 5,350,563 |