Bug 2258600
| Summary: | conflicts between attempted installs of glib2-devel.i686 and glib2-devel.x86_64 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | a3emdot <andre.maute> | ||||||||
| Component: | glib2 | Assignee: | Matthias Clasen <mclasen> | ||||||||
| Status: | CLOSED EOL | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
| Severity: | high | Docs Contact: | |||||||||
| Priority: | unspecified | ||||||||||
| Version: | 42 | CC: | dominik, gnome-sig, h0tc0d3, htl10, kim, klember, martinrsssf, mcatanza, mclasen, patrick, rhughes, rstrode, zbyszek | ||||||||
| Target Milestone: | --- | Keywords: | Regression, Reopened, Upgrades | ||||||||
| Target Release: | --- | ||||||||||
| Hardware: | Unspecified | ||||||||||
| OS: | Linux | ||||||||||
| Whiteboard: | |||||||||||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |||||||||
| Doc Text: | Story Points: | --- | |||||||||
| Clone Of: | Environment: | ||||||||||
| Last Closed: | 2026-06-08 15:41:29 UTC | Type: | --- | ||||||||
| Regression: | --- | Mount Type: | --- | ||||||||
| Documentation: | --- | CRM: | |||||||||
| Verified Versions: | Category: | --- | |||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||
| Embargoed: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
a3emdot
2024-01-16 13:25:47 UTC
Created attachment 2008888 [details]
Dockerfile which triggers the described problem
This bug appears to have been reported against 'rawhide' during the Fedora Linux 40 development cycle. Changing version to 40. This also prevents an upgrade to F40 on my laptop: Transaction failed: Rpm transaction failed. - file /usr/share/gir-1.0/GLib-2.0.gir conflicts between attempted installs of glib2-devel-2.79.1-1.fc40.i686 and glib2-devel-2.79.1-1.fc40.x86_64 We should get this resolved before people start upgrading to F40. *** Bug 2271710 has been marked as a duplicate of this bug. *** So what exactly is the difference between the i686 and x86_64 versions of the files? They're expected to be identical. Created attachment 2026376 [details]
diffoscope output for /usr/share/gir-1.0/GLib-2.0.gir
Created attachment 2026389 [details]
diffoscope output for /usr/share/gir-1.0/GLib-2.0.gir
I have just encountered this problem with the later glib2 version, now that fc40 is properly out:
Error: Transaction test error:
file /usr/share/gir-1.0/GLib-2.0.gir from install of glib2-devel-2.80.0-1.fc40.i686 conflicts with file from package glib2-devel-2.80.0-1.fc40.x86_64
I have diff'ed the two gir files, most of it is uninteresting, and of the form:
@@ -59,7 +59,7 @@
GPid is used in GLib only for descendant processes spawned with
the g_spawn functions.</doc>
- <source-position filename="glib/glibconfig.h" line="200"/>
+ <source-position filename="glib/glibconfig.h" line="201"/>
<type name="gint" c:type="int"/>
</alias>
<alias name="Quark" c:type="GQuark">
They really should get-rid of that line number, if the two header differs by one line hear the top.
But there is an interesting difference towards the end:
@@ -53055,6 +53055,10 @@
</parameter>
</parameters>
</function-macro>
+ <constant name="VA_COPY_AS_ARRAY" value="1" c:type="G_VA_COPY_AS_ARRAY">
+ <source-position filename="glib/glibconfig.h" line="124"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
<constant name="VERSION_MIN_REQUIRED"
value="2"
c:type="GLIB_VERSION_MIN_REQUIRED"
that appears to be the source for the line number difference - somehow one version of the header has an extra constant define, on line 124.
*** Bug 2279957 has been marked as a duplicate of this bug. *** OK, I think the next step here is an upstream bug report. We probably need to either (a) remove the integer formats from the introspection data, or else (b) define them in terms of standard macros like PRIu64. Can't decide that on a downstream issue tracker. Then we still need to figure out what's wrong with VA_COPY_AS_ARRAY in glibconfig.h.... This probably never worked, but you didn't notice because the gir files were previously in the gobject-introspection package rather than in the glib package. Upstream is suggesting building gobject-introspection with -Dgir-dir-prefix=/lib64 to force gobject-introspection to look for gir there. I'm reluctant to attempt this in F40 for fear of breaking something, but seems like a good solution for rawhide. (In reply to Michael Catanzaro from comment #11) > Upstream is suggesting building gobject-introspection with > -Dgir-dir-prefix=/lib64 to force gobject-introspection to look for gir > there. I'm reluctant to attempt this in F40 for fear of breaking something, > but seems like a good solution for rawhide. Sorry, the suggestion is to build both gobject-introspection and GLib with this option. Also, do the same in any other packages that provide architecture-specific gir files. (Who knows how many packages this would entail. We'll just have to wait for further bug reports to come in, I suppose.) Let's try this in rawhide first. I don't know if we should backport to F40 or not. Probably not, because this is only a -devel package, so it shouldn't stop anybody from running i686 applications, only from building for i686. Hi Kalev, are you OK with this plan? It means a new directory /usr/lib64/gir-1.0 Actually it looks like that plan will not work, per Simon's comments in https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/323. I re-built both glib2-devel.i686 and x86_64 by moving the gir and man files into a %package devel-common with BuildArch:noarch and I was able to install both without issues, and was able to compile 32-bit packages from there. I think I saw this solution in previous Fedora bug report on glib2 or something. Maybe that could be a solution. Don't think so. The files need to be different for each architecture. Making them noarch is not a solution for that. Running transaction Transaction failed: Rpm transaction failed. - file /usr/share/gir-1.0/GLib-2.0.gir from install of glib2-devel-2.82.2-1.fc41.i686 conflicts with file from package glib2-devel-2.82.2-1.fc41.x86_64 This is still an issue with F41. And looking at glib2-2.84.0-1.fc42 the same goes for F42. Any chance the Debian solution could be adopted for Fedora? See the following links: https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/323 https://salsa.debian.org/gnome-team/gobject-introspection/-/tree/debian/latest/debian?ref_type=heads Reason for request: Upstream Wine 10.3+ builds wine.x86_64 + wine.i686 in a single build environment which requires both x86_64 and i686 dependencies to be installed at the same time. This is not possible because Wine requirement gstreamer1.x86_64 & gstreamer1.i686 can not be installed concurrently because of the glib2.x86_64/glib2.i686 /usr/share/gir-1.0/GLib-2.0.gir conflict. I'll be happy to test a scratch build, copr or patch. If you need more info please let me know. Thanks! I'm afraid i686 issues are absolute bottom priority for me, so I won't spend time on this myself. * Ideally, somebody interested would tackle the issue upstream. * Downstream workarounds would be acceptable if relatively small and contained. This message is a reminder that Fedora Linux 40 is nearing its end of life. Fedora will stop maintaining and issuing updates for Fedora Linux 40 on 2025-05-13. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a 'version' of '40'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, change the 'version' to a later Fedora Linux version. Note that the version field may be hidden. Click the "Show advanced fields" button if you do not see it. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora Linux 40 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora Linux, you are encouraged to change the 'version' to a later version prior to this bug being closed. Fedora Linux 40 entered end-of-life (EOL) status on 2025-05-13. Fedora Linux 40 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora Linux please feel free to reopen this bug against that version. Note that the version field may be hidden. Click the "Show advanced fields" button if you do not see the version field. If you are unable to reopen this bug, please file a new report against an active release. Thank you for reporting this bug and we are sorry it could not be fixed. Still an issue in F42: Transaction failed: Rpm transaction failed. - file /usr/share/gir-1.0/GLib-2.0.gir from install of glib2-devel-2.84.2-1.fc42.i686 conflicts with file from package glib2-devel-2.84.2-1.fc42.x86_64 This message is a reminder that Fedora Linux 42 is nearing its end of life. Fedora will stop maintaining and issuing updates for Fedora Linux 42 on 2026-05-13. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a 'version' of '42'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, change the 'version' to a later Fedora Linux version. Note that the version field may be hidden. Click the "Show advanced fields" button if you do not see it. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora Linux 42 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora Linux, you are encouraged to change the 'version' to a later version prior to this bug being closed. Still an issue in F45(rawhide): Transaction failed: Rpm transaction failed. - file /usr/share/gir-1.0/GLib-2.0.gir conflicts between attempted installs of glib2-devel-2.88.1-1.fc45.i686 and glib2-devel-2.88.1-1.fc45.x86_64 Fedora Linux 42 entered end-of-life (EOL) status on 2026-05-27. Fedora Linux 42 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora Linux please feel free to reopen this bug against that version. Note that the version field may be hidden. Click the "Show advanced fields" button if you do not see the version field. If you are unable to reopen this bug, please file a new report against an active release. Thank you for reporting this bug and we are sorry it could not be fixed. |