Bug 1190971

Summary: wxGTK appliactions FTBFS: Mismatch between the program and library build versions detected.
Product: [Fedora] Fedora Reporter: Petr Pisar <ppisar>
Component: wxGTKAssignee: Petr Pisar <ppisar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: dan, htl10, i, orion, rdieter, swt
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://ppisar.fedorapeople.org/perl_rebuild/scratch/2015-02-09/index.xhtml#pperl-PPI-Tester
Whiteboard:
Fixed In Version: wxGTK-2.8.12-14.fc22 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-18 10:39:26 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 Petr Pisar 2015-02-10 07:18:44 UTC
perl-PPI-Tester-0.15-4.fc22 fails to build in F22:

+ xvfb-run -a make test
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t
Fatal Error: Mismatch between the program and library build versions detected.
The library used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.4,compatible with 2.6),
and your program used 2.8 (no debug,Unicode,compiler with C++ ABI 999999,wx containers,compatible with 2.4,compatible with 2.6).
t/01_compile.t .. 
Failed 2/3 subtests 
t/97_meta.t ..... skipped: Author tests not required for installation
t/98_pod.t ...... skipped: Author tests not required for installation
t/99_pmv.t ...... skipped: Author tests not required for installation
Test Summary Report
-------------------
t/01_compile.t (Wstat: 134 Tests: 1 Failed: 0)
  Non-zero wait status: 134
  Parse errors: Bad plan.  You planned 3 tests but ran 1.
Files=4, Tests=1,  0 wallclock secs ( 0.02 usr  0.00 sys +  0.20 cusr  0.02 csys =  0.24 CPU)
Result: FAIL

This is caused by building wxGTK library and wxGTK applications by GCCs with different C++ ABI strings. GCC 5.0 changed C++ ABI signature from "1002" to "999999".

The Reproducer is to keep old wxGTK, rebuild perl-Wx and then run a perl-Wx application.

The error message comes from wxGTK's wxAppConsole::CheckBuildOptions() at src/common/appbase.cpp:424.

I saw similar bug in xapian-core which has already been rebuilt. If you do not object, I will rebuild wxGTK to catch this incompatibility in other reverse dependencies as soon as possible.

Comment 1 Petr Pisar 2015-02-12 13:13:18 UTC
I will rebuild wxGTK and perl-Wx in rawhide only.

Comment 2 Christopher Meng 2015-02-25 02:58:22 UTC
Thanks!

Comment 3 Petr Pisar 2015-02-25 11:16:47 UTC
GCC changed the C++ ABI string from "9999" back to "1008" somewhere between 5.0.0-0.11 and 5.0.0-0.15. We have to rebuild the packages again.

Comment 4 Petr Pisar 2015-02-25 13:46:53 UTC
wxGTK is rebuilt. However koji has difficulties to distribute build root to builders right now, so I have to wait for fixing it to be able to rebuild perl-Wx.

Comment 5 Christopher Meng 2015-02-26 02:54:30 UTC
(In reply to Petr Pisar from comment #3)
> GCC changed the C++ ABI string from "9999" back to "1008" somewhere between
> 5.0.0-0.11 and 5.0.0-0.15. We have to rebuild the packages again.

Yes! That's what I forgot to ask here, now my wxgtk packages are broken because I'm stumbling on rawhide, thanks again.

Comment 6 Rex Dieter 2015-03-10 23:51:57 UTC
Fwiw, f22 seems to have a similar problem:

Fatal Error: Mismatch between the program and library build versions detected.  The library used
2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.4,compatible with 2.6),
and your program used
2.8 (no debug,Unicode,compiler with C++ ABI 1008,wx containers,compatible with 2.4,compatible with 2.6).

I've kicked off a fresh wxGTK build (so I can build gdl, the pkg that generated those errors above)

Comment 7 Petr Pisar 2015-03-11 11:40:15 UTC
*** Bug 1200611 has been marked as a duplicate of this bug. ***

Comment 8 Rex Dieter 2015-03-11 12:49:51 UTC
wxGTK-2.8.12-14.fc22 built and a buildroot override for ~7 days I think.

Looks like there's a fair number of other packages that depend on wxGTK that need rebuilding (besides gdl).  I'll leave those for you/others for now (I may come back later with more time to help).

Comment 9 Fedora Update System 2015-03-11 12:56:57 UTC
wxGTK-2.8.12-14.fc22,perl-Wx-0.9923-2.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/wxGTK-2.8.12-14.fc22,perl-Wx-0.9923-2.fc22

Comment 10 Orion Poplawski 2015-03-11 15:09:56 UTC
Can we just rip out the abi check from wxGTK (and hopefully get upstream to do the same)?

Comment 11 Petr Pisar 2015-03-11 15:13:19 UTC
(In reply to Orion Poplawski from comment #10)
> Can we just rip out the abi check from wxGTK (and hopefully get upstream to
> do the same)?

I don't know. Please reopen the bug #1200611 and refrain the subject as feature request.

Comment 12 Petr Pisar 2015-03-11 15:13:57 UTC
s/refrain/rephrase/

Comment 13 Fedora Update System 2015-03-13 17:27:34 UTC
Package wxGTK-2.8.12-14.fc22, perl-Wx-0.9923-2.fc22:
* should fix your issue,
* was pushed to the Fedora 22 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing wxGTK-2.8.12-14.fc22 perl-Wx-0.9923-2.fc22'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-3805/wxGTK-2.8.12-14.fc22,perl-Wx-0.9923-2.fc22
then log in and leave karma (feedback).

Comment 14 Fedora Update System 2015-03-18 10:39:26 UTC
wxGTK-2.8.12-14.fc22, perl-Wx-0.9923-2.fc22 has been pushed to the Fedora 22 stable repository.  If problems still persist, please make note of it in this bug report.