-
-
Notifications
You must be signed in to change notification settings - Fork 12.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
stk-4.5.0 enable C++11 #8828
stk-4.5.0 enable C++11 #8828
Conversation
Does this have any appreciable difference on post-10.9 builds? Just wondering if we should guard this with a version check if it changes the library in any serious ways. |
To my understanding, only 10.8 and lower would benefit (or perhaps more accurately Not all formulas with this flag have this check enabled. |
More about this problem is available here: Homebrew/legacy-homebrew#30512 Note, 10.9 is so old now that it is my understanding that all libraries are built from source ( The project that is being built has the following brew dependencies:
Stk is currently the only package on 10.9 which causes |
So in the case of this project,
Tests macOS 10.11, Xcode 7.3 b3
What other scenarios can I help test?
I think the safe answer is, no, no appreciable difference. |
That's the default standard library on < 10.9 so you should continue to use that. Another option is to add |
Isn't this presumptuous?
But it's Is there a way to simply force the formula to use
I'm neither qualified nor an authority to make this call. |
No. macOS ships with a given standard library.
libc++ isn't provided on all versions of macOS and it's horribly broken on some older versions.
I'm not sure what this means.
That's fine, I am. Let's just make this |
I'm building on 10.8, Xcode 5.5, will that work?
I'll paraphrase. If I add
Ok. So do we just hand-patch this? If so, we can link to the commit in our documentation and close this out, but I found other formulas using this technique too, so I'm not sure what the approval process looks like. |
In that case it won't allow you to build, no.
We don't support using libc++ in this way on those older versions.
It does. As a package manager, though, we need to use a consistent standard library to avoid issues.
You shouldn't be building in Homebrew at all to run on older OSs.
Yes, please. |
Can you please expand on this statement? |
@tresf We try very hard to build optimised for a single platform and, ideally, single computer. If you want to support older versions of macOS I'd advise building outside of Homebrew where you have more control over the environment. |
Thanks for the advice. Although this sounds great in practice, large projects ( > 0.5m lines of code) rely on solid package managers like Homebrew for resolving dependency problems. Since XCode does not offer backwards compatibility option, packagers need to have simple, well-defined steps for various environments and Homebrew is a part of those steps for many large projects. So regardless of whether or not this |
Allows pre-10.9 clangs to build stk in C++11 mode
To use before merged (as long as this PR is still open):
If this PR is merged, you should update your homebrew.
Fixes
CXX
compile error:Linking CXX shared module Undefined symbols for architecture x86_64: