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
extend/ENV/super: avoid adding llvm
to HOMEBREW_LIBRARY_PATHS
#17104
Conversation
This leads to undesired linkage with LLVM's `libunwind` (because it shadows the system's `libunwind`). See, for example, Homebrew/homebrew-core#169354.
Does this still work OK for things that link to libLLVM/libclang? |
Haven't tested, but I'd be shocked if it didn't for nearly all of them, since they usually use flags from a CMake config file (or from |
Makes sense yeah |
Yea, seems to not break things (tried |
I agree. You should only use LLVM libunwind if you absolutely need it - not by default. Like how we did with libc++, which might itself be something that uses LLVM libunwind. |
Cool. Let's do that. At that stage, though, it makes me wonder if LLVM needs to be keg-only anymore. (All remaining libs in the |
The executables will shadow system clang which we don't want. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just tested this pull request and can confirm that it avoids unintended linkage with libunwind for formulae in my 3rd-party tap and will resolve osrf/homebrew-simulation#2639 once I rebuild the bottles after this is merged.
Please let me know if there's any further testing I can assist with.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @carlocab! I think it's worth undrafting and merging as-is given it fixes some cases and we can always iterate on a better fix later.
brew style
with your changes locally?brew typecheck
with your changes locally?brew tests
with your changes locally?This leads to undesired linkage with LLVM's
libunwind
(because itshadows the system's
libunwind
).See, for example, Homebrew/homebrew-core#169354.