Bug 1778327
Summary: | 32-bit package libnghttp2 (a Steam dependency) is filtered out by modular filtering (nodejs module) | ||
---|---|---|---|
Product: | [Fedora] Fedora Modules | Reporter: | Douglas <doug.hs> |
Component: | nodejs | Assignee: | Stephen Gallagher <sgallagh> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | unspecified | CC: | dmach, doug.hs, gabriel, gombosg, grumpey0, jkosci, jmracek, jrohel, mblaha, mhatina, mkocka, packaging-team-maint, phracek, pkratoch, rbean, rpm-software-management, stevo.knievo, that1estonian, vmukhame, zsvetlik |
Target Milestone: | --- | Keywords: | Triaged |
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2021-06-07 12:49:13 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Douglas
2019-11-29 23:48:35 UTC
According to my investigation libnghttp2 was excluded because modules nodejs provides libnghttp2.x86_64, but not i686. Because nodejs module provides libnghttp2, all other providers of libnghttp2 are filtered out from package set. See: https://dnf.readthedocs.io/en/latest/modularity.html I would like to ask maintainers of nodejs to provide a solution, because they could also add i686 builds. As a workaround I can recommend to run `dnf module disable nodejs`. To investigate which module provides witch package you can use `dnf module provide <package>`. I can still reproduce this on Fedora 32. Module `nodejs:14` with the "default" profile is the cause of this issue. Would temporarily disabling the modular `nodejs` allow me to install Steam? Later I would like to enable the module again (I need it for work) and keep using both. Answering my own question: 1. Disable nodejs module. 2. Install Steam. 3. Enable nodejs module. Now I have Steam. Good. There's only one problem. When you run `dnf update`, this appears: ``` Problem: cannot install both libnghttp2-1.41.0-1.module_f32+9030+0a08c360.x86_64 and libnghttp2-1.41.0-1.fc32.x86_64 - libnghttp2-1.41.0-1.fc32.i686 has inferior architecture - cannot install the best update candidate for package libnghttp2-1.41.0-1.fc32.x86_64 - problem with installed package libnghttp2-1.41.0-1.fc32.i686 - package libnghttp2-1.41.0-1.fc32.x86_64 is filtered out by modular filtering ==================================================================================================================================== Package Architecture Version Repository Size ==================================================================================================================================== Ignoring packages with conflicts: (adicionar --best --allowerasing' a linha de comando para forçar sua atualização): libnghttp2 x86_64 1.41.0-1.module_f32+9030+0a08c360 updates-modular 79 k Transaction summary ==================================================================================================================================== Ignore 1 package Nothing to do. Done! ``` I really hope it doesn't interfere with the ability to upgrade other packages. *** Bug 1732435 has been marked as a duplicate of this bug. *** This package has changed maintainer in Fedora. Reassigning to the new maintainer of this component. Default streams are no longer present in Fedora, so this should be a non-issue now. (In reply to Stephen Gallagher from comment #6) > Default streams are no longer present in Fedora, so this should be a > non-issue now. but it is still an issue. Error: Problem: package steam-1.0.0.74-1.fc35.i686 requires libcurl(x86-32), but none of the providers can be installed - package libcurl-7.78.0-3.fc35.i686 requires libnghttp2.so.14, but none of the providers can be installed - package libcurl-minimal-7.78.0-3.fc35.i686 requires libnghttp2.so.14, but none of the providers can be installed - package libcurl-7.79.1-1.fc35.i686 requires libnghttp2.so.14, but none of the providers can be installed - package libcurl-minimal-7.79.1-1.fc35.i686 requires libnghttp2.so.14, but none of the providers can be installed - conflicting requests - package libnghttp2-1.45.1-1.fc35.i686 is filtered out by modular filtering (try to add '--skip-broken' to skip uninstallable packages) Still an issue: https://ask.fedoraproject.org/t/broken-steam-dependencies-refuses-to-install/19393/19 https://koji.fedoraproject.org/koji/rpmlist?imageID=529855&type=image, looks like 1.46 was included in the F35 stream? Workaround: sudo dnf module disable nodejs sudo dnf install steam sudo dnf module install nodejs:16/development (In reply to grumpey0 from comment #8) > Still an issue: > https://ask.fedoraproject.org/t/broken-steam-dependencies-refuses-to-install/ > 19393/19 > > https://koji.fedoraproject.org/koji/rpmlist?imageID=529855&type=image, looks > like 1.46 was included in the F35 stream? > > > Workaround: > sudo dnf module disable nodejs > sudo dnf install steam > sudo dnf module install nodejs:16/development And same isue with upgrading afterwards [root@fedora-s-1vcpu-1gb-nyc3-01 ~]# sudo dnf upgrade Last metadata expiration check: 0:02:41 ago on Wed 29 Dec 2021 08:41:47 PM UTC. Dependencies resolved. Problem: cannot install both libnghttp2-1.46.0-1.module_f35+13254+1fdbc0b5.x86_64 and libnghttp2-1.45.1-1.fc35.x86_64 - libnghttp2-1.45.1-1.fc35.i686 has inferior architecture - cannot install the best update candidate for package libnghttp2-1.45.1-1.fc35.x86_64 - problem with installed package libnghttp2-1.45.1-1.fc35.i686 - package libnghttp2-1.45.1-1.fc35.x86_64 is filtered out by modular filtering ====================================================================================================================================================== Package Architecture Version Repository Size ====================================================================================================================================================== Upgrading: c-ares x86_64 1.17.2-1.module_f35+12941+0548739f fedora-modular 105 k Skipping packages with conflicts: (add '--best --allowerasing' to command line to force their upgrade): libnghttp2 x86_64 1.46.0-1.module_f35+13254+1fdbc0b5 updates-modular 70 k Transaction Summary ====================================================================================================================================================== Upgrade 1 Package Skip 1 Package Still an issue! How can this be reopened? I have the same issue with nodejs:16/default and wine on Fedora workstation 35 ❯ dnf list installed | grep nodejs nodejs.x86_64 1:16.13.2-1.module_f35+13625+912e9fa9 @updates-modular nodejs-devel.x86_64 1:16.13.2-1.module_f35+13625+912e9fa9 @updates-modular nodejs-docs.noarch 1:16.13.2-1.module_f35+13625+912e9fa9 @updates-modular nodejs-full-i18n.x86_64 1:16.13.2-1.module_f35+13625+912e9fa9 @updates-modular nodejs-libs.x86_64 1:16.13.2-1.module_f35+13625+912e9fa9 @updates-modular nodejs-packaging.noarch 2021.06-3.module_f35+13625+912e9fa9 @updates-modular ❯ dnf list installed | grep wine wine-stable-common.i686 1:7.0.0-3.1 @WineHQ wine-stable64.x86_64 1:7.0.0-3.1 @WineHQ winehq-stable.x86_64 1:7.0.0-3.1 @WineHQ ❯ sudo dnf upgrade Last metadata expiration check: 0:29:49 ago on Fri 18 Feb 2022 03:31:03 PM PST. Dependencies resolved. Problem: cannot install both libnghttp2-1.46.0-1.module_f35+13254+1fdbc0b5.x86_64 and libnghttp2-1.45.1-1.fc35.x86_64 - libnghttp2-1.45.1-1.fc35.i686 has inferior architecture - cannot install the best update candidate for package libnghttp2-1.45.1-1.fc35.x86_64 - problem with installed package libnghttp2-1.45.1-1.fc35.i686 - package libnghttp2-1.45.1-1.fc35.x86_64 is filtered out by modular filtering ========================================================================================================================================================= Package Architecture Version Repository Size ========================================================================================================================================================= Skipping packages with conflicts: (add '--best --allowerasing' to command line to force their upgrade): libnghttp2 x86_64 1.46.0-1.module_f35+13254+1fdbc0b5 updates-modular 70 k Transaction Summary ========================================================================================================================================================= Skip 1 Package Nothing to do. Complete! This bug was about the default stream preventing Steam from installing. All of the subsequent complaints have been about it not being possible to have Steam and Node.js 14.x+ installed at the same time. That is behaving as expected. Enabling a module means that you are accepting that it may prevent certain other packages from installing. That's one reason why it's in a module: because it wouldn't be installable alongside all other packages in the default repositories. My best advice is this: if you really need to have both Steam and nodejs:14 or nodejs:16 installed on the same system: 1) Use the official binaries from nodejs.org which contain all of their libraries statically linked. 2) Use a docker/podman container for Node.js. 3) Use the Steam flatpak. |