-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
ARROW-17692: [R] Add support for building with system AWS SDK C++ #14235
Conversation
r/configure
Outdated
# We're depending on openssl/curl/AWS SDK from the system, so they're not in the bundled deps | ||
BUNDLED_LIBS="$BUNDLED_LIBS -lssl -lcrypto -lcurl -laws-cpp-sdk-identity-management -laws-cpp-sdk-sts -laws-cpp-sdk-cognito-identity -laws-cpp-sdk-s3 -laws-cpp-sdk-core -laws-c-event-stream -laws-checksums -laws-c-common" |
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 seems fine, but I honestly am very confused what BUNDLED_LIBS
is supposed to represent (or, why aren't we just adding them to PKG_LIBS
?). Maybe it's that these are the dependencies of what is in the bundled libraries, so they need to after when linking?
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.
- We need to add AWS SDK C++ related
-lXXX
s only when Apache Arrow C++ is built with system AWS SDK C++ (If we can requirearrow.pc
, we can implement it simply...) - We need to add AWS SDK C++ related
-lXXX
s before-lssl -lcrypto -lcurl
because AWS SDK C++ depend on-lssl -lcrypto -lcurl
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 we can use pkg-config to detect what libs are required from the system. In fact, we already do on L187. So is the right fix in the arrow.pc file? (Or probably in the pkg-config file that aws-sdk-cpp produces?)
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. Then I can work on the arrow.pc
fix. We need to improve Apache Arrow C++'s CMake codes for it.
(Or probably in the pkg-config file that aws-sdk-cpp produces?)
Unfortunately, AWS SDK C++ doesn't provide .pc
files...
21ce97e
to
37f7829
Compare
@github-actions crossbow submit -g r |
This comment was marked as outdated.
This comment was marked as outdated.
@github-actions crossbow submit -g r |
This comment was marked as outdated.
This comment was marked as outdated.
ef5da47
to
58810ee
Compare
@github-actions crossbow submit -g r |
This comment was marked as outdated.
This comment was marked as outdated.
@github-actions crossbow submit -g r |
This comment was marked as outdated.
This comment was marked as outdated.
@github-actions crossbow submit -g r |
This comment was marked as outdated.
This comment was marked as outdated.
ce7b7f8
to
89fd5e0
Compare
@github-actions crossbow submit -g r |
This comment was marked as outdated.
This comment was marked as outdated.
@github-actions crossbow submit -g r |
This comment was marked as outdated.
This comment was marked as outdated.
@github-actions crossbow submit -g r |
This comment was marked as outdated.
This comment was marked as outdated.
@github-actions crossbow submit -g r |
This comment was marked as outdated.
This comment was marked as outdated.
@github-actions crossbow submit -g r |
This comment was marked as outdated.
This comment was marked as outdated.
0ebbdda
to
6be7d82
Compare
@github-actions crossbow submit -g r |
1003ccb
to
2ee02b6
Compare
@github-actions crossbow submit -g r |
Revision: 2ee02b6 Submitted crossbow builds: ursacomputing/crossbow @ actions-52774bb977 |
Failures are unrelated because they are happen in nightly CI too. I merge this. |
Benchmark runs are scheduled for baseline = 89d9fa3 and contender = dca8c07. dca8c07 is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
Are there new dependencies required to build due to this PR? I can see the job for our cookbooks fail if I use the nightlies:
This PR could be related right? This is the workflow definition: https://github.com/apache/arrow-cookbook/blob/main/.github/workflows/test_r_cookbook.yml#L47 |
I'll fix it on the cookbooks, I've tested adding the dependencies on a PR I am already working on. |
@raulcd afaik it should also work to add |
Oh... I didn't notice that these libraries are required with pre-built Apache Arrow C++ binaries... It seems that I should implement the following:
Could you install https://github.com/apache/arrow/pull/14235/files#diff-8a7b064de580a41c3d6212eeeef79930236caf01b58c73407c84fec929b39260R62-R74 for now? |
…#15111) Add new dependencies to windows builds following apache#14235 * Closes: apache#15110 Authored-by: Jonathan Keane <jkeane@gmail.com> Signed-off-by: Jacob Wujciak-Jens <jacob@wujciak.de>
This PR uses "pkg-config --static ... arrow" to collect build flags. "pkg-config --static ... arrow" reports suitable build flags that depend on build options and used libraries for Apache Arrow C++. This works with the system AWS SDK C++.