-
Notifications
You must be signed in to change notification settings - Fork 373
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
Avoid possible link/symbol errors but defaulting all OSes to static linking of arrow #4101
Conversation
I had to make sure that we compile 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.
looks great and builds on windows
@@ -40,19 +50,17 @@ function(set_default_warning_settings target) | |||
endif() | |||
|
|||
if(CMAKE_BUILD_TYPE STREQUAL "Debug") | |||
# Debug build with fsanatize: | |||
target_compile_options(${target} PRIVATE -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fno-optimize-sibling-calls) |
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'm not sure, but I think those were added specifically because they are required for ASAN? Not sure. But why would we otherwise remove these optimizations?
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.
No, these are there to improve stack-traces in general. I'll add a comment.
What
Shared libraries have some sharp corners, especially when the libraries may be available as system libraries, which take precedence.
Note for testing:
Because this only changes the default if you have an existing build folder, this will do nothing. The default will have been cached as a persisted configuration option. To test locally either purge your build folder or manually invoke cmake with
-DRERUN_ARROW_LINK_SHARED=off
After running
just cpp-test
, confirm thatldd build/rerun_cpp/tests/rerun_sdk_tests
does not includearrow
Checklist
Test
Linux (CI)