Bug 844813

Summary: wxWidgets needs a rebuild using current stable build-tools
Product: [Fedora] Fedora Reporter: Fritz Elfert <fritz>
Component: mingw-wxWidgetsAssignee: Thomas Sailer <fedora>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 17CC: erik-fedora, fedora, fritz, kalevlember
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-08-09 23:28:59 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:
Attachments:
Description Flags
List of installed mingw32 packages at the time of rebuilding mingw-wxWidgets
none
See comment none

Description Fritz Elfert 2012-07-31 22:14:10 UTC
Created attachment 601601 [details]
List of installed mingw32 packages at the time of rebuilding mingw-wxWidgets

Description of problem:
After uprading to F17 on one machine (and a fresh F17 install + yum update on another machine) my wxWidgets-based project fail to build with several unresolved symbols supposed to be provided by wxWidgets. Example:

===========================================================================
opennx-MySession.o: In function `ZN6RunLog5DoLogEmPKwl':
/home/felfert/Projects/NX/opennx/MySession.cpp:174: undefined reference to `_imp___ZN10wxLogChain5DoLogEmPKwl'
opennx-MySession.o:MySession.cpp:(.rdata$_ZTV6RunLog[__ZTV6RunLog]+0x18): undefined reference to `wxLog::DoLogString(wchar_t const*, long)'
===========================================================================

I had just a hunch and looked up the compiler version used for the build at

http://kojipkgs.fedoraproject.org/packages/mingw-wxWidgets/2.8.12/9.fc17/data/logs/noarch/root.log

Which is: mingw32-gcc-c++-4.7.0-0.5.20120224.fc17.x86_64
While the current released version is: mingw32-gcc-c++-4.7.0-2.fc17.x86_64
mingw-binutils differ in version too.

So I uninstalled mingw32-wxWidgets, rebuilt the unchanged original src.rpm and installed the resulting mingw32-wxWidgets-2.8.12-9.fc17.noarch.rpm and after that, the unresolved symbols were gone. So this looks like some glitch in name-mangling which is easily solved by a simple rebuild.

Version-Release number of selected component (if applicable): 2.8.12-9


How reproducible: always


Steps to Reproduce:
1. Build a wxWidgets program which uses extensive wsLog related functions.
2. 
3.
  
Actual results:
See above example

Expected results:
Should link without error

Additional info:
The output of running

 yum list installed | grep ^mingw32

on the system where I rebuilt the src.rpm is attached.

Comment 1 Fritz Elfert 2012-07-31 22:17:18 UTC
BTW:
Of course, I know that probably mingw-gcc et. al. is to blame, but since those are published for some time now, filing a bug *there* does not make much sense to me.

Comment 2 Fritz Elfert 2012-07-31 22:34:42 UTC
Created attachment 601602 [details]
See comment

I also did the following to prove the differences in name-mangling:

1. Install original mingw32-wxWidgets-2.8.12-9.fc17.noarch.rpm
2. cd /usr/i686-w64-mingw32/sys-root/mingw/lib
3. i686-w64-mingw32-nm libwx_baseu-2.8-i686-w64-mingw32.dll.a > /tmp/nm-out-original
4. Uninstall original, install local rebuild
5. i686-w64-mingw32-nm libwx_baseu-2.8-i686-w64-mingw32.dll.a > /tmp/nm-out-localbuild
6. diff -uw /tmp/nm-out-original /tmp/nm-out-localbuild > ~/nm-output.diff

The file nm-output.diff is attached.

Comment 3 Fritz Elfert 2012-07-31 22:40:07 UTC
Needless to say, that probably other C++ based mingw packages might be affected as well...

Comment 4 Fedora Update System 2012-08-01 10:46:25 UTC
mingw-wxWidgets-2.8.12-10.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/mingw-wxWidgets-2.8.12-10.fc17

Comment 5 Fedora Update System 2012-08-01 22:26:41 UTC
Package mingw-wxWidgets-2.8.12-10.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing mingw-wxWidgets-2.8.12-10.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-11378/mingw-wxWidgets-2.8.12-10.fc17
then log in and leave karma (feedback).

Comment 6 Fedora Update System 2012-08-09 23:28:59 UTC
mingw-wxWidgets-2.8.12-10.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.