-
Notifications
You must be signed in to change notification settings - Fork 3.9k
GH-47748: [C++][Dataset] Fix link error on macOS #47749
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
Conversation
|
|
raulcd
left a comment
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.
This is beyond my comprehension, but is this because of a change we have introduced recently?
I am happy for this to be merged, just trying to understand :)
|
No... It was introduced in 2022...: #13911 BTW, this was not enough: https://github.com/kou/arrow-java/actions/runs/18334827827/job/52217628114#step:12:2474 It seems that we need the Network framework too. |
|
https://github.com/kou/arrow-java/actions/runs/18334827827/job/52321140360#step:12:2475
|
|
Fixed: https://github.com/kou/arrow-java/actions/runs/18370527401/job/52334724160#step:12:2489 This is ready. This error is another problem that should be fixed in apache/arrow-java: https://github.com/kou/arrow-java/actions/runs/18370527401/job/52334724160#step:12:2535 |
| compute/kernels/scalar_temporal_binary.cc | ||
| compute/kernels/scalar_temporal_unary.cc | ||
| compute/kernels/scalar_validity.cc | ||
| compute/kernels/temporal_internal.cc |
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.
that's a good find! Thanks for the fix!
Does this kernel has to be part of libarrow core, can't it be part of libarrow_compute instead? Maybe @rok
We should try to keep on libarrow only the core kernels (like cast, etcetera) that are required for libarrow.
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 think that we need this in libarrow.so because
| #include "arrow/compute/kernels/temporal_internal.h" |
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.
ok, let's merge this and maybe we could explore whether this is "really necessary" as a core kernel on a separate issue? @rok ?
### Rationale for this change There are link errors with build options for JNI on macOS. ### What changes are included in this PR? `ARROW_BUNDLED_STATIC_LIBS` has CMake target names defined in Apache Arrow not `find_package()`-ed target names. So we should use `aws-c-common` not `AWS::aws-c-common`. Recent aws-c-common or something use the Network framework. So add `Network` to `Arrow::arrow_bundled_dependencies` dependencies. Don't use `compute/kernels/temporal_internal.cc` in `libarrow.dylib` and `libarrow_compute.dylib` to avoid duplicated symbols error. ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. * GitHub Issue: #47748 Authored-by: Sutou Kouhei <[email protected]> Signed-off-by: Raúl Cumplido <[email protected]>
|
After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit 7700dd4. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. |
### Rationale for this change There are link errors with build options for JNI on macOS. ### What changes are included in this PR? `ARROW_BUNDLED_STATIC_LIBS` has CMake target names defined in Apache Arrow not `find_package()`-ed target names. So we should use `aws-c-common` not `AWS::aws-c-common`. Recent aws-c-common or something use the Network framework. So add `Network` to `Arrow::arrow_bundled_dependencies` dependencies. Don't use `compute/kernels/temporal_internal.cc` in `libarrow.dylib` and `libarrow_compute.dylib` to avoid duplicated symbols error. ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. * GitHub Issue: apache#47748 Authored-by: Sutou Kouhei <[email protected]> Signed-off-by: Raúl Cumplido <[email protected]>
Rationale for this change
There are link errors with build options for JNI on macOS.
What changes are included in this PR?
ARROW_BUNDLED_STATIC_LIBShas CMake target names defined in Apache Arrow notfind_package()-ed target names. So we should useaws-c-commonnotAWS::aws-c-common.Recent aws-c-common or something use the Network framework. So add
NetworktoArrow::arrow_bundled_dependenciesdependencies.Don't use
compute/kernels/temporal_internal.ccinlibarrow.dylibandlibarrow_compute.dylibto avoid duplicated symbols error.Are these changes tested?
Yes.
Are there any user-facing changes?
Yes.
ArrowConfig.cmakemisses some system dependencies on macOS #47748