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.
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.
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.
Needless to say, that probably other C++ based mingw packages might be affected as well...
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
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).
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.