Hi Dave, Thanks for your response.
It seems few projects have started to enable c++11 or have ever encountered the c+11 ABI compatibility issues. Though I do find some real world case like us by googling: http://lists.dune-project.org/pipermail/dune/2012-June/011533.html http://www.gossamer-threads.com/lists/engine?do=post_view_flat;post=281727;page=1;mh=-1;list=gentoo;sb=post_latest_reply;so=ASC The problem is: 1. If your C++ project want to enable the option “std=c++11” when compiling, all the C++ libraries chain your project link to should be built with this option too (including boost). 2. If above requirement is not met, it is unsafe. Unsafe doesn’t mean factual problems. Your process might still work fine even above criteria is not met. 3. But when there is problem, it might be difficult to realize that that is cause by this, because often what you get is unexpected crash with confusing stack. Hope I can hear more suggestions/opinions on this problem. ------------------------------ Best Regards Jacky From: epel-devel-boun...@lists.fedoraproject.org [mailto:epel-devel-boun...@lists.fedoraproject.org] On Behalf Of Dave Johansen Sent: Friday, 16 January 2015 2:16 AM To: EPEL Development List Subject: Re: [EPEL-devel] Questiona regarding c++11 support On Wed, Jan 14, 2015 at 9:12 PM, Zhiwei Zhu <z_...@wargaming.net<mailto:z_...@wargaming.net>> wrote: Dear all, I am not sure whether this has been discussed before or whether it’s appropriate to discuss this in this list. My question is about c++11 support for the projects on epel (probably more specifically, epel7). Do we have any kind of general policy regarding c++11 support? I am asking this because recently we encountered a problem related to this. The case is that our project is built with option ‘-std=c++11’ while the library used by our project on epel (specifically mongo-cxx-driver) was not built with this option, and our process simply crashes during start. The root cause is the ABI built with c++11 option is actually not compatible with that without it. Please refer to https://gcc.gnu.org/wiki/Cxx11AbiCompatibility. So the ‘-std=c++11’ draws a clear line between binaries/libraries, all of them must be built either with it or without it(C code is probably fine). You cannot mix them togother, otherwise there might be risks. Is there any general policy regarding this c++11 support? Or just maintainers make the decision for specific project? If the question is not approriate to discuss in this list, please ignore it. Or if anyone has any idea about where I can find relevant information, could you please share with me? devtoolset seems to be the right solution for C++11 support because it offers better ABI compatibility ( see section 2.2.2 at https://access.redhat.com/documentation/en-US/Red_Hat_Developer_Toolset/3/html/3.0_Release_Notes/DTS3.0_Release.html#Features ). However, having said that, I previously brought up the idea of making the devtoolset available for use in the EPEL ( https://lists.fedoraproject.org/pipermail/epel-devel/2013-September/008737.html ) but the conversation never really picked up any traction. I would definitely love to see devtoolset be made available for use when building packages in the EPEL but I'm just not sure how to get that ball rolling. Dave [wargaming.net] EgzO3mXGcK This e-mail may contain CONFIDENTIAL AND PROPRIETARY INFORMATION and/or PRIVILEGED AND CONFIDENTIAL COMMUNICATION intended solely for the recipient and, therefore, may not be retransmitted to any party outside of the recipient's organization without the prior written consent of the sender. If you have received this e-mail in error please notify the sender immediately by telephone or reply e-mail and destroy the original message without making a copy. Wargaming.net accepts no liability for any losses or damages resulting from infected e-mail transmissions and viruses in e-mail attachment. kgzO3mXGcg
_______________________________________________ epel-devel mailing list epel-devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/epel-devel