I'd like to know why this:
dnf remove gstreamer1-plugins-bad-free-1.20.3-1.fc36.x86_64 gstreamer1- plugins-bad-free-extras-1.20.3-1.fc36.x86_64 gstreamer1-plugins-bad- freeworld-1.20.3-1.fc36.x86_64
Wants to do all of this (quoted below), it's a virtual system destruct for the want of removing some codecs. What harebrained logic is involved in working this out? It's not competent computer coding by any stretch of the imagination.
I'd say that nearly ALL of those things would have been installed on the system before I'd installed those gstreamer things, so they're clearly NOT "dependent" on them.
As to why I want to remove them, I'm trying to narrow down why playing some video files *sometimes* crash my system hard. And I say "sometimes" because at other times the same video file will play without any problems.
Putting noautoremove into the command reduces the list of things it shouldn't interfere with down from 153 to 46 packages, but it's still interfering with things it shouldn't touch, and will end up destroying the system.
I'm yet to see if it actually helps with the crashing problem, but I had to resort to: rpm -e --nodeps gstreamer1-plugins-bad-free-1.20.3- 1.fc36.x86_64 gstreamer1-plugins-bad-free-extras-1.20.3-1.fc36.x86_64 gstreamer1-plugins-bad-freeworld-1.20.3-1.fc36.x86_64
Dependencies resolved. ======================================================================= ========================================== Package Arch Version Repository Size ======================================================================= ========================================== Removing: gstreamer1-plugins-bad-free x86_64 1.20.3-1.fc36 @updates 9.6 M gstreamer1-plugins-bad-free-extras x86_64 1.20.3-1.fc36 @updates 1.4 M gstreamer1-plugins-bad-freeworld x86_64 1:1.20.3-1.fc36 @rpmfusion-free-updates 761 k Removing dependent packages: NetworkManager-l2tp-gnome x86_64 1.20.8-1.fc36 @updates 270 k NetworkManager-libreswan-gnome x86_64 1.2.16-1.fc36 @anaconda 145 k NetworkManager-openconnect-gnome x86_64 1.2.8-2.fc36 @updates 151 k NetworkManager-openvpn-gnome x86_64 1:1.8.18-1.fc36 @anaconda 370 k NetworkManager-pptp-gnome x86_64 1:1.2.10-1.fc36 @anaconda 143 k NetworkManager-sstp-gnome x86_64 1:1.3.1-1.fc36 @updates 297 k NetworkManager-strongswan-gnome x86_64 1.6.0-1.fc36 @updates 158 k NetworkManager-vpnc-gnome x86_64 1:1.2.8-1.fc36 @anaconda 152 k anaconda x86_64 36.16.5-2.fc36 @updates 0 anaconda-live x86_64 36.16.5-2.fc36 @updates 25 k atril x86_64 1.26.1-1.fc36 @updates 13 M atril-caja x86_64 1.26.1-1.fc36 @updates 34 k atril-thumbnailer x86_64 1.26.1-1.fc36 @updates 583 evolution x86_64 3.44.4-3.fc36 @updates 17 M fusion-icon noarch 1:0.2.4-19.fc36 @anaconda 121 k gstreamer1-plugins-bad-free-fluidsynth x86_64 1.20.3-1.fc36 @updates 32 k gstreamer1-plugins-bad-free-wildmidi x86_64 1.20.3-1.fc36 @updates 28 k gstreamer1-plugins-bad-free-zbar x86_64 1.20.3-1.fc36 @updates 24 k ibus-gtk4 x86_64 1.5.26-9.fc36 @updates 40 k initial-setup-gui x86_64 0.3.94-2.fc36 @anaconda 26 k kdump-anaconda-addon noarch 006- 6.20220128git9603258.fc36 @anaconda 165 k mate-desktop x86_64 1.26.1-1.fc36 @updates 176 k mate-system-monitor x86_64 1.26.0-2.fc36 @anaconda 11 M mate-user-guide noarch 1.26.0-2.fc36 @anaconda 74 M pidgin x86_64 2.14.8-5.fc36 @updates 3.2 M purple-facebook x86_64 0.9.6-11.fc36 @fedora 265 k yelp x86_64 2:42.2-1.fc36 @updates 2.2 M Removing unused dependencies: GraphicsMagick x86_64 1.3.38-2.fc36 @updates 4.9 M NetworkManager-l2tp x86_64 1.20.8-1.fc36 @updates 638 k NetworkManager-libreswan x86_64 1.2.16-1.fc36 @anaconda 425 k NetworkManager-openconnect x86_64 1.2.8-2.fc36 @updates 2.8 M NetworkManager-openvpn x86_64 1:1.8.18-1.fc36 @anaconda 1.2 M NetworkManager-pptp x86_64 1:1.2.10-1.fc36 @anaconda 602 k NetworkManager-sstp x86_64 1:1.3.1-1.fc36 @updates 607 k NetworkManager-strongswan x86_64 1.6.0-1.fc36 @updates 11 k NetworkManager-vpnc x86_64 1:1.2.8-1.fc36 @anaconda 664 k anaconda-core x86_64 36.16.5-2.fc36 @updates 11 M anaconda-gui x86_64 36.16.5-2.fc36 @updates 2.5 M anaconda-tui x86_64 36.16.5-2.fc36 @updates 376 k anaconda-user-help noarch 26.2-2.fc36 @anaconda 577 k anaconda-widgets x86_64 36.16.5-2.fc36 @updates 97 k atril-libs x86_64 1.26.1-1.fc36 @updates 1.0 M cmark-lib x86_64 0.29.0-6.fc36 @fedora 289 k cyrus-sasl-md5 x86_64 2.1.27-18.fc36 @fedora 89 k cyrus-sasl-scram x86_64 2.1.27-18.fc36 @fedora 44 k djvulibre-libs x86_64 3.5.28-2.fc36 @anaconda 1.7 M evolution-data-server x86_64 3.44.4-2.fc36 @updates 8.3 M evolution-data-server-langpacks noarch 3.44.4-2.fc36 @updates 7.8 M evolution-langpacks noarch 3.44.4-3.fc36 @updates 37 M farstream02 x86_64 0.2.9-8.fc36 @fedora 731 k flatpak-libs x86_64 1.12.8-1.fc36 @updates 997 k fluid-soundfont-lite-patches noarch 3.1-26.fc36 @fedora 195 M geocode-glib x86_64 3.26.4-1.fc36 @updates 231 k gjs x86_64 1.72.3-1.fc36 @updates 1.5 M gnome-autoar x86_64 0.4.4-1.fc36 @updates 164 k gnome-desktop3 x86_64 42.10-1.fc36 @updates 3.0 M gnome-online-accounts x86_64 3.44.0-2.fc36 @updates 2.0 M gtk4 x86_64 4.6.9-1.fc36 @updates 19 M gtkspell x86_64 2.0.16-25.fc36 @fedora 87 k gupnp-igd x86_64 1.2.0-5.fc36 @anaconda 68 k highlight x86_64 4.1-2.fc36 @fedora 3.8 M initial-setup x86_64 0.3.94-2.fc36 @anaconda 370 k keybinder3 x86_64 0.3.2-13.fc36 @anaconda 32 k ldns x86_64 1.8.1-4.fc36 @anaconda 446 k libde265 x86_64 1.0.9-1.fc36 @rpmfusion-free-updates 817 k libgadu x86_64 1.12.2-20.fc36 @fedora 257 k libgdata x86_64 0.18.1-4.fc36 @fedora 1.9 M libgweather x86_64 40.0-3.fc36 @fedora 22 M libical-glib x86_64 3.0.14-1.fc36 @fedora 1.7 M liblrdf x86_64 0.5.0-24.fc36 @fedora 61 k libmanette x86_64 0.2.6-4.fc36 @anaconda 229 k libnice x86_64 0.1.19-1.fc36 @updates 494 k libnice-gstreamer1 x86_64 0.1.19-1.fc36 @updates 32 k libnma-gtk4 x86_64 1.8.38-1.fc36 @updates 353 k libphonenumber x86_64 8.12.11-11.fc36 @fedora 17 M libpskc x86_64 2.6.7-3.fc36 @anaconda 87 k libpurple x86_64 2.14.8-5.fc36 @updates 26 M libreport-anaconda x86_64 2.17.4-1.fc36 @updates 19 k libreswan x86_64 4.11-1.fc36 @updates 4.9 M librtmp x86_64 2.4- 21.20190330.gitc5f04a5.fc36 @rpmfusion-free 157 k libspectre x86_64 0.2.9-6.fc36 @anaconda 89 k libsrtp x86_64 2.3.0-8.fc36 @anaconda 125 k libtimezonemap x86_64 0.4.5.1-11.fc36 @anaconda 6.7 M libwpe x86_64 1.12.0-3.fc36 @anaconda 46 k libytnef x86_64 1:2.0-1.fc36 @fedora 130 k mate-desktop-configs noarch 1.26.1-1.fc36 @updates 9.8 k mathjax noarch 2.7.4-10.fc36 @anaconda 25 M mathjax-ams-fonts noarch 2.7.4-10.fc36 @anaconda 267 k mathjax-caligraphic-fonts noarch 2.7.4-10.fc36 @anaconda 98 k mathjax-fraktur-fonts noarch 2.7.4-10.fc36 @anaconda 225 k mathjax-main-fonts noarch 2.7.4-10.fc36 @anaconda 558 k mathjax-math-fonts noarch 2.7.4-10.fc36 @anaconda 348 k mathjax-sansserif-fonts noarch 2.7.4-10.fc36 @anaconda 240 k mathjax-script-fonts noarch 2.7.4-10.fc36 @anaconda 60 k mathjax-size1-fonts noarch 2.7.4-10.fc36 @anaconda 37 k mathjax-size2-fonts noarch 2.7.4-10.fc36 @anaconda 34 k mathjax-size3-fonts noarch 2.7.4-10.fc36 @anaconda 16 k mathjax-size4-fonts noarch 2.7.4-10.fc36 @anaconda 29 k mathjax-stixweb-fonts noarch 2.7.4-10.fc36 @anaconda 3.1 M mathjax-typewriter-fonts noarch 2.7.4-10.fc36 @anaconda 106 k mathjax-vector-fonts noarch 2.7.4-10.fc36 @anaconda 13 k mathjax-winchrome-fonts noarch 2.7.4-10.fc36 @anaconda 8.9 k mathjax-winie6-fonts noarch 2.7.4-10.fc36 @anaconda 56 k meanwhile x86_64 1.1.1-1.fc36 @updates 281 k mjpegtools-libs x86_64 2.2.1-2.fc36 @rpmfusion-free 429 k nss-tools x86_64 3.89.0-1.fc36 @updates 2.4 M openconnect x86_64 9.01-3.fc36 @updates 3.7 M openvpn x86_64 2.5.9-1.fc36 @updates 1.8 M ostree x86_64 2022.5-2.fc36 @updates 562 k pkcs11-helper x86_64 1.29.0-1.fc36 @anaconda 160 k pptp x86_64 1.10.0-14.fc36 @anaconda 149 k python-qt5-rpm-macros noarch 5.15.6-10.fc36 @updates 144 python3-kickstart noarch 3.36-1.fc36 @anaconda 2.5 M python3-meh noarch 0.50-5.fc36 @anaconda 288 k python3-meh-gui noarch 0.50-5.fc36 @anaconda 24 k python3-productmd noarch 1.35-1.fc36 @updates 256 k python3-pwquality x86_64 1.4.4-7.fc36 @anaconda 26 k python3-pyqt5-sip x86_64 12.9.0-3.fc36 @anaconda 154 k python3-qt5 x86_64 5.15.6-10.fc36 @updates 7.0 M python3-qt5-base x86_64 5.15.6-10.fc36 @updates 17 M python3-requests-file noarch 1.5.1-5.fc36 @anaconda 9.9 k python3-requests-ftp noarch 0.3.1-24.fc36 @anaconda 36 k python3-simpleline noarch 1.9.0-2.fc36 @anaconda 437 k qt5-qtconnectivity x86_64 5.15.8-1.fc36 @updates 1.4 M qt5-qtmultimedia x86_64 5.15.8-1.fc36 @updates 3.1 M qt5-qtserialport x86_64 5.15.8-1.fc36 @updates 215 k qt5-qtwebsockets x86_64 5.15.8-1.fc36 @updates 276 k rest x86_64 0.8.1-12.fc36 @fedora 195 k spandsp x86_64 0.0.6-14.fc36 @fedora 877 k sstp-client x86_64 1.0.18-1.fc36 @updates 156 k stoken-libs x86_64 0.92-6.fc36 @anaconda 94 k strongswan x86_64 5.9.9-2.fc36 @updates 4.7 M strongswan-charon-nm x86_64 5.9.9-2.fc36 @updates 63 k svt-hevc-libs x86_64 1.5.1-3.fc36 @rpmfusion-free 2.2 M texlive-lib x86_64 9:20210325-47.fc36 @anaconda 1.1 M tigervnc-license noarch 1.13.1-3.fc36 @updates 18 k tigervnc-server-minimal x86_64 1.13.1-3.fc36 @updates 2.8 M trousers-lib x86_64 0.3.15-6.fc36 @anaconda 475 k urw-base35-fonts-legacy noarch 20200910-11.fc36 @updates 4.3 M vpnc x86_64 0.5.3-43.svn550.fc36 @anaconda 213 k vpnc-script noarch 20220404- 1.git40a8c62c.fc36 @updates 38 k webkit2gtk3 x86_64 2.40.1-1.fc36 @updates 60 M wildmidi-libs x86_64 0.4.4-3.fc36 @fedora 169 k wpebackend-fdo x86_64 1.12.1-1.fc36 @updates 101 k xisxwayland x86_64 1-3.fc36 @anaconda 17 k xl2tpd x86_64 1.3.17-1.fc36 @updates 203 k xvinfo x86_64 1.1.3-4.fc36 @anaconda 23 k yelp-libs x86_64 2:42.2-1.fc36 @updates 319 k yelp-xsl noarch 42.1-1.fc36 @updates 1.4 M zbar x86_64 0.23.90-1.fc36 @updates 369 k
Transaction Summary ======================================================================= ========================================== Remove 153 Packages
Freed space: 679 M Is this ok [y/N]: n Operation aborted.
On Sun, 30 Jun 2024 01:04:47 +0930 Tim via users wrote:
As to why I want to remove them, I'm trying to narrow down why playing some video files *sometimes* crash my system hard.
Instead of trying to do thing the "right" way with dnf, you could just move the codec files to a different directory so it won't be able to load them. rpm --list can tell you what files are installed by what rpm.
On 6/29/24 8:34 AM, Tim via users wrote:
I'd like to know why this:
dnf remove gstreamer1-plugins-bad-free-1.20.3-1.fc36.x86_64 gstreamer1- plugins-bad-free-extras-1.20.3-1.fc36.x86_64 gstreamer1-plugins-bad- freeworld-1.20.3-1.fc36.x86_64
Wants to do all of this (quoted below), it's a virtual system destruct for the want of removing some codecs. What harebrained logic is involved in working this out? It's not competent computer coding by any stretch of the imagination.
I'd say that nearly ALL of those things would have been installed on the system before I'd installed those gstreamer things, so they're clearly NOT "dependent" on them.
As to why I want to remove them, I'm trying to narrow down why playing some video files *sometimes* crash my system hard. And I say "sometimes" because at other times the same video file will play without any problems.
I didn't notice this originally, but you're still on F36 and expecting help with it?? Maybe you should try using something current instead of trying to track down issues in discontinued software.
In F40, this dependency chain doesn't exist:
# dnf remove gstreamer1-plugins-bad-free gstreamer1-plugins-bad-free-extras gstreamer1-plugins-bad-freeworld --noautoremove No match for argument: gstreamer1-plugins-bad-free-extras Dependencies resolved. ======================================= Package ======================================= Removing: gstreamer1-plugins-bad-free gstreamer1-plugins-bad-freeworld Removing dependent packages: cheese pitivi snapshot
Transaction Summary ======================================= Remove 6 Packages
I don't have the "extras" package installed, but the only dependency for that is "shotcut".
On Sat, 2024-06-29 at 13:35 -0700, Samuel Sieb wrote:
I didn't notice this originally, but you're still on F36 and expecting help with it?? Maybe you should try using something current instead of trying to track down issues in discontinued software.
It's more about the situation in general, because I had something I could copy and paste at the time. An example of ludicrousy.
Why does wanting to remove some add-on *often* want to take out a whole system that it shouldn't be touching? (Whichever release you are on.) This time it was a codec, but we see this kind of thing mentioned time and time again.
You could see from my example list, that it's ludicrous that taking out a gstreamer codec would want to delete evolution, network manager, or the gnome desktop, even fonts. Clearly a font shouldn't depend on gstreamer. And since these gstreamer add-ons were installed after the system was installed, it clearly worked without them, and removing them should not take at things that didn't need them in the first place.
But *what* is wrong? Are packages claiming they depend on things that they don't? Is a mention that something could be used (though not required) falsely attributed as a dependency? Does the DNF/RPM database have a cockeyed view of what depends on what?
Why are they getting this so wrong? Because even if this particular (gstreamer) screwup doesn't exist in Fedora 40, the generic remove one thing and it destroys everything situation keeps cropping up again and again.
On Sun, 30 Jun 2024 21:36:13 +0930 "Tim via users" users@lists.fedoraproject.org wrote:
On Sat, 2024-06-29 at 13:35 -0700, Samuel Sieb wrote:
I didn't notice this originally, but you're still on F36 and expecting help with it?? Maybe you should try using something current instead of trying to track down issues in discontinued software.
But *what* is wrong? Are packages claiming they depend on things that they don't? Is a mention that something could be used (though not required) falsely attributed as a dependency? Does the DNF/RPM database have a cockeyed view of what depends on what?
...
Why are they getting this so wrong? Because even if this particular (gstreamer) screwup doesn't exist in Fedora 40, the generic remove one thing and it destroys everything situation keeps cropping up again and again.
--
It's really annoying that when you try to delete a package, it deletes a whole bunch of packages that didn't depend on that package and previously worked without it. BR, Bob
On 6/30/24 10:55 AM, Bob Marčan via users wrote:
On Sun, 30 Jun 2024 21:36:13 +0930 "Tim via users" users@lists.fedoraproject.org wrote:
On Sat, 2024-06-29 at 13:35 -0700, Samuel Sieb wrote:
I didn't notice this originally, but you're still on F36 and expecting help with it?? Maybe you should try using something current instead of trying to track down issues in discontinued software.
But *what* is wrong? Are packages claiming they depend on things that they don't? Is a mention that something could be used (though not required) falsely attributed as a dependency? Does the DNF/RPM database have a cockeyed view of what depends on what?
...
Why are they getting this so wrong? Because even if this particular (gstreamer) screwup doesn't exist in Fedora 40, the generic remove one thing and it destroys everything situation keeps cropping up again and again.
--
It's really annoying that when you try to delete a package, it deletes a whole bunch of packages that didn't depend on that package and previously worked without it.
Do you have an actual example?
On Sun, 30 Jun 2024 11:03:47 -0700 "Samuel Sieb" samuel@sieb.net wrote:
Do you have an actual example?
Not right now. But I came across this. I'll post when it happens to me again. BR, Bob
Samuel Sieb:
Do you have an actual example?
Bob Marčan:
Not right now. But I came across this. I'll post when it happens to me again. BR, Bob
That was why I posted what I did about Fedora 36 (because I had a cut and paste example immediately to hand). I'm sure that it's around a month ago that someone faced NetworkManager being removed for such a thing on this list. The central problem keeps cropping up, even if the specific examples go away.
I had a weird out-of-date one, from my original post. And bizarrely, after my
rpm -e --nodeps gstreamer1-plugins-bad-free-1.20.3- 1.fc36.x86_64 gstreamer1-plugins-bad-free-extras-1.20.3-1.fc36.x86_64 gstreamer1-plugins-bad-freeworld-1.20.3-1.fc36.x86_64
Which did remove *only* those things, and not the 153 other things that dnf remove wanted to, Evolution refused to run.
evolution: error while loading shared libraries: libgsttranscoder- 1.0.so.0: cannot open shared object file: No such file or directory
Evolution did work on that system long before those gstreamer plugins were ever installed. And it works again after reinstalling them. It's just bonkers.
It's because of these kind of cascading failures that I avoid installing anything extra unless I'm quite sure I'll really need it, because removing something can become next to impossible.
On 01/07/2024 00:04, Tim via users wrote:
evolution: error while loading shared libraries: libgsttranscoder- 1.0.so.0: cannot open shared object file: No such file or directory
Evolution did work on that system long before those gstreamer plugins were ever installed. And it works again after reinstalling them. It's just bonkers.
It's because of these kind of cascading failures that I avoid installing anything extra unless I'm quite sure I'll really need it, because removing something can become next to impossible.
It's likely some update of the evolution package that makes it depend on the gstreamer plugins now (that error proves that the dependency is real). You could not have avoided that by not installing the gstreamer plugins. Installing or updating evolution would have forced you to install the gstreamer plugins.
Tim:
evolution: error while loading shared libraries: libgsttranscoder- 1.0.so.0: cannot open shared object file: No such file or directory
Evolution did work on that system long before those gstreamer plugins were ever installed. And it works again after reinstalling them. It's just bonkers.
It's because of these kind of cascading failures that I avoid installing anything extra unless I'm quite sure I'll really need it, because removing something can become next to impossible.
Lukas Middendorf:
It's likely some update of the evolution package that makes it depend on the gstreamer plugins now (that error proves that the dependency is real). You could not have avoided that by not installing the gstreamer plugins. Installing or updating evolution would have forced you to install the gstreamer plugins.
Much more likely that it's a false dependency. The erased and replaced packages were not from a Fedora repo.
On Mon, 2024-07-01 at 16:46 +0930, Tim via users wrote:
Tim:
evolution: error while loading shared libraries: libgsttranscoder- 1.0.so.0: cannot open shared object file: No such file or directory
Evolution did work on that system long before those gstreamer plugins were ever installed. And it works again after reinstalling them. It's just bonkers.
It's because of these kind of cascading failures that I avoid installing anything extra unless I'm quite sure I'll really need it, because removing something can become next to impossible.
Lukas Middendorf:
It's likely some update of the evolution package that makes it depend on the gstreamer plugins now (that error proves that the dependency is real). You could not have avoided that by not installing the gstreamer plugins. Installing or updating evolution would have forced you to install the gstreamer plugins.
Much more likely that it's a false dependency. The erased and replaced packages were not from a Fedora repo.
Evolution is part of the Gnome DE and uses GTK libraries, so the dependency could come from there rather than Evo itself. There is also a Flatpak version which would presumably avoided this issue, but that's not to everyone's liking.
poc
On Mon, 1 Jul 2024, Lukas Middendorf wrote:
It's likely some update of the evolution package that makes it depend on the gstreamer plugins now (that error proves that the dependency is real). You could not have avoided that by not installing the gstreamer plugins. Installing or updating evolution would have forced you to install the gstreamer plugins.
One way to test that theory would be to do a dnf update before installing the gstreamer plugins.
On Sun, 30 Jun 2024 17:55:15 +0000, Bob Marčan via users wrote:
It's really annoying that when you try to delete a package, it deletes a whole bunch of packages that didn't depend on that package and previously worked without it. BR, Bob
Sure it is annoying, but it has been like that all the time with dependency chains strictly requiring a specific package somewhere, possibly as a leaf package.
On Sun, Jun 30, 2024 at 2:55 PM Bob Marčan via users < users@lists.fedoraproject.org> wrote:
It's really annoying that when you try to delete a package, it deletes a whole bunch of packages
that didn't depend on that package and previously worked without it.
It is a side effect of the "free" versus "non-free" versions of the same package. Fedora installs a "free" version to satisfy dependencies, but then user installs "non-free" versions and the "free" versions are removed. Package management is already complex, and even the definitions of "free" and "non-free" differ across distros. There are similar issues with some numerical libraires where the same functions are implemented with a portable library and libraries implemented with a variety of optimizations and even different languages. Fedora provides "Environment Modules"
Description : Lmod is a Lua based module system that easily handles the MODULEPATH : Hierarchical problem. Environment Modules provide a convenient way to : dynamically change the users' environment through modulefiles. This includes : easily adding or removing directories to the PATH environment variable. : Modulefiles for library packages provide environment variables that specify : where the library and header files can be found.
Lmod is widely used in high-performance numerical work and does not need elevated privileges to switch configurations. Linux also has the "alternatives" mechanism that uses symbolic links to control which program or library will be used, but needs elevated privileges to change configurations.
Fedora already uses both mechanisms, presumably because they are just following upstream policies, so if cheese, pitivi, and snapshot would use one of the available tools the problem could be solved by allowing users to install both free and non-free versions of libraries without a conflict (if a user determined that one version was never used, it could be removed). An advantage of having multiple versions of a library installed is easier testing of situations were one version gives an error.