-
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-14506: [C++] Conda support for google-cloud-cpp #11851
ARROW-14506: [C++] Conda support for google-cloud-cpp #11851
Conversation
This PR adds support for `google-cloud-cpp` to the Conda files. Probably the most difficult change to grok is the change to compile with C++17 when using Conda: - Conda defaults all its builds to C++17, [this bug](conda/conda-build#3375) goes into some detail as to why. - Arrow defaults to C++11 if no `CMAKE_CXX_STANDARD` argument is provided. - Abseil's ABI changes when used from C++11 vs. C++17, see abseil/abseil-cpp#696 - Therefore, one must compile with C++17 to use Abseil in Conda. - And because `google-cloud-cpp` has a direct dependency on Abseil, exposed through the headers, one must use C++17 to use `google-cloud-cpp` too.
@@ -58,6 +58,7 @@ cmake \ | |||
-DARROW_DEPENDENCY_SOURCE=SYSTEM \ | |||
-DARROW_FLIGHT=ON \ | |||
-DARROW_FLIGHT_REQUIRE_TLSCREDENTIALSOPTIONS=ON \ | |||
-DARROW_GCS=ON \ | |||
-DARROW_HDFS=ON \ |
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.
The meta.yml must also contain the google-cloud-cpp
host dependency.
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.
Done. I suspect this may break things (see below).
# specific language governing permissions and limitations | ||
# under the License. | ||
|
||
google-cloud-cpp>=1.34.0 |
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.
Is google-cloud-cpp
only supported on linux?
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.
google-cloud-cpp
is supported on Linux, Windows and macOS. The Conda packages only work on Linux and macOS:
conda-forge/google-cloud-cpp-feedstock#76
If needed, I am happy to fix the Conda package first and then resubmit this PR.
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 would certainly simplify this PR. Until that we can use the bundled google-cloud-cpp.
Closing until the Conda packages are fixed. |
This PR adds support for
google-cloud-cpp
to the Conda files.Probably the most difficult change to grok is the change to compile with
C++17 when using Conda:
this bug goes into
some detail as to why.
CMAKE_CXX_STANDARD
argument isprovided.
Abseil should install w/ the correct base/options.h abseil/abseil-cpp#696
google-cloud-cpp
has a direct dependency on Abseil,exposed through the headers, one must use C++17 to use
google-cloud-cpp
too.