On Mon, 2015-10-26 at 11:29 +0000, Tom Hughes wrote:
On 26/10/15 11:23, Peter Robinson wrote:
On Mon, Oct 26, 2015 at 11:13 AM, Marek Skalický mskalick@redhat.com wrote:
Hello everyone, I would like to ask what do you think about enabling c++11 in library in F22? Is it permitted by Fedora guidelines?
I am asking because of this bug - https://bugzilla.redhat.com/show_bug.cgi?id=1274307 . And I want to know the opinion of someone else, to decide.
It was explicitly not enabled in F-22 because it's not backwards compatible and required a mass rebuild for all c++ applications. It's enabled by default, and we had a mass rebuild as a result, in Fedora 23. As a result of the impact we won't be making such changes for a release that is long GA.
You're confusing two different things, though without knowing what that configure patch actually does we can't know what the answer is here.
There is, as far as I know, no problem using -std=c++11 in F22 or any other version of Fedora, it's just that the result might not be fully standards compliant.
Specifically in F22 there are two minor changes which require a change to the library ABI and as F22 was built with the old ABI you won't get those changes. Neither should affect whether code compiles and works though.
So the only thing you must not do in F22 is to set the define that selects the new ABI but you would probably find out quite quickly as you did as you would fail to link if you used any other C++ libraries that had been built with the old ABI.
Which is why I say we need to know what the configure flag does - my guess is that it just sets -std=c++11 which is fine. If it also sets the define to select the new ABI then that might be a problem.
Yes it only set -std=c++11. However there could be some problem with linking application with -std=c++1 to driver library built without -std=c++11 - upstream bug https://jira.mongodb.org/browse/CXX-458 F22 is not too old to thinks like this? (to force dependent application to rebuild,...)? Or is the mentioned bug only problem of different ABIs and without changing value of _GLIBCXX_USE_CXX11_ABI there couldn't be any problem?
Thanks, Marek
Tom
-- Tom Hughes (tom@compton.nu) http://compton.nu/