Skip to content
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

[R][CI] Arrow nightly binaries require aws sdk system dependency #15040

Closed
assignUser opened this issue Dec 19, 2022 · 1 comment · Fixed by #15075
Closed

[R][CI] Arrow nightly binaries require aws sdk system dependency #15040

assignUser opened this issue Dec 19, 2022 · 1 comment · Fixed by #15075

Comments

@assignUser
Copy link
Member

Describe the bug, including details regarding any error messages, version, and platform.

It seems that #14235 introduced aws-sdk as a system dependency for the ubuntu libarrow binaries created by the R nightlies. @raulcd detected the issue while working on the cookbook: #14235 (comment) .

We confirmed that it is loading the nighly binary and not building from source https://github.com/raulcd/arrow-cookbook/actions/runs/3733167177/jobs/6333699829#step:6:2572. Changing the scripts and workflows to use bundled dependencies in any case should fix the issue.

Component(s)

Continuous Integration, R

@kou
Copy link
Member

kou commented Dec 21, 2022

It seems that we can fix this by removing --static from pkg-config command line.
I dug why we use --static. I suggested it...: #10404 (comment)
(Oh, I didn't remember...)
I reconsider the --static approach.

kou added a commit to kou/arrow that referenced this issue Dec 23, 2022
…ED=OFF

If `ARROW_BUILD_SHARED=OFF` is specified, `pkg-config --cflags --libs
arrow` doesn't work. Because `pkg-config --cflags --libs arrow` misses
build options for static linking. Users need to specify `pkg-config
--cflags --libs --static arrow` for static linking even when
`ARROW_BUILD_SHARED=OFF` is specified.

This change adds support for `pkg-config --cflags --libs arrow` with
`ARROW_BUILD_SHARED=OFF`. The command outputs build options for
linking against `libarrow.a`. But these build options don't use
static linking for dependencies. On the other hand, `pkg-config
--cflags --libs --static arrow` still use static linking for all
libraries including Apache Arrow C++ and its dependencies.

With this change, Apache Arrow R doesn't need to use `pkg-config
--static`. Because `pkg-config --cflags --libs arrow` works for both
of `libarrow.so` and `libarrow.a`.
kou added a commit that referenced this issue Dec 27, 2022
…#15075)

If `ARROW_BUILD_SHARED=OFF` is specified, `pkg-config --cflags --libs arrow` doesn't work. Because `pkg-config --cflags --libs arrow` misses build options for static linking. Users need to specify `pkg-config --cflags --libs --static arrow` for static linking even when `ARROW_BUILD_SHARED=OFF` is specified.

This change adds support for `pkg-config --cflags --libs arrow` with `ARROW_BUILD_SHARED=OFF`. The command outputs build options for linking against `libarrow.a`. But these build options don't use static linking for dependencies. On the other hand, `pkg-config --cflags --libs --static arrow` still use static linking for all libraries including Apache Arrow C++ and its dependencies.

With this change, Apache Arrow R doesn't need to use `pkg-config --static`. Because `pkg-config --cflags --libs arrow` works for both of `libarrow.so` and `libarrow.a`.
* Closes: #15040

Authored-by: Sutou Kouhei <kou@clear-code.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
EpsilonPrime pushed a commit to EpsilonPrime/arrow that referenced this issue Jan 5, 2023
…ED=OFF (apache#15075)

If `ARROW_BUILD_SHARED=OFF` is specified, `pkg-config --cflags --libs arrow` doesn't work. Because `pkg-config --cflags --libs arrow` misses build options for static linking. Users need to specify `pkg-config --cflags --libs --static arrow` for static linking even when `ARROW_BUILD_SHARED=OFF` is specified.

This change adds support for `pkg-config --cflags --libs arrow` with `ARROW_BUILD_SHARED=OFF`. The command outputs build options for linking against `libarrow.a`. But these build options don't use static linking for dependencies. On the other hand, `pkg-config --cflags --libs --static arrow` still use static linking for all libraries including Apache Arrow C++ and its dependencies.

With this change, Apache Arrow R doesn't need to use `pkg-config --static`. Because `pkg-config --cflags --libs arrow` works for both of `libarrow.so` and `libarrow.a`.
* Closes: apache#15040

Authored-by: Sutou Kouhei <kou@clear-code.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants