Bug 844813 - wxWidgets needs a rebuild using current stable build-tools
Summary: wxWidgets needs a rebuild using current stable build-tools
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: mingw-wxWidgets
Version: 17
Hardware: Unspecified
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Thomas Sailer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-07-31 22:14 UTC by Fritz Elfert
Modified: 2012-08-09 23:28 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-08-09 23:28:59 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
List of installed mingw32 packages at the time of rebuilding mingw-wxWidgets (2.45 KB, text/plain)
2012-07-31 22:14 UTC, Fritz Elfert
no flags Details
See comment (7.27 KB, patch)
2012-07-31 22:34 UTC, Fritz Elfert
no flags Details | Diff

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.


Note You need to log in before you can comment on or make changes to this bug.