Bug 2232294
| Summary: | perl-Wx needs a rebuild with perl(Alien::wxWidgets::Config::gtk_3_2_2_uni_gcc_3_4) | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Petr Pisar <ppisar> |
| Component: | perl-Wx | Assignee: | Tom "spot" Callaway <spotrh> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 39 | CC: | mhroncok, mspacek, perl-devel, spotrh, swt |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| URL: | https://koschei.fedoraproject.org/package/perl-Wx-GLCanvas?collection=f40 | ||
| Whiteboard: | |||
| Fixed In Version: | perl-Wx-0.9932-33.fc39 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2024-02-09 01:25:09 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: | |||
| Bug Depends On: | |||
| Bug Blocks: | 2261452 | ||
|
Description
Petr Pisar
2023-08-16 07:52:36 UTC
Petr, do you know why it happens and what the actual problem is? The output is not very helpful. (I won't be able to investigate this myself until ~September. Then, I can probably strat by bisecting the problematic update that caused this.) <mock-chroot> sh-5.2# perl Makefile.PL Searching configuration for: wxWidgets (any version) for (any toolkit); compiler compatibility: (any compiler) (any version); Available configurations: wxWidgets 3.002002 for gtk; compiler compatibility: gcc 3.4; options: no debug, unicode, no mslu <mock-chroot> sh-5.2# echo $? 2 Message about configuration is error (via die) from: Makefile.PL:wxWriteMakefile( -> /usr/lib64/perl5/vendor_perl/Wx/build/MakeMaker.pm:my %options = Wx::build::Options->get_makemaker_options( is_wxPerl_tree() ? () : ( 'saved' ) ); ---> /usr/lib64/perl5/vendor_perl/Wx/build/Options.pm:Alien::wxWidgets->load( key => $alien_key ); Where $alien_key is 'gtk_3_2_1_uni_gcc_3_4' And not found this version. There is generated file /usr/lib64/perl5/vendor_perl/Wx/build/Opt.pm
The output of this file in the system which we have:
$VAR1 = {
'extra_cflags' => '',
'extra_libs' => '',
'alien_key' => 'gtk_3_2_1_uni_gcc_3_4'
};
And we need to have gtk_3_2_2_uni_gcc_3_4
The fix is to rebuild perl-Wx package on the system, where is Wx 3.2.2
There are questions:
* How to prevent this kind of issue?
* How to report real issue from the build system in a better way? The error message is horrible.
> How to prevent this kind of issue?
We could add something like this to perl-Wx:
Requires: wxGTK = %(rpm -q wxGTK --qf='%%{VERSION}')
That way, when wxGTK is updated, we would be forced to rebuild it. The maintainer of wxGTK would obviously need to be aware of this.
However, perl-Wx-0.9932-29.fc39 was built with wxGTK 3.2.2.1-3.fc39 See https://koji.fedoraproject.org/koji/buildinfo?buildID=2248887 (In reply to Miro Hrončok from comment #5) > > How to prevent this kind of issue? > > We could add something like this to perl-Wx: > > Requires: wxGTK = %(rpm -q wxGTK --qf='%%{VERSION}') > > That way, when wxGTK is updated, we would be forced to rebuild it. The > maintainer of wxGTK would obviously need to be aware of this. Actually...perl-Alien-wxWidgets has a Provides like perl(Alien::wxWidgets::Config::gtk_3_2_2_uni_gcc_3_4), so perhaps perl-Wx should have a Requires on this exact Depends (that it was built with) instead? On the other hand, perl-Alien-wxWidgets should probably have a Requires on the exact wxGTK version it was built with. I think? In any event, I'm aware of these issues now and won't go updating wxGTK carelessly anymore. ;) Feel free to make me a co-maintainer of all these packages (perl-Alien-wxWidgets, perl-wx, perl-wx-glcanvas) and I can do rebuilds in a side tag when there's an update. (In reply to Miro Hrončok from comment #6) > However, perl-Wx-0.9932-29.fc39 was built with wxGTK 3.2.2.1-3.fc39 > > See https://koji.fedoraproject.org/koji/buildinfo?buildID=2248887 There is 'gtk_3_2_1_uni_gcc_3_4' still in /usr/lib64/perl5/vendor_perl/Wx/build/Opt.pm in this package perl-Alien-wxWidgets-0.69-24.fc39 was built with wxGTK-3.2.2.1-3.fc39 it provides perl(Alien::wxWidgets::Config::gtk_3_2_2_uni_gcc_3_4) perl-Alien-wxWidgets-0.69-23.fc38 was built with wxGTK--3.2.1-5.fc38 it provides perl(Alien::wxWidgets::Config::gtk_3_2_1_uni_gcc_3_4) perl-Wx-0.9932-29.fc39 was built with perl-Alien-wxWidgets-0.69-23.fc38 and apparently no longer functions with perl-Alien-wxWidgets-0.69-24.fc39 Hence I suppose we need to rebuild perl-Wx once more to fix this now and add the requirement on perl(Alien::wxWidgets::Config::gtk_XXX) to prevent this in the future as Scott says. With the help of some rpm dark magic, I was able to create a dynamic Requires on perl(Alien::wxWidgets::Config::gtk_$$$$) that matches what is provided by perl-Alien-wxWidgets at perl-Wx build time. This is present in perl-Wx-0.9932-33, currently in rawhide, and rebuilding now for F39. FEDORA-2024-e1f11870f6 has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2024-e1f11870f6 FEDORA-2024-e1f11870f6 has been pushed to the Fedora 39 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-e1f11870f6` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-e1f11870f6 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. FEDORA-2024-e1f11870f6 (perl-Wx-0.9932-33.fc39) has been pushed to the Fedora 39 stable repository. If problem still persists, please make note of it in this bug report. |