On Wed, Jan 14, 2015 at 9:12 PM, Zhiwei Zhu <z_zhu@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