Bug 1218290 - libstdc++ misses std::codecvt_byname constructors
Summary: libstdc++ misses std::codecvt_byname constructors
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: mingw-gcc
Version: rawhide
Hardware: All
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Erik van Pienbroek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-05-04 14:03 UTC by Thomas Sailer
Modified: 2015-06-14 17:33 UTC (History)
4 users (show)

Fixed In Version: mingw-gcc-5.1.0-2.fc22
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-06-14 17:33:20 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
simple testcase (131 bytes, text/plain)
2015-05-04 14:03 UTC, Thomas Sailer
no flags Details
simple testcase (153 bytes, text/plain)
2015-05-04 14:12 UTC, Thomas Sailer
no flags Details

Description Thomas Sailer 2015-05-04 14:03:41 UTC
Created attachment 1021761 [details]
simple testcase

Description of problem:
libstdc++ misses std::codecvt_byname constructors

Version-Release number of selected component (if applicable):
mingw32-gcc-c++-5.1.0-1.fc23.x86_64

How reproducible:
always

Steps to Reproduce:
1.i686-w64-mingw32-g++ -o x.exe x.c

Actual results:
/tmp/ccfC6MFP.o:x.c:(.text+0x74): undefined reference to `std::codecvt_byname<wchar_t, char, int>::codecvt_byname(char const*, unsigned int)'
collect2: error: ld returned 1 exit status


Expected results:
x.exe built, silently

Comment 1 Thomas Sailer 2015-05-04 14:12:03 UTC
Created attachment 1021773 [details]
simple testcase

Comment 2 Erik van Pienbroek 2015-05-05 21:34:15 UTC
Hi Thomas,

I just tested the testcase here and it fails here when using mingw32-gcc-5.1.0-1.fc22 as well (the difference being the default c++ abi being used, on f22 it is the c++89 abi, on f23+ it is the c++11 abi). I just had a brief talk with Kai Tietz about this bug and we think this issue should be reported in upstream gcc bugtracker as we don't think it is a packaging issue. Could you please report this upstream?

Comment 3 Thomas Sailer 2015-05-05 22:30:04 UTC
Hi Erik,

It works for me using native gcc5. To me it looks like a DLL issue, not exporting the constructors, only the typeinfo. So whose scripts build the libstdc++ DLL?

Comment 4 Erik van Pienbroek 2015-05-05 22:50:29 UTC
The libstdc++ DLL is built as part of the regular 'make' of gcc as can be observed at http://pkgs.fedoraproject.org/cgit/mingw-gcc.git/tree/mingw-gcc.spec#n279 (from line 279 to 342). We aren't doing anything special

Comment 5 Thomas Sailer 2015-05-05 23:36:20 UTC
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66030

Comment 6 Thomas Sailer 2015-06-01 16:13:08 UTC
Could you please recompile gcc with the following patch:

https://gcc.gnu.org/bugzilla/attachment.cgi?id=35668&action=edit

Comment 7 Erik van Pienbroek 2015-06-01 16:22:54 UTC
Not yet, upstream has indicated in that bug report that the fix is wrong

Comment 8 Thomas Sailer 2015-06-09 09:38:07 UTC
A patch for this is now in upstream cvs.

URL: https://gcc.gnu.org/viewcvs?rev=224273&root=gcc&view=rev
Log:
        PR libstdc++/66030
        * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
        for mingw32.

Comment 9 Erik van Pienbroek 2015-06-09 10:38:01 UTC
Yeah I noticed it too, I'll prepare an updated package later today

Comment 10 Erik van Pienbroek 2015-06-11 14:57:17 UTC
Could you test if http://koji.fedoraproject.org/koji/taskinfo?taskID=10014419 resolves the issue for you?

Comment 11 Thomas Sailer 2015-06-11 18:38:17 UTC
I can now build boost again, so works for me.

Comment 12 Fedora Update System 2015-06-11 22:40:20 UTC
mingw-gcc-5.1.0-2.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/mingw-gcc-5.1.0-2.fc22

Comment 13 Erik van Pienbroek 2015-06-11 22:40:49 UTC
This package is now also available as buildroot override for Fedora 22

Comment 14 Fedora Update System 2015-06-14 17:33:20 UTC
mingw-gcc-5.1.0-2.fc22 has been pushed to the Fedora 22 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.