Add storage module from google-cloud-cpp to build system#82881
Add storage module from google-cloud-cpp to build system#82881
Conversation
- nlohmann's json - crc32c Also silence CMP0177 policy
f112099 to
c6f3391
Compare
This is just to check that the CI builds ok. TODO: revert this commit before merging
c6f3391 to
6c95be2
Compare
This reverts commit 6c95be2.
Maybe we can enable it for debug builds only? (it should build all examples) |
That makes sense. I've created a separate PR to address that: #82905 |
This reverts commit 80b3de5.
Originally it was a copy of a subset of crc32c's CMake. I didn't want to change too much to ease syncing, but let's tidy it up to keep unecessary stuff out.
@azat I reverted the example on purpose because as it is right now we're not even building google-cloud-cpp anyway. It's only built for ClickHouse Cloud. I'll have to modify that in my next PR once we have something in public that actually uses the SDK, though. I've brought back the example after simplifying the crc32c's CMake to ensure it's still working for all flavors, but my idea is to revert it once again once the CI is green.
And you are right. I did it following your comments. Thanks for the thoughtful review on that. |
Yep, but what I meant is that it will be nice to have some binary that will use storage API to ensure that everything at least links correctly (since clickhouse binary does not use storage API AFAIU) But I am not insist, I'm OK with your approach as well. |
Use ENABLE_GOOGLE_CLOUD_CPP_KMS=1 to enable building KMS module of Google Cloud Cpp.
|
@azat, @rschu1ze please take another look whenever you can. Of course, ai-cpp-sdk was landed recently and it include yet another own version of nlohmann's JSON. But seems to be a patched version, so I decided to change its name to avoid a clash. |
This reverts commit fe6e511.
This reverts commit a3cae01.
| /home/ubuntu/actions-runner/_work/ClickHouse/ClickHouse/contrib/crc32c/src/crc32c_arm64.cc:87:20: error: always_inline function 'vmull_p64' requires target feature 'aes', but would be inlined into function 'ExtendArm64' that is compiled without support for 'aes' | 87 | t1 = (uint64_t)vmull_p64(crc1, k1); | | ^ | /home/ubuntu/actions-runner/_work/ClickHouse/ClickHouse/contrib/crc32c/src/crc32c_arm64.cc:88:20: error: always_inline function 'vmull_p64' requires target feature 'aes', but would be inlined into function 'ExtendArm64' that is compiled without support for 'aes' | 88 | t0 = (uint64_t)vmull_p64(crc0, k0); | | ^
* [GLUTEN-1632][CH]Daily Update Clickhouse Version (20250720) * Fix gtest due to ClickHouse/ClickHouse#83599 * fxi build due to ClickHouse/ClickHouse#83631 * Fix Build due to ClickHouse/ClickHouse#83294 * Fix Build due to ClickHouse/ClickHouse#82881 --------- Co-authored-by: kyligence-git <gluten@kyligence.io> Co-authored-by: Chang chen <chenchang@apache.com>
Preparation work for adding native GCS table function/engine
Add storage module from google-cloud-cpp to build system:
ENABLE_GOOGLE_CLOUD_CPPfor Storage (and others that may come in the future) andENABLE_GOOGLE_CLOUD_CPP_KMSforKMSwhich is only used in privateci-buildlabel support to avoid running all tests. Reasoning is that in order to build darwin and freebsd, all tests are blocking them and sometimes (as in this case) we are only interested in buildsCheck that gcloud_storage example builds and links for Linux, macOS and FreeBSD for archs x86_64 and aarch64
I added to
build_clickhouse.pytheDENABLE_EXAMPLESfor all flavors to ensure they work ok. In macOS and FreeBSD the field example builds linking, but it's unrelated to these changes.https://s3.amazonaws.com/clickhouse-test-reports/json.html?PR=82881&sha=73242ae58fc8157e4b60379d2f4bce2576537360&name_0=PR
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Add storage module from google-cloud-cpp to build system
Documentation entry for user-facing changes